我想用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。 –