【发布时间】:2014-03-11 03:45:35
【问题描述】:
我正在尝试使用我相同的服务器端 php 表单邮件程序将一些非常简单的 PHP CAPTCHA 代码添加到我现有的 HTML Web 表单中。
带有简单验证码的示例表单:
<?
session_start();
?>
<html>
Number challange test<br />
<br />
</html>
<body>
<?
// check login - only code
if (isset($_REQUEST['submit'])) {
echo "running code comparison now ";
if ($_SESSION['captcha']==$_REQUEST['code']) echo 'login ok';
else echo 'login failed';
}
else {
?>
<form action="<? echo $PHP_SELF ?>" method="POST">
Username: <input type="text" name="username" /><br />
Password: <input type="text" name="password" /><br />
<img src="example.php" />
Code: <input type="text" name="code" /><br />
<input type="submit" name="submit" value="Login" />
</form>
<? } ?>
</body>
</html>
我的具体问题是,如何修改上述表单概念以将我的表单数据提交到我的服务器端 form_mailer.php,(不提交给自身)并验证 'captcha' 值 = '@987654323 @'?
我试图读取/显示$_SESSION['captcha'] 的值(它是一个 4 位数字),但我对 Echo 所做的任何操作都不会显示该值。我想如果我(可以读取/显示)这个值,我可以即时验证代码。
我正在测试独立于提交按钮的验证按钮的使用。这就是我想用一个提交按钮来完成的事情。
example.php 代码:
<?
session_start();
include('captcha_numbers.php');
$captcha = new CaptchaNumbers(4);
$captcha -> display();
$_SESSION['captcha'] = $captcha -> getString();
?>
【问题讨论】: