我想寫我的第一個PHP腳本(希望)。我想將用戶輸入從HTML頁面中的表單發送到PHP腳本並在腳本中對其進行驗證。那麼,如果輸入數據有任何問題,請返回第一頁並突出顯示錯誤的字段。否則轉到另一個頁面(類似成功)。如何使用POST不使用表單將變量從PHP腳本發送到另一個腳本?
如何在不使用表單的情況下將第二個腳本的反饋發送到第一頁?例如,
我想寫我的第一個PHP腳本(希望)。我想將用戶輸入從HTML頁面中的表單發送到PHP腳本並在腳本中對其進行驗證。那麼,如果輸入數據有任何問題,請返回第一頁並突出顯示錯誤的字段。否則轉到另一個頁面(類似成功)。如何使用POST不使用表單將變量從PHP腳本發送到另一個腳本?
如何在不使用表單的情況下將第二個腳本的反饋發送到第一頁?例如,
只是讓你表單POST給自己,然後在你的PHP檢查值,如果它們是有效的,不會顯示你的形式和做你的提交代碼。如果它們無效,則顯示帶有值和錯誤顯示的表單。
...然後,只是評估驗證腳本從另一個文件?這是個好主意!謝謝。 – 2011-06-07 19:11:23
重新加載第一頁並在會話中發送反饋。如果session ['errors']存在,則回顯它們。注意你必須在你的html頁面中包含一些php標籤。
使用會話......這裏有一個鏈接,以幫助您開始:http://www.tizag.com/phpT/phpsessions.php
總之,你有這樣的事情:
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$errors = array();
$name = $_POST['name'];
if ($name !== 'Fred') {
$errors[] = 'Please enter "Fred"';
}
... validate more fields ...
if (count($errors) == 0) {
... form is ok ...
header('Location: everything_is_ok.php');
exit();
}
}
?>
<form action="<?php echo $_SERVER['SCRIPT_NAME'] ?>" method="POST">
Enter 'Fred': <input type="text" name="name" value="<?php echo htmlspecialchars($name) ?>" /><br />
<input type="submit" />
</form>
基本上是:有表單頁面提交回發到自身。如果一切正常,請將用戶重定向到另一個頁面。否則,重新顯示錶單。
與James P. Wright的答案相同......謝謝。 – 2011-06-07 19:12:48
是的,但他實際上花時間顯示代碼。 :P – 2011-06-07 19:37:40
嘗試使用[sessions](http://www.php.net/manual/en/book.session.php)。 – 2011-06-07 19:01:08
你的意思是,如果輸入不正確,你將如何重定向到輸入表單? – 2011-06-07 19:01:39
您可以在您的驗證腳本中將錯誤變量(不是整個錯誤消息,只是一些代碼)添加到原始URL併發送用戶,然後使用GET獲取錯誤消息。或者你可以在驗證頁面中將錯誤添加到json中,如果它不是空的,則將json發送到html頁面。 – 2011-06-07 19:02:36