我有一个表单域:
<input type="text" value="" name="Email" id="Email">
我的表单操作确认网址是这样的:
http://.../index.php?Email=<?php echo $_POST['Email']; ?>
但是提交后,电子邮件参数没有通过。这是可以在 PHP 中完成的事情,还是仅在初始页面加载时读取该字段?
谢谢
您的问题是您正在混合 $_GET 和 $_POST。
在这里查看您的代码http://.../index.php?Email=<?php echo $_POST['Email']; ?>,当您发布到该代码时,将不再有 $_POST['Email'],而是 $_GET['Email']。因此,第一篇文章可能会起作用(如果您正在使用<form method="post" action="...">),但第二篇文章将失败,因为$_POST['Email']不再存在。
所以我建议你不要在动作中使用参数。相反,将它们放在隐藏字段中或仅切换到$_GET参数。
将第二页上的表格更改为:
<form action="http://.../index.php" method="POST">
<input type="hidden" name="Email" id="Email" value="<?php echo $_POST['Email'];?>" />
...
</form>
Run Code Online (Sandbox Code Playgroud)
将第一页上的表格更改为 <form ... method="GET">
然后将要使用的第二页上的表单$_GET['Email']和方法更改为GET.
<form action="http://.../index.php??Email=<?php echo $_GET['Email'];?>" method="GET">
...
</form>
Run Code Online (Sandbox Code Playgroud)
只需http://.../index.php?Email=<?php echo $_REQUEST['Email']; ?>用作您的操作网址,因为 $_REQUEST 是 $_GET 和 $_POST 的合并。请注意,这是 $_GET、$_POST 和 $_COOKIE 的合并。
| 归档时间: |
|
| 查看次数: |
52754 次 |
| 最近记录: |