簡體   English   中英

使用沒有JavaScript的php停留在同一頁面上

[英]Stay on same page using php without javascript

我需要使用php驗證表單。 當我去驗證時,如果驗證失敗,我需要它保持在同一頁面上。 這可能嗎。 我知道可以使用javascript來完成,但是我正努力迎合那些關閉javascript的用戶。

不。如果您不願意使用Javascript,則必須提交表單(並轉到新頁面)以進行驗證。

將所有變量放入字符串中,然后使用post方法進行驗證,如果有問題,請從字符串中取出變量

$name = $_POST['name'];

<form action="validate.php" method="POST" value="$name">
<input type="text" id="name" /> 
</form>

PHP是服務器端代碼。 為了驗證頁面,您需要往返於服務器。 如果表單未通過驗證,則可以將其重定向回同一頁,以及一些說明問題的標記。

就是說, 只有〜1%的人禁用了javascript,因此我不必為此擔心。

即使您確實使用javascript執行客戶端表單驗證,也應始終驗證服務器端。

盡管沒有客戶的幫助是不可能的,但是可以通過將for發布到托管表單的頁面上來模擬結果。

if ($_SERVER["REQUEST_METHOD"] == "POST"){
       // validate your form and set placeholder variables for error messages.
       if(empty($_POST["username"])) $userError = "You must supply a username";

       // if the form is valid do a header redirect

       header("Location: http://mysite.com/myaccount/");

}
<form method='post'>
      <label for='username'>Username: </label>
      <input id='username' name='username' type='text' 
             value='<?= isset($_POST["username"])?$_POST["username"]:"" ?>'>
      <?= isset($userError)?$userError:"" ?>
</form>

暫無
暫無

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

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