我想在注册页面上添加一个简单的验证码,但是我无法验证我的表单上的验证码部分 如果我在表单上留下用户名部分并按寄存器它会给我一个消息,请输入用户名等等,但是当涉及到验证码部分,如果我把它留空白它会给一个消息输入验证码,但如果我输入验证码信,但不是正确的一个它注册,所以我想尝试下面结合如何验证我的注册页面上的验证码
if ($real == $guess) {
die ("enter captcha");
}
此代码,这个代码
if ($real != $guess) {
die ("Not equal");
}
这是我的注册页面代码
//Collecting info
$username = $_REQUEST['username'];
$password = $_REQUEST['password'];
$pass_conf = $_REQUEST['password_conf'];
$email = $_REQUEST['email'];
$date = $_REQUEST['date'];
$guess = $_POST['captcha'];
$real = (isset($_SESSION['real'])) ? $_SESSION['real'] : "";
//Here we will check do we have all inputs filled
if (empty($username)) {
die("Please enter your username!<br>");
}
if (empty($password)) {
die("Please enter your password!<br>");
}
if (empty($pass_conf)) {
die("Please confirm your password!<br>");
}
if (empty($email)) {
die("Please enter your email!");
}
if ($real == $guess) {
die ("enter captcha");
}
//Let's check if this username is already in use
$user_check = mysql_query("SELECT username FROM users WHERE username='$username'");
$do_user_check = mysql_num_rows($user_check);
//Now if email is already in use
$email_check = mysql_query("SELECT email FROM users WHERE email='$email'");
$do_email_check = mysql_num_rows($email_check);
//Now display errors
if ($do_user_check > 0) {
die("Username is already in use!<br>");
}
if ($do_email_check > 0) {
die("Email is already in use!");
}
//Now let's check does passwords match
if($password != $pass_conf) {
die("Passwords don't match!");
}
//If everything is okay let's register this user
$insert = mysql_query("INSERT INTO users (username, password, email) VALUES ('$username', '$password', '$email')");
if (!$insert) {
die("There's little problem: ".mysql_error());
}
echo $username.", you are now registered. Thank you!<br><a href=login.php>Login</a> | <a href=index.php>Index</a>";
}
$act = isset($_GET['act']) ? $_GET['act'] : '';
switch($act) {
default;
register_form();
break;
case "register";
register();
break;
}
机器人正在做同样的事情,当我输入正确的数据时它仍然给我,请输入正确的验证码 – theuserkaps
尝试打印'$ guess'和'$ real',看看它们是否是你期望的。 – Supericy
怎么样?我不明白你说的 – theuserkaps