作者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
1F:→ super223:PS. 同一个程式,有时却又会正常出现中文,鬼遮眼吗@@? 10/16 03:34
2F:推 buganini:先搞清楚变数怎麽传吧.....另外你去Java版问javascript 10/16 03:54
3F:→ buganini:会被捅... 10/16 03:55
4F:推 buganini:你在.htm里面写php? 你大概搞错了 外面那个你可以用php 10/16 03:57
您误会了,我当时有改成.php啦@@
→
buganini:用GET传参数给里面的子页 10/16 03:58
5F:→ buganini:而且你传递的流程好难看懂... 10/16 04:00
6F:推 super223:我在那段javascript里用GET来传好像也是会乱码ㄟ QQ? 10/16 09:43
sorry 是不是有修到谁的 @@a
※ 编辑: super223 来自: 219.71.183.26 (10/16 10:00)
7F:推 buganini:所以现在是变数传不过去还是乱码? 10/16 13:31
8F:→ buganini:看你的editor会不会告诉你罗 10/16 13:32
9F:→ buganini:然後你的A_down是怎麽等B的3个frame产生? 10/16 13:33
10F:→ buganini:我是不知道各browser寻找frame的动作是怎样 10/16 13:34
11F:→ buganini:个人直觉上可能会有找不到B1 B2 B3的可能 10/16 13:36
12F:→ buganini:这样的话应该会变成开新分页或视窗 10/16 13:37
13F:推 super223:乱码的问题解决了,变数用那个方法也传的过去 10/17 02:18
14F:→ super223:只是觉得这方法好像有点蠢,不知有没有其他方法 0.0 10/17 02:18
15F:→ super223:等B1开启後会写进资料库一个东西,然後A_down一直重新整理 10/17 02:19
16F:→ super223:等到读取到那个东西写进去了,代表框架页开起来了,再传过 10/17 02:21
17F:→ super223:就不会开新分页了...谢谢b大的帮忙 10/17 02:21