code.php//这是一个创建验证码的类。以下是该文件的内容。
<?php
class code
{
.......
}
session_start();
$code = new code(50,20,4);//创建一个验证码对象。长50,宽20,四位随机数。
$_SESSION['num'] = $code->image();//使用其中的成员函数,来真正生成一个验证码图像。并返回随机数的值,赋给一个session变量。
?>
这是一个注册页面,叫:register.php。里面有个注册表单,包含一个验证码。
register.php
<form action="" method="post">
验证码:<input type="text" id="code" ><br />
<img id="code" src="code.php" />
</form>
<?php
//请问,我如何能在这里得到这个验证码的值呢?或是在本页面中,如何能得到上面显示的这个验证码的值?当然如果在其它页面中,是可以通过$_SESSION['num'] 得到这个值的。注意,我说的是在当前页面中如何得到这个值?
?>
<?php
class code
{
.......
}
session_start();
$code = new code(50,20,4);//创建一个验证码对象。长50,宽20,四位随机数。
$_SESSION['num'] = $code->image();//使用其中的成员函数,来真正生成一个验证码图像。并返回随机数的值,赋给一个session变量。
?>
这是一个注册页面,叫:register.php。里面有个注册表单,包含一个验证码。
register.php
<form action="" method="post">
验证码:<input type="text" id="code" ><br />
<img id="code" src="code.php" />
</form>
<?php
//请问,我如何能在这里得到这个验证码的值呢?或是在本页面中,如何能得到上面显示的这个验证码的值?当然如果在其它页面中,是可以通过$_SESSION['num'] 得到这个值的。注意,我说的是在当前页面中如何得到这个值?
?>
session_start();
$_SESSION['num'] //这个就是验证码的值
咱们分析下:
<img id="code" src="code.php" />
你的验证码是被包进来的,点击验证码,验证码的值也会发生变化,相应的session中的值也会发生变化。我有个提议:你在code.php中生成session时,也用流输出一个隐藏的<input type="hidden" id="" value=""/>把值赋给value,这样当你触发事件时,可以用JS通过id获得其中的值.
它的session和验证码是分离的,在数据库中保存。
-----------------------------------------------------------------------------------
(其实,我想:直接在<img id="code" src="code.php" />后面直接加上$_SESSION['num']应该也是能够显示出验证码值的,因为上一句code.php已经执行,那么验证码的值就已经赋给了$_SESSION['num'],所以此时候 echo $_SESSION['num'] 应该能够显示出验证码)