2014-11-25 49 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

相關問題