我很抱歉重复这个问题,但问题是我做了一切,没有任何作用。我的问题是我试图将变量传递到第二页并且它不会工作。
第1页:
<form method="post" name="form1" id="form1" enctype="multipart/form-data" action="editempresas3.php?name=<?php echo $name;?>&descr=<?php echo $descr;?>&dir=<?php echo $dir;?>&pais=<?php echo $pais;?>&tel=<?php echo $tel;?>&fax=<?php echo $fax;?>&email=<?php echo $email;?>&url=<?php echo $url;?>">
<?php
$name = $_POST['empname'];
.....etc
?>
<input name="empname" type="text" required id="empname" form="form1">
.....etc
<input name="submit" type="submit" id="submit" form="form1" value="Crear">
第2页:
链接将没有变量 http://www.sample.org/editempresas3.php?name=&descr=&dir=&pais=&tel=&fax=&email=&url=
答案 0 :(得分:1)
您应该使用GET
方法来实现此目标。
更改
<form method="post" name="form1" id="form1" enctype="multipart/form-data" action="editempresas3.php">
到
<form method="GET" name="form1" id="form1" enctype="multipart/form-data" action="editempresas3.php">
P.S:如果你的表格没有上传,你甚至可以错过enctype="multipart/form-data"
答案 1 :(得分:0)
可能性,从大多数到最不可取的:
使用会话:
第1页
session_start();
$_SESSION['var_for_other_page'] = 'foo';
第2页
session_start();
$myvar = $_SESSION['var_for_other_page']
使用隐藏字段:
<form action="secondpage.php" method="post>
<input type="hidden" name="var_for_other_page" value="foo" />
</form>
将get vars放入操作URL:
<form action="secondpage.php?var_for_other_page=foo" method="post>
<input ... />
</form>
在这种情况下,$_POST
和$_GET
都会包含变量。
不使用2或3来传递敏感信息。
答案 2 :(得分:0)
如果您想将表格中的数据发送到新页面,首先我认为您应该始终使用POST。它无法工作的原因是你试图通过POST发送表单数据,但在你的操作中,你正试图使用在那里回应的PHP变量来构建一个GET。
e.g。
action="editempresas3.php?name=<?php echo $name;?>&descr=<?php echo $descr;?>&dir=<?php echo $dir;?>&pais=<?php echo $pais;?>&tel=<?php echo $tel;?>&fax=<?php echo $fax;?>&email=<?php echo $email;?>&url=<?php echo $url;?>"
这不起作用,因为PHP需要在呈现HTML之前处理它以打印您选择的变量。
如果您将操作更改为
action="editempresas3.php"
您将成功发送到下一页,然后使用
var_dump($_POST);
在下一页editempresas3.php
上,您将获得第1页表单中填写的所有字段的输出。