我想用PHP和Javascript警報框創建一個註冊驗證系統(以確保註冊用戶具有有效信息)。每次用戶沒有正確執行字段時,我都希望他得到一個警告框,說明它不正確。因此,它是:在PHP中註冊驗證,使用Javascript警報框
代碼#1 - 用於在PHP中生成警報(這是針對按鈕中的事件)。
function alert($string)
{
echo "javascript:alert('$string');";
}
代碼#2 - PHP放在onclick=""
屬性中提交按鈕。
if (!isset($fname) || empty($fname))
{
alert('Please enter your first name!');
}
elseif (!isset($lname) || empty($lname))
{
alert('Please enter your last name!');
}
elseif (!isset($gender) || empty($gender))
{
alert('Please specify your gender!');
}
elseif (!isset($phone) || empty($phone) || strlen($phone) != 10)
{
alert('Please enter your correct Phone Number!');
}
elseif (!isset($user) || empty($user) || strlen($user) > 10 || strlen($user) < 5)
{
alert('Please enter a Username that is 5-10 characters long!');
}
elseif (!isset($pass) || empty($pass) || strlen($pass) > 10 || strlen($pass) < 5)
{
alert('Please enter a Password that is 5-10 characters long!');
}
elseif (!isset($repass) || empty($repass) || $pass != $repass)
{
alert('Please repeat your Password');
}
else
{
$query = mysql_query($query_send_form);
query_error($query);
}
正如你可能已經意識到,這些變量實際上是等於字段的形式$_POST
值。
所以問題是,按鈕的onclick總是等於onclick=" javascript:alert('Please enter your first name!');"
它不會改變。
請不要給我一個完整的JavaScript替代系統,我想現在學習PHP。
感謝您的幫助提前。
編輯#1
我忘了提一個重要的事情是,表格的目標僅僅是在同一頁上的iframe,使內容而被顯示的錯誤,他的用戶輸入住宿。
<form method="post" target="frame" action="register.php">
register.php
是相同的頁面裏的HTML表單和驗證PHP是。
EDIT#2
的數據被張貼。以下是聲明的可變因素:
@$fname = $_POST['fname'];
@$lname = $_POST['lname'];
@$gender = $_POST['gender'];
@$phone = $_POST['phone'];
@$user = $_POST['user'];
@$pass = $_POST['pass'];
@$repass = $_POST['repass'];
你確定數據正在'POST'ed嗎? – DevlshOne
我知道你正在嘗試學習PHP,但這不是通常的做法。 PHP在服務器端工作,所以爲了使它工作,它在表單提交後接收數據,然後將錯誤作爲點擊事件插入。與此相關的一個問題是用戶在嘗試再次提交表單之前不會看到錯誤。其次,在關閉警報框之後,無論如何都要提交表單,然後纔有機會更改任何內容,因爲您需要通過onclick事件返回FALSE。 –