Php 打印后立即提交表格
我正在构建一个web应用程序,在这里我需要同时获取和发布变量。get变量将保存日期,并根据该日期更改列出的订单。POST变量用于将表单数据提交到数据库,输出和输入在同一页面上 由于一次只能使用一个HTTP方法,我认为我需要以以下方式使用POST,以便能够读取这两个变量:Php 打印后立即提交表格,php,http,redirect,post,get,Php,Http,Redirect,Post,Get,我正在构建一个web应用程序,在这里我需要同时获取和发布变量。get变量将保存日期,并根据该日期更改列出的订单。POST变量用于将表单数据提交到数据库,输出和输入在同一页面上 由于一次只能使用一个HTTP方法,我认为我需要以以下方式使用POST,以便能够读取这两个变量: <form method="POST" action="index.php?date=foo"></form> …但是这个重定向使用GET,所以这不是一个选项 我尝试了以下方法: if(!isset($
<form method="POST" action="index.php?date=foo"></form>
…但是这个重定向使用GET,所以这不是一个选项
我尝试了以下方法:
if(!isset($_GET["date"])) {
echo '
<form method="POST" action="'.$_SERVER["PHP_SELFT"].'?date='.date("Y-m-d").'"></form>
';
}
这是可以的,但是表单需要表现为重定向,所以在回显后,它需要自动提交
我怎样才能做到这一点
如果可能的话,我也愿意接受以其他方式实现此功能的建议。使用Javascript可能类似于: 为表单指定一个名称:
if(!isset($_GET["date"])) {
echo '
<form name="MyForm" method="POST" action="'.$_SERVER["PHP_SELFT"].'?date='.date("Y-m-d").'"></form>
';
}
在我看来,您不需要Javascript:
<form name="MyForm" method="POST" action="<?=$_SERVER["PHP_SELFT"]?>?date='<?=(isset($_GET['date'])) ? $_GET['date'] : date("Y-m-d")?>"></form>
它将日期放在URL中。如果确实设置了$\u GET['date'],它会将$\u GET['date']设置为日期。否则,它将给出当前日期
希望这有帮助!: javascript/jquery不是一个选项?如果没有替代方案,那么它必须是,但我想最小化客户端代码,因为它已经是JS-heavy了。不幸的是,没有替代方案,至少我不知道:/抱歉,我不理解这里的操作流程。如果必须这样做,我会基于$\u GET-Params准备表单,然后让用户填写表单,并使用$\u POST-Request将表单提交到URL,该URL将重复使用旧的$\u GET-Variables,或者将$\u GET-Stuff写入隐藏的表单字段。所以我并不完全理解这个问题…为什么表单应该自动提交?用户应该触发…他希望表单自动提交,在我看来,这在phpTrue中是不可能的,但是为了放置正确的日期,他不需要javascript。
document.MyForm.submit();
<form name="MyForm" method="POST" action="<?=$_SERVER["PHP_SELFT"]?>?date='<?=(isset($_GET['date'])) ? $_GET['date'] : date("Y-m-d")?>"></form>