簡體   English   中英

將輸入字段保留在下一頁

[英]Keep input field on the next page

我有一個用於數據庫條目的日期過濾器。 在第一頁上,我有一個所有條目的列表。 在第二個我有相同的過濾器,幾乎按日期列表過濾。 所以我想從第一頁保留過濾器的值。

這是我的代碼:

 <form action="filter.php" method="post"> <label>From</label><input name="from" required="true" type="date"/> <label>To:</label> <input name="to" required="true" type="date"/> <input name="" type="submit" value="Search" /> </form> <table> ... ... ... </table>

您可以在按下提交后訪問該變量。因此,您必須將<input name="" type="submit" value="Search" />更改為<input name="submit" type="submit" value="Search" />

<?php

   if(isset($_POST['submit'])) {
      $from = $_POST['from'];
      $to = $_POST['to'];
   }

?>

您還可以將變量存儲到會話中,以便從任何地方訪問它。

<?php
   session_start();

   if(isset($_POST['submit'])) {
      $from = $_POST['from'];
      $to = $_POST['to'];
      $_SESSION['from'] = $from;
      $_SESSION['to'] = $to;
   }
?>

第三個選項是,將表單元素的方法設置為method="GET" 之后,您可以通過以下方式訪問這些值:

<?php
   if(isset($_GET['submit'])) {
      $from = $_GET['from'];
      $to = $_GET['to'];
   }
?>

使用 get 參數,您還可以做一些神奇的事情,例如: http://www.example.com/index.php?from=20150906&to=20150907 所以你通過 URL 獲取變量的值..

有關更多信息,請參閱: http : //php.net/manual/en/reserved.variables.php

我希望我能幫到你...

在您的情況下,由於您使用的是POST ,您可以訪問這些值

if(isset($_POST['submit']])) {
    $from = $_POST['from'];
    $to   = $_POST['to'];
}

正如用戶 Markus 已經說過的,您應該將submit-button名稱屬性更改為一個不言自明的名稱,以便易於維護代碼並檢查是否按下了該按鈕。

然后,您必須通過表單中的value -attribute 設置它。

 <form action="filter.php" method="post">
     <label>From</label><input name="from" value="<?php echo $from; ?> required="true" type="date"/>
     <label>To:</label> <input name="to" value="<?php echo $from; ?>required="true" type="date"/>
     <input name="submit" type="submit"  value="Search" />
 </form>

請記住,傳遞未經消毒的數據永遠是不安全的。 所以你應該考慮清理用戶輸入。 (例如給定的格式,如 YYYY-MM-DD)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM