我在其他人的代码中解决CAPTCHA问题,其中表单方法是“POST” 但是在action.php文件中,代码是这样的:
$key=substr($_SESSION['key'],0,5);
$number = $_GET['img_code'];
if($_GET['img_code']){
if($number==$key)
{
echo "done";
exit();
}
else
{
echo false;
exit();
}
}
我已尝试var_dump($_GET['img_code'])
并按预期获得null
值。
但如果我这样做var_dump($_POST['img_code'])
我会得到正确的价值。
但是一旦我将其设置为POST,我就会开始收到错误“验证码未正确输入。
非常感谢任何帮助。
更新: FORM METHO
<form action="{$Site_Root}signup.php" method="post" class="frmRegister tutor-registration" name="frmRegister" id="frmRegister" enctype="multipart/form-data" >
进一步更新:
如果我正在使用$_REQUEST['img_code']
,然后执行var_dump
,我会获得$ key和$ number的匹配字符串
string(5) "f065a" string(5) "f065a"
但问题是当我将此作为条件应用时,例如: 我得到了 - “验证码未正确输入。”
if(isset($_POST['email'])){
if ($key==$number){ // condition line is added by me
if(!empty($_FILES['photo']['name']))
{
$_POST['photo'] = fileUpload($_FILES['photo'],TUTOR);
$thumb->image($physical_path['Tutor'].$_POST['photo']);
$thumb->size_width(120);
$thumb->jpeg_quality(100);
$filename = $thumb->get2(); //small_thumb_
}
else
{
$_POST['photo'] = "";
}
$tutor_id = $tut->Insert($_POST);
$to_email = $_POST['email'];
global $mail;
$mail = '';
$mail = new htmlMimeMail();
$mail->setFrom($config[WC_CONTACT_US]);
//Set Cc
// $mail->setCc(array($config[WC_CONTACT_US]));
$mail->setSubject('Welcome to TuitionJobsPortal.com!');
$tpl2 = new Smarty;
$tpl2->template_dir = $physical_path['EmailTemplate'];
$tpl2->compile_dir = $physical_path['Site_Root']. 'templates_c/';
$tpl2->debugging = DEBUG;
$tpl2->assign(array("membername" => $_POST['tutor_name'],
"vcode" => $_POST['verification_code'],
"tutor_id" => $tutor_id,
"Templates_Image" => $virtual_path['Site_Root'].'templates/images/',
"Site_Root" => $virtual_path['Site_Root'],
));
$content = $tpl2->fetch('registration'. $config['tplEx']);
$mail->setHtml($content);
$result = $mail->send(array($to_email));
header("location: signup.php?signup=true");
exit();
}
} //this is added.
答案 0 :(得分:0)
我认为您无法从 $ _ GET 访问 $ _ POST 数据,因此将表单方法更改为 GET 或访问使用$_POST['img_code']
发布数据。
答案 1 :(得分:0)
您可以使用$_REQUEST
全局变量,它可以完成GET和POST的工作,