Php 提交表单时未读取验证码值

Php 提交表单时未读取验证码值,php,forms,Php,Forms,我在提交PHP表单时遇到了一个问题。我无法读取表单提交中的验证码字段值。这是密码 HTML <div class="container"> <h2 class="centertitle">Contact Us</h2> <div id="message"></div> <form method="post" action="php/contact.php" name="contactform" id="conta

我在提交PHP表单时遇到了一个问题。我无法读取表单提交中的验证码字段值。这是密码

HTML

<div class="container">
   <h2 class="centertitle">Contact Us</h2>
   <div id="message"></div>
   <form method="post" action="php/contact.php" name="contactform" id="contactform">
      <div class="row">
          <div class="col-sm-3">
              <input type="text" name="name" placeholder="Name" id="name" class="form-control" />
          </div>
          <div class="col-sm-3">
              <input type="text" name="email" placeholder="Email" id="email" class="form-control" />
          </div>
          <div class="col-sm-3">
              <input type="text" name="phone" placeholder="Phone" id="phone" class="form-control" />
          </div>

          <div class="col-sm-3">
              <div id="captcha">
                <input type="text" name="verify" id="verify" class="form-control" placeholder="Enter Captcha" />
                <img src="php/image.php" alt="well, this is out capcha image" class="captcha" />
              </div>
          </div>
          </div>
          <div class="row">
            <div class="col-sm-12 text-center">
              <input type="submit" name="send" value="Submit" id="submit" class="sbtn" /> 
          </div>
       </div>
   </form>
</div><!-- /.container -->
我是PHP的初学者&在过去的几个小时里,我一直在学习这段代码。请帮忙


这是一个实时URL-

如果您想使用$\u POST读取表单数据,表单标记需要如下所示

<form action='contact.php' method='post'>

如果要使用$\u POST读取表单数据,表单标记需要如下所示

<form action='contact.php' method='post'>

如果会话变量是由
image.php
脚本创建的,则不要回显会话变量,并将其公开给用户会使验证码变得毫无意义

HTML


如果会话变量是由
image.php
脚本创建的,则不要回显它,并将其公开给用户会使验证码变得毫无意义

HTML


添加会话_start()后解决的问题;in contact.php

 <?php

  session_start();

  *********************************************************

  $verify   = $_POST['verify'];
  $captcha = $_SESSION["security_number"];

  *********************************************************
  if(trim($verify) == '') {
    echo '<div class="error_message">Attention! Please Verify CAPTCHA.</div>';
    exit();
  }else if(trim($verify) != trim($captcha)) {
    echo  '<div class="error_message">Attention! The verification number you entered is incorrect.</div>';
    exit();
  }

  *********************************************************

?>
最终代码(contact.php)


添加会话_start()后问题已解决;in contact.php

 <?php

  session_start();

  *********************************************************

  $verify   = $_POST['verify'];
  $captcha = $_SESSION["security_number"];

  *********************************************************
  if(trim($verify) == '') {
    echo '<div class="error_message">Attention! Please Verify CAPTCHA.</div>';
    exit();
  }else if(trim($verify) != trim($captcha)) {
    echo  '<div class="error_message">Attention! The verification number you entered is incorrect.</div>';
    exit();
  }

  *********************************************************

?>
最终代码(contact.php)



您是否确认
$\u会话['security\u number']
正在返回值?您所做的完全违背了验证码的目的,如果($\u POST'verify']===$\u会话['security\u number']),则应该是
{
不要将会话变量回显到表单中默认的表单方法是GET,因此POST中没有可用的变量。@cmorrissey两者都是不同的页面。那么如何获取$\u session[“security\u number”]的值在contact.php?抱歉,如果我理解错了。我还在学习PHP@sri会话变量存储在服务器端您是否确认
$\u会话['security\u number']
正在返回一个值?您所做的完全违背了验证码的目的,如果($\u POST'verify']===$\u会话[“security\u number”]),则应该是
{
不要将会话变量回显到表单中默认的表单方法是GET,因此POST中没有可用的变量。@cmorrissey两者都是不同的页面。那么如何获取$\u session[“security\u number”]的值在contact.php?抱歉,如果我理解错了。我还在学习PHP@sri会话变量存储在服务器端感谢您的回复。它在实际代码中。它仍然没有帮助。我得到$Verify的值如果您问题中的代码不是实际代码,我们无法帮助您。我们正在查看您在qu中键入的代码估计。你可能对我们隐藏的实际代码有一个输入错误。谢谢你的回答。它在实际代码中。它仍然没有帮助。我得到$Verify的值。如果你问题中的代码不是实际代码,我们无法帮助你。我们正在查看你在问题中输入的代码。你可能在a中有一个输入错误你对我们隐瞒的真实密码。
<form action="contact.php" method="post">
  <div id="captcha">
    <img src="php/image.php" alt="well, this is out capcha image" class="captcha" />
    <input type="text" name="verify" id="verify" class="form-control" placeholder="Enter Captcha" />
  </div>
</form>
 session_start();
 if($_POST'verify'] == $_SESSION["security_number"]) {
      echo 'captcha matched';
 } else {
      echo 'bad captcha';
 }
 <?php

  session_start();

  *********************************************************

  $verify   = $_POST['verify'];
  $captcha = $_SESSION["security_number"];

  *********************************************************
  if(trim($verify) == '') {
    echo '<div class="error_message">Attention! Please Verify CAPTCHA.</div>';
    exit();
  }else if(trim($verify) != trim($captcha)) {
    echo  '<div class="error_message">Attention! The verification number you entered is incorrect.</div>';
    exit();
  }

  *********************************************************

?>