[英]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.