Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将HTML表单中的用户输入与我的SQL数据库中的数据匹配_Php_Mysql - Fatal编程技术网

Php 将HTML表单中的用户输入与我的SQL数据库中的数据匹配

Php 将HTML表单中的用户输入与我的SQL数据库中的数据匹配,php,mysql,Php,Mysql,我正在尝试在我的网站上设置一个电话号码验证系统。我使用的逻辑是:- 1) 用户单击一个按钮,该按钮显示get phone number verification done(完成电话号码验证)。(运行一个脚本,该脚本会发送一条短信,其中包含一个使用Rand()生成的随机号码。该号码还存储在数据库中的该用户行中 <html> <head> </head> <body>

我正在尝试在我的网站上设置一个电话号码验证系统。我使用的逻辑是:-

1) 用户单击一个按钮,该按钮显示get phone number verification done(完成电话号码验证)。(运行一个脚本,该脚本会发送一条短信,其中包含一个使用Rand()生成的随机号码。该号码还存储在数据库中的该用户行中

  <html>
        <head>
        </head>
           <body>
             <form id="sms2" name="sms2" method="POST" action="index.php?option=com_content&view=article&id=83">
              <table width= "400">

                 <tr>
                   <td align="right" valign="top">Verification Code:</td>
                   <td align="left"><textarea name="veficationcode" cols="82" rows="5" id="veficationcode"></textarea></td>
                 </tr>
                 <tr>
                   <td colspan="4" align="right"><input type="submit" name= "submit" value="submit"/>
                   </td>
                 </tr>
                </table>
              </form>

            </body>
    </html>



<?php


Global $_CB_framework;

$myId = $_CB_framework->myId();
$cbUser =& CBuser::getInstance( $myId );

if ( ! $cbUser ) {
 $cbUser =& CBuser::getInstance( null );
}

$user =& $cbUser->getUserData();

echo$myId;
        $servername = "";
    $username = "";
    $password = "";
    $dbname = "";

    // Create connection
    $conn = new mysqli($servername, $username, $password, $dbname);
    // Check connection
    if ($conn->connect_error) {
        die("Connection failed: " . $conn->connect_error);
    } 

    $sql = "UPDATE tablename SET phoneverificationcode ='$phverf'
    WHERE id = $myId";


    if ($conn->query($sql) === TRUE) {
        echo "New record created successfully";
    } else {
        echo "Error: " . $sql . "<br>" . $conn->error;
    }

    $conn->close();
    ?>

验证码:

由于要对照数据库中的字段名
phoneverificationcode
进行检查,请将
If语句更改为:

  if($verificationcode == $row['phoneverificationcode']){echo "SUCCESS!!!";}

                    else{
                    echo "verification code mismatch". "Please try again.";

                    }

我将if语句放在while循环中,解决了这个问题。`if($result=mysqli_query($connect,$query)){ while($row=mysqli_fetch_assoc($result)){if($row[“cb_phoneverificationcode”]==$row[“cb_userinputphonecode”]){echo“SUCCESS!!!”;}

否则{echo“验证码不匹配。请重试”;}
}`

我面临的问题是,它总是说存在不匹配。需要帮助吗?不确定我在这里遗漏了什么?编辑您的问题以包括实际问题,不要将其添加到评论中。-您在哪里设置
$myId
?匹配
$row[0]
不仅
$row
$verificationcode==$row
可能的重复项看起来$phverf/$myId似乎未定义…如果您检查数据库,您的数据是否实际被存储?请使用更多代码编辑您的文章,您也可以更新您的代码格式。我编辑过,但其行为仍然相同并显示验证代码不匹配…我还插入了一个echo语句,以查看它正在检索的DB值,但echo没有显示任何内容echo$row['phoneverificationcode'];现在,当我将代码更改为:-步骤2:-$query=“从tablename中选择phoneverificationcode,其中id=$myId”;$result=mysqli_query($connect,$query);if(mysqli_num_rows($result)>0){while($row=mysqli_fetch_assoc($result))echo“db queryresult=”.$row['phoneverificationcode'];}else{echo“0结果”;}if($verificationcode==$row['phoneverificationcode']){echo“成功!!!”}我用完全相同的值回显客户输入和它们匹配的查询结果If语句给出了验证代码不匹配。只有在语句失败时??现在的问题是,对于If语句,即使值不匹配,它也总是给出成功的结果,我已经更改了代码,因为我必须解决此问题:-If($row)['cb_userinputphonecode']==$row['cb_phoneverificationcode']]{echo“成功!!!”;}否则{echo“验证码不匹配。请重试”;}好的……请用两个等号重试……'='而不是'=='…。您能发布您的select语句吗……请使用==,$query=“从
t4qcm\u comprofiler
中选择
cb\u userinputphonecode
cb\u phoneverificationcode
,其中
id
=$myId”;我还回显了变量转储,并且回显正确显示了单元格值,但变量转储()显示null,因此即使由于用户输入不正确而导致值不匹配,它们也始终显示为匹配
  if($verificationcode == $row['phoneverificationcode']){echo "SUCCESS!!!";}

                    else{
                    echo "verification code mismatch". "Please try again.";

                    }