Php 提交表单时未读取验证码值
我在提交PHP表单时遇到了一个问题。我无法读取表单提交中的验证码字段值。这是密码 HTMLPhp 提交表单时未读取验证码值,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
<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();
}
*********************************************************
?>