2014-11-25 54 views
0

我正在构建一个Web应用程序,我需要同时获取GET和POST变量。 get变量将保存日期,并根据该更改列出订单。 POST变量用于提交表单数据到数据库(我有输出和输入在同一页面上)。立即提交表单

由于只有一个HTTP方法可以同时使用,我想,我需要使用POST以下列方式能够阅读这两个变量:

<form method="POST" action="index.php?date=foo"></form> 

如果设置了,这个没有日期是我如何设置日期为今天的日期:

if(!isset($_GET["date"])) { 
     header("location: index.php?date=". date('Y-m-d')); 
    } 

..但此重定向使用GET,所以这不是一个选项。

我试过如下:

if(!isset($_GET["date"])) { 
     echo ' 
      <form method="POST" action="'.$_SERVER["PHP_SELFT"].'?date='.date("Y-m-d").'"></form> 
     '; 
    } 

这将是美好的,但形式需要表现为重定向,所以呼应出来后,它需要被自动提交。

我该如何做到这一点?

我也乐于接受建议,如果可能以其他方式实现此功能。

+1

javascript/jquery不是一个选项? – twain 2014-11-25 11:04:52

+0

如果没有其他选择,那么它必须是,但我想最大限度地减少客户端代码,因为它已经是JS沉重了。 – PeterInvincible 2014-11-25 11:11:04

+0

不幸的是,没有其他选择,至少不是我所知道的:/ – twain 2014-11-25 11:17:57

回答

0

使用JavaScript,也许是这样的:

给这个形式的名称:

if(!isset($_GET["date"])) { 
     echo ' 
      <form name="MyForm" method="POST" action="'.$_SERVER["PHP_SELFT"].'?date='.date("Y-m-d").'"></form> 
     '; 
    } 

,然后你可以使用JavaScript只需提交格式如:

document.MyForm.submit(); 
0

你不” t需要Javascript在我看来:

<form name="MyForm" method="POST" action="<?=$_SERVER["PHP_SELFT"]?>?date='<?=(isset($_GET['date'])) ? $_GET['date'] : date("Y-m-d")?>"></form> 

它将日期放入URL中。如果确实设置了$ _GET ['date'],它会将$ _GET ['date']设置为日期。否则它会给出当前日期。

希望这会有所帮助! :)

+0

他希望表单自动提交,这是 - 在我看来 - 不可能与PHP – twain 2014-11-25 15:06:58

+0

是的,但是为了放置正确的日期,他不需要JavaScript。 – Chilion 2014-11-25 15:12:01

相关问题