我是一個PHP新手,需要幫助搞清楚如何讓我的表單錯誤只在錯誤觸發後才顯示。例如:表單在到達頁面時看起來很正常。用戶填寫信息但忘記添加電子郵件並點擊提交。我想要顯示的電子郵件錯誤。以下是我正在使用的代碼。PHP表單錯誤只顯示一次觸發
附註:我已設置字段來保留輸入的信息,一旦點擊提交按鈕。
<?php
$email = $_POST['email'];
$name = $_POST['name'];
$message = $_POST['message'];
$size = $_FILES['file']['size'];
$max_size = 34000000;
$file = $_FILES['file']['tmp_name'];
$filename = $_FILES['file']['name'];
$filetype = $_FILES['file']['type'];
$errors = array();
if (empty($email))
$errors[] = "Please provide an email.";
if (empty($name))
$errors[] = "Please provide your name.";
if (empty($filename))
$errors[] = "Please provide a file.";
if ($size > $max_size)
$errors[] = "Please choose a file under 30mb.";
if (sizeof($errors) > 0) {
foreach($errors as $error)
{
printf("<li>%s</li>", $error);
}
}
else {
mkdir('../uploads/' . $email . '|' . $name, 0777, true) . '/';
move_uploaded_file($file, '../uploads/' . '/'. $email . '|' . $name . '/' . $filename);
header ('Location: ../');
exit;
}
?>
我意識到這些錯誤正在檢查簡單的事情。我將來會讓他們變得更加複雜;恩。在電子郵件地址中尋找'@'。
謝謝你的幫助!
感謝您的回覆。所以我們假設我使用Javascript來檢查表單。我將如何停止運行PHP腳本(當提交被命中),直到JavaScript確保沒有錯誤? – David
我已將修改添加到我的答案中,請看看,它應該說明您需要知道的一切。 – Aidan
謝謝艾丹,這個答案基本上涵蓋了我所需要的,儘管我發現了一個非常漂亮的插件。查看[http://jqueryvalidation.org/](http://jqueryvalidation.org/)。這基本上是我想要的。 – David