作者super223 (聖堂教父)
看板PHP
標題關於表單的問題
時間Tue Oct 16 03:28:45 2007
畫圖說明一下好了@@a
┌─────┐ ┌───┬───┐
│ │ │ │ │
│ │ │B1.php│B2.php│
│ │ │ │ │
│ │→→→├───┴───┤
│ A.php │ │ B3.php │
└─────┘ └───────┘
如果我要把A.php裡面的資料一次傳到B.htm
例如傳送$name
而B.htm是三個框架頁所組成的網頁
讓三個分頁都印出$_POST['name']
不使用資料庫跟cookie,session的話
請問有什麼辦法呢??
因為我在B1 B2 B3.php 或是B.htm(php)裡
寫$my_name=$_POST['my_name']
也都讀不到資料
我目前用的方法是把A.htm分成A_up.php A_down.php兩框架頁
先把A_up的資料傳到A_down, 然後A_up切換到B.htm頁面
A_up.php :
<form action="B.htm" method="post" target="up" name="next">
</form>
<form action="A_down.php" method="post" target="down" name="down">
<input type="hidden" name="my_name" value="<?php echo $my_name; ?>">
</form>
<script language="JavaScript">
next.submit();
down.submit();
</script>
┌─────┐ ┌───┬───┐
│ │ │ │ │
│A_up.php │→┼→│B1.php│B2.php│
│ │ │ │ │ │
├─────┤ │ ├───┴───┤
│A_down.php│←┘ │ B3.php │
└─────┘ └───────┘
再用如上的方法,等B的三個框架頁都出現後,再把資料傳過去
A_down.php :
<form action="B1.php" method="post" target="B1" name="nextB1">
<input type="hidden" name="my_name" value="<?php echo $my_name; ?>">
</form>
<form action="B2.php" method="post" target="B2" name="nextB2">
<input type="hidden" name="my_name" value="<?php echo $my_name; ?>">
</form>
<form action="B3.php" method="post" target="B3" name="nextB3">
<input type="hidden" name="my_name" value="<?php echo $my_name; ?>">
</form>
<script language="JavaScript">
nextB1.submit();
nextB2.submit();
nextB3.submit();
</script>
利用上述的JavaScript來傳
正常用都ok
可是如果要傳的資料是中文
就會發生印出來的my_name是亂碼或是全型的空白等問題
關於亂碼的問題我在3931已經找到解答了
不過新的問題是
要怎麼知道該.php是不是utf-8編碼??
好像不是在前面加<meta...就可以
請問有辦法改善或是有其他方法可以達成我的目的嗎?
還是說我應該去Java版問 @@?(屁股痛痛的 <囧>)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 219.71.183.26
→ super223:PS. 同一個程式,有時卻又會正常出現中文,鬼遮眼嗎@@? 10/16 03:34
推 buganini:先搞清楚變數怎麼傳吧.....另外你去Java版問javascript 10/16 03:54
→ buganini:會被捅... 10/16 03:55
推 buganini:你在.htm裡面寫php? 你大概搞錯了 外面那個你可以用php 10/16 03:57
您誤會了,我當時有改成.php啦@@
→
buganini:用GET傳參數給裡面的子頁 10/16 03:58
→ buganini:而且你傳遞的流程好難看懂... 10/16 04:00
推 super223:我在那段javascript裡用GET來傳好像也是會亂碼ㄟ QQ? 10/16 09:43
sorry 是不是有修到誰的 @@a
※ 編輯: super223 來自: 219.71.183.26 (10/16 10:00)
推 buganini:所以現在是變數傳不過去還是亂碼? 10/16 13:31
→ buganini:看你的editor會不會告訴你囉 10/16 13:32
→ buganini:然後你的A_down是怎麼等B的3個frame產生? 10/16 13:33
→ buganini:我是不知道各browser尋找frame的動作是怎樣 10/16 13:34
→ buganini:個人直覺上可能會有找不到B1 B2 B3的可能 10/16 13:36
→ buganini:這樣的話應該會變成開新分頁或視窗 10/16 13:37
推 super223:亂碼的問題解決了,變數用那個方法也傳的過去 10/17 02:18
→ super223:只是覺得這方法好像有點蠢,不知有沒有其他方法 0.0 10/17 02:18
→ super223:等B1開啟後會寫進資料庫一個東西,然後A_down一直重新整理 10/17 02:19
→ super223:等到讀取到那個東西寫進去了,代表框架頁開起來了,再傳過 10/17 02:21
→ super223:就不會開新分頁了...謝謝b大的幫忙 10/17 02:21