现从一个主界面host.php设计一个链接:编辑界面host_edit.php,并传入一个ID值给它。
链接全名如下:host_edit.php?id=hostname在host_edit.php程序中大致如下
<?php
if ($_GET)
{
$hostname = $_GET['id'];
} if ($_POST)
{
$nret = function(....);
if ($nret == 1)
header(host.php);
else
echo "error info";
}
?>
<form name="host_edit" action="host_edit.php" method="post">
/*都是表单*/
</form>现在的问题是:
如果表单提交失败,界面还停留在本界面,但$_GET['id']值已经消失了,即使做了个隐藏表单如果第二次提交失败还是会消失。请问有没有办法实现$_GET['id']在本界面不会消失,进入其他界面会立即消失,非常感谢。
链接全名如下:host_edit.php?id=hostname在host_edit.php程序中大致如下
<?php
if ($_GET)
{
$hostname = $_GET['id'];
} if ($_POST)
{
$nret = function(....);
if ($nret == 1)
header(host.php);
else
echo "error info";
}
?>
<form name="host_edit" action="host_edit.php" method="post">
/*都是表单*/
</form>现在的问题是:
如果表单提交失败,界面还停留在本界面,但$_GET['id']值已经消失了,即使做了个隐藏表单如果第二次提交失败还是会消失。请问有没有办法实现$_GET['id']在本界面不会消失,进入其他界面会立即消失,非常感谢。
$id = @$_GET['id']; //进入页面肯定是有个id的对吧,在头部接收if( @$_POST['submit'] == "提交" )
{
if(//成功)
{
...
exit( "<script>alert('提交成功');top.location.href='xxx.php';</script>" );
}
else
{
exit( "<script>alert('提交失败');top.location.href='host_edit.php?id={$id}';</script>" );
}
}
页面传值时,首先放到session里,就算以后在post也可以保存下来页面再次跳转的时候,把$_SESSION['id']设为空,或者session_destroy()即可<?php
if ($_GET)
{
$hostname = $_GET['id']; //记得验证和过滤
$_SESSION['id'] = $hostname; //看这里,看这里,没有小痘痘~~
}
//下面的代码不变
可以存在COOKIE里呀