警报不会显示在验证码中

时间:2012-02-08 07:47:02

标签: php html captcha

我在Captcha Alert中遇到问题。 当我在注册页面输入验证码Incorrcet时,警报不起作用。

我的验证码:

<tr>
<td>

  <img src="captcha/captcha_code_file.php?rand=<?php  echo rand(); ?>" id='captchaimg'  style="border:1px solid #CCC;">
  <a href='javascript: refreshCaptcha();'><img src="template/images/refresh.png"/></a>
  <br/><br/>

  <input id="6_letters_code" name="6_letters_code" type="text" style="width:200px;margin-top:-15px;" tabindex="7">
  <br />
  </td>
  </tr>

错误警报代码:

<?php
if( isset ($_REQUEST['register']) ) {

    if( empty($_SESSION['6_letters_code'] ) || strcasecmp($_SESSION['6_letters_code'], $_POST['6_letters_code']) != 0)
        {
            echo $msg .= '<script type="text/javascript">alert("Please Enter the code correctly !!")</script>';
        }
}?>

我应该使用此警报代码?在验证码之后或我的代码结束?

1 个答案:

答案 0 :(得分:0)

看起来你的IF会话和strcasecmp部分搞砸了。只要$ _REQUEST ['register']和$ msg按照我的想象你想让他们做的就行了。

<?php

if(isset($_REQUEST['register'])) {

    if( 
        (empty($_SESSION['6_letters_code']))
        ||
        (strcasecmp($_SESSION['6_letters_code'], $_POST['6_letters_code']) != 0)
    )
    {
        echo $msg .= '<script type="text/javascript">alert("Please Enter the code correctly !!")</script>';
    }

}

?>

至于警报,也许您需要使用这样的自动显示JS警报(而不是使用“echo $ msg。=”行......

echo '<body onLoad="javascript:alert(\'Please enter the code correctly!\')">';