作者 主題: 一個表單資料,同時送兩個網頁的方法?  (閱讀 8651 次)

0 會員 與 1 訪客 正在閱讀本文。

cv86092

  • 懷疑的國中生
  • **
  • 文章數: 49
    • 檢視個人資料
    • http://mic101.idv.st
<script language="javascript">

function start_post() {
hello.target="_blank";
hello.action="echo.php";
hello.submit();

hello.target="_blank";
hello.action="echo1.php";
hello.submit();
}
</script>

<form name="hello" method="post">
<input .....>
<input name="submit" type="submit" onClick="start_post()">
</from>

form 的資料丟到echo.php 和 echo1.php 處理兩個不同的資料庫,
以上大概為找了一下搜尋上的資料,有人提供的寫法
但是試了之後,javascript 裡只會執行第一個submit,
也就是只會丟 echo.php,echo1.php 就沒有收到,問題是出在
那裡呢 ?!

Yamaka

  • 俺是博士!
  • *****
  • 文章數: 4913
    • 檢視個人資料
    • http://www.ecmagic.com
一個表單資料,同時送兩個網頁的方法?
« 回覆 #1 於: 2007-10-25 17:11 »
1. 如果 echo.php, echo1.php 在同一台主機內, 為何要送兩次??  直接在同一個 script 裡將資料存到兩個資料庫就好啊!!


2. 如果不在同一台主機, 可以用 ajax 來處理, 或是由第一個 script 處理完資料後, 直接將資料傳給第二個 script 處理!

micmic3

  • 俺是博士!
  • *****
  • 文章數: 1693
    • 檢視個人資料
Re: 一個表單資料,同時送兩個網頁的方法?
« 回覆 #2 於: 2007-10-26 09:20 »
引述: "cv86092"
<script language="javascript">

function start_post() {
hello.target="_blank";
hello.action="echo.php";
hello.submit();

hello.target="_blank";
hello.action="echo1.php";
hello.submit();
}
</script>

<form name="hello" method="post">
<input .....>
<input name="submit" type="submit" onClick="start_post()">
</from>


可以用另一個 form name="hello2" target="xxx", input 的type 都用 hidden
name 都跟 hello的一樣,把hello2.submit
--
不過應該是在echo.php 最下面直接 include echo1.php就可以了

cv86092

  • 懷疑的國中生
  • **
  • 文章數: 49
    • 檢視個人資料
    • http://mic101.idv.st
一個表單資料,同時送兩個網頁的方法?
« 回覆 #3 於: 2007-10-26 14:56 »
正確應該說 echo.php 在一台主機 而 echo1 是用jsp 寫在另一台主機上的 echo1.jsp,

而我的權限只在 php 的主機上,jsp 是在廠商那裡,所以他只叫我把變數丟過去,而我自己也要留一份資料,傷腦筋是在這裡。

後來試了一下 如果echo.php echo1.jsp 在同一台主機,我這個寫法就收得到,如果是在不同的主機,則只會接受放在後面的 echo1.jsp,
放在前面的 echo.php 則無回應。不知還有沒有別的想法。

Yamaka

  • 俺是博士!
  • *****
  • 文章數: 4913
    • 檢視個人資料
    • http://www.ecmagic.com
一個表單資料,同時送兩個網頁的方法?
« 回覆 #4 於: 2007-10-26 15:08 »
一開始就應該說清楚環境啊~~~


方式一:

你可以先將表單資料傳到你的 echo.php,

然後在 echo.php 開 sock 連到 echo1.jsp 丟資料..

micmic3

  • 俺是博士!
  • *****
  • 文章數: 1693
    • 檢視個人資料
一個表單資料,同時送兩個網頁的方法?
« 回覆 #5 於: 2007-10-26 15:49 »
引述: "yamaka"
一開始就應該說清楚環境啊~~~


方式一:

你可以先將表單資料傳到你的 echo.php,

然後在 echo.php 開 sock 連到 echo1.jsp 丟資料..

curl or socket_open

cv86092

  • 懷疑的國中生
  • **
  • 文章數: 49
    • 檢視個人資料
    • http://mic101.idv.st
一個表單資料,同時送兩個網頁的方法?
« 回覆 #6 於: 2007-11-01 17:35 »
後來試出來的結果,沒辦法在 javascript 裡同時 post 二個網頁
例如︰同時post  echo1.php & echo2.php 後,本身的client 端
            只會回應 syn-ack 先到的那一個page   ,例如 echo1.php
         syn-ack 先到的話,就只會回應 echo1.php,echo2.php 傳
            回的就不會回應。(還在想為什麼)

所以必須client 端先 post 到 echo1.php,echo1.php 再作一個hidden
的form ,接收參數後,再自動submit 到echo2.php ,解決這個問題。

當然啦..如果echo1.php 掛掉的話,就無法到echo2.php。

Darkhero

  • 酷!學園 學長們
  • 俺是博士!
  • *****
  • 文章數: 3728
  • 性別: 男
    • 檢視個人資料
    • ㄚ凱隨手紀
一個表單資料,同時送兩個網頁的方法?
« 回覆 #7 於: 2007-11-01 18:04 »
引述: "cv86092"
後來試出來的結果,沒辦法在 javascript 裡同時 post 二個網頁
例如︰同時post  echo1.php & echo2.php 後,本身的client 端
            只會回應 syn-ack 先到的那一個page   ,例如 echo1.php
         syn-ack 先到的話,就只會回應 echo1.php,echo2.php 傳
            回的就不會回應。(還在想為什麼)

所以必須client 端先 post 到 echo1.php,echo1.php 再作一個hidden
的form ,接收參數後,再自動submit 到echo2.php ,解決這個問題。

當然啦..如果echo1.php 掛掉的話,就無法到echo2.php。


用 ajax , 背景送 form data 到兩個不同的 網頁,然後把回傳內容 write 在畫面上...
希望我們的討論是為了把問題解決,而不是爭論誰對誰錯.
『灌水才是重點,發文只是順便』
『我寧可讓不會釣魚的工程師餓死,也不想讓會餓死的工程師去攪沉公司....』
Blog: http://blog.darkhero.net/
秘密基地: http://www.darkhero.net/comic/
目前服務的網站: http://www.libook.com.tw/