我正在設置此通訊訂閱表單以與我的數據庫進行通信,但在發送信息(電子郵件)之前,我只想驗證它。但是,當我輸入錯誤或空的數據時,它會顯示兩個錯誤消息。我不是PHP的專家,但似乎我錯過了一些右括號或什麼..我已經擺弄了一段時間沒有成功,所以我再次求助於你們:)php表單驗證和錯誤消息
<?php
$host = "XXX";
$username = "name";
$password = "XXX";
$database = "base";
$connect = @mysql_connect($host, $username, $password) or die (@mysql_error());
$selectdb = @mysql_select_db($database, $connect) or die (@mysql_error());
if(isset($_POST['submit'])){
$email = $_POST['email'];
if(empty($email)){
echo "Hmm, you did not anything..";
}
if (!preg_match(
"/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/i",
$email_address))
{
echo "This email not valid";
}
else{
@mysql_query("INSERT INTO newsletters SET email='$email'");
echo "Thanks you";
}
}
?>
謝謝!
您在'preg_match'中寫了'$ email_address'。替換爲'$ email'並將'preg_match'條件放在'if(empty($ email))' – Bora
你應該停止使用'mysql_ *'函數。它們已被棄用,而是使用'mysqli_ *'或'PDO'。 – Foobar