PHP 数学验证码未通过
PHP Math captcha not passing
我正在尝试为用户注册时制作一个简单的数学验证码。
但问题是它总是返回无效验证码的消息。
新手,不确定哪里出了问题。
<?php
namespace forum;
require_once 'core/database.php';
require_once 'classes/Redirect.php';
Class Captcha{
public static function Captcha($sol){
$random = rand(1, 15);
if (empty($sol)) {
return 'What is ' . $random . ' + ' . $random . ' ';
}
$answer = $random + $random;
if ($sol != $answer)
{
return false;
} else {
return true;
}
}
}
您可以尝试以下解决方案:
Class Captcha
{
public static function Captcha($sol = null)
{
$random = rand(1, 15);
if (empty($sol))
{
$answer = $random + $random;
$_SESSION['captchaAnswer'] = $answer;
return 'What is ' . $random . ' + ' . $random . ' ';
}
if ($sol == $_SESSION['captchaAnswer'])
{
return true;
}
return false;
}
}
这会将答案存储在会话中,并将根据该答案检查解决方案。这不是最好的方法,您可以尝试使用更安全的方法,例如 ReCaptcha。
我正在尝试为用户注册时制作一个简单的数学验证码。 但问题是它总是返回无效验证码的消息。 新手,不确定哪里出了问题。
<?php
namespace forum;
require_once 'core/database.php';
require_once 'classes/Redirect.php';
Class Captcha{
public static function Captcha($sol){
$random = rand(1, 15);
if (empty($sol)) {
return 'What is ' . $random . ' + ' . $random . ' ';
}
$answer = $random + $random;
if ($sol != $answer)
{
return false;
} else {
return true;
}
}
}
您可以尝试以下解决方案:
Class Captcha
{
public static function Captcha($sol = null)
{
$random = rand(1, 15);
if (empty($sol))
{
$answer = $random + $random;
$_SESSION['captchaAnswer'] = $answer;
return 'What is ' . $random . ' + ' . $random . ' ';
}
if ($sol == $_SESSION['captchaAnswer'])
{
return true;
}
return false;
}
}
这会将答案存储在会话中,并将根据该答案检查解决方案。这不是最好的方法,您可以尝试使用更安全的方法,例如 ReCaptcha。