验证码怎么验证?

WBOY
WBOYasal
2016-07-06 13:53:521475semak imbas

弄了一个简答的验证码 最开始只有一个验证码的输入框和验证码图片 提交后可以打印出来你输入的验证码是正确的还是错误的 后来我又加了一个文本框 加了几句sql语句 想做个简单的验证提交 可是不知道该怎么验证 在实际中肯定不只是提示错误或者正确吧 如果错误应该怎么阻止表单提交呢?还有一个需要先解决的问题是这个验证码本身不需要插入到数据库中 但是验证码的表单中有name啊 如果sql语句不处理就点击提交就会报错 这个应该怎么办呢? Invalid parameter number: number of bound variables does not match number of tokens in D:wampwwwyzm1.php on line 28

<code>


    <meta charset="utf-8">
    <title></title>


<form method="post">
    <input type="text" name="num"><br>
    <input type="text" style="display: inline-block;width: 50px;" name="yzm">
    <img  id="checkpic" onclick="javascript:this.src='yzm2.php?tm='+Math.random();" src="yzm2.php" alt="验证码怎么验证?" >
    <button type="submit">提交</button>
</form>
<?php if(trim(@$_POST['num'])){
        session_start();
        if(isset($_POST['yzm'])){
            if($_SESSION["str"]==$_POST['yzm']){
              echo "right";
            }else{
              echo "wrong";
          }
        }
        
        $pdo=new PDO("mysql:host=localhost;dbname=t1","root","");
        $stmt=$pdo->prepare("insert into test(num)values(:num)");
        $stmt->execute($_POST);
    }
    
?>


</code>

回复内容:

弄了一个简答的验证码 最开始只有一个验证码的输入框和验证码图片 提交后可以打印出来你输入的验证码是正确的还是错误的 后来我又加了一个文本框 加了几句sql语句 想做个简单的验证提交 可是不知道该怎么验证 在实际中肯定不只是提示错误或者正确吧 如果错误应该怎么阻止表单提交呢?还有一个需要先解决的问题是这个验证码本身不需要插入到数据库中 但是验证码的表单中有name啊 如果sql语句不处理就点击提交就会报错 这个应该怎么办呢? Invalid parameter number: number of bound variables does not match number of tokens in D:wampwwwyzm1.php on line 28

<code>


    <meta charset="utf-8">
    <title></title>


<form method="post">
    <input type="text" name="num"><br>
    <input type="text" style="display: inline-block;width: 50px;" name="yzm">
    <img  id="checkpic" onclick="javascript:this.src='yzm2.php?tm='+Math.random();" src="yzm2.php" alt="验证码怎么验证?" >
    <button type="submit">提交</button>
</form>
<?php if(trim(@$_POST['num'])){
        session_start();
        if(isset($_POST['yzm'])){
            if($_SESSION["str"]==$_POST['yzm']){
              echo "right";
            }else{
              echo "wrong";
          }
        }
        
        $pdo=new PDO("mysql:host=localhost;dbname=t1","root","");
        $stmt=$pdo->prepare("insert into test(num)values(:num)");
        $stmt->execute($_POST);
    }
    
?>


</code>

<code><?php if(trim(@$_POST['num'])){
        session_start();
        if(isset($_POST['yzm'])){
            if($_SESSION["str"]==$_POST['yzm']){
                echo "right";
                $pdo=new PDO("mysql:host=localhost;dbname=t1","root","");
                $stmt=$pdo->prepare("insert into test(num)values(:num)");
                $stmt->execute(array(':num'=>$_POST['num']);
            }else{
                echo "wrong";
          }
        }
    }
?>
</code>

这样写即可

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn