php + javascript 验证验证码

majia_2009 2009-08-08 03:20:24
请教一个问题:
我用php做一个验证码,保存在number.php种,调用number.php后,验证码的值就保存到了$_Session['checkcode']中
我想用javascript在当前页面验证输入的验证码是否正确,该怎么做了?
我在网上搜了很久也没有找到javascript如何访问session哦

<html>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<body>
<form name="form1">
<table width="300" border="1">
<tr>
<td width="100">验证码</td>
<td width="100"><input type="text" name="checkcode" id="checkcode" width="50" onblur="javascript:checknumber(this.value)"/></td>
<td width="100"><img src="number.php" name="number" id="number" onclick="javascript:renumber()" alt="看不清,换一张" /></td>
</tr>
<tr>
<td colspan="3"> <input type="text" id="showcode"></td>
</tr>
</table>

</form>
</body>
</html>
<script language="javascript" type="text/javascript">
function checknumber(msg)
{
//怎么判断验证码是否正确?
document.getElementById('showcode').value=msg;

}

function renumber()
{
document.getElementById('number').src="number.php?"+ Math.random();
}
</script>

...全文
163 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
majia_2009 2009-08-09
  • 打赏
  • 举报
回复
我刚学一个星期php哦,还要学javascript
现在你又让我学ajax, prototype.js, jquery.js等。。。。。
我也想周末两天把这些都学会了,可惜我还没那么强悍
关键是下个星期一就要出来效果,呵呵

不过我用cookie实现了那个效果

谢谢你这么热心!
fenyao 2009-08-08
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 majia_2009 的回复:]
PHP codefunction renumber()
{
document.getElementById('number').src="number.php?"+ Math.random();
}
[/Quote]
这样就比较麻烦
采用ajax来做吧,很方便的
查一下prototype.js或者jquery.js等框架的用法,选择其中一个框架来实现ajax,比较容易些,网上有很多使用教程的。
majia_2009 2009-08-08
  • 打赏
  • 举报
回复


function renumber()
{
document.getElementById('number').src="number.php?"+ Math.random();
}
majia_2009 2009-08-08
  • 打赏
  • 举报
回复

<?php
session_start();
srand((double)microtime()*1000000);
$im=imagecreate(45,20);
$bk=imagecolorallocate($im,200,200,200);
imagefill($im,0,0,$bk);
$_SESSION["codenumber"]="";
for($i=0;$i<4;$i++){
$x=mt_rand(1,5);
$y=mt_rand(1,3);
$font=mt_rand(3,5);
$tmp=dechex(mt_rand(0,15));
$_SESSION['codenumber'].=$tmp;
imagestring($im,$font,($x+$i*10),$y,$tmp,imagecolorallocate($im,rand(0,130),rand(0,130),rand(0,130)));
}
imagepng($im);
imagedestroy($im);
?>
fenyao 2009-08-08
  • 打赏
  • 举报
回复
图片是生成在指定目录的吗?renumber怎么拿到图片路径的?
能不能贴上来看看,或者讲一下具体的执行过程
majia_2009 2009-08-08
  • 打赏
  • 举报
回复
点验证码的图片就可以刷新了

<img src="number.php" name="number" id="number" onclick="javascript:renumber()" alt="看不清,换一张" />
fenyao 2009-08-08
  • 打赏
  • 举报
回复
你怎么刷新验证码呢
majia_2009 2009-08-08
  • 打赏
  • 举报
回复
是这样吗?

<input type="hidden" id="test" value=<?php echo $_SESSION['codenumber']?>>

但是这样之后,我如果点验证码的图片,刷新验证码之后,这个值就没有刷新哦

但是如果在javascript:renumber里面重新个这个赋值的话,就又要调用session了

要是在number.php那个文件里面刷新的话,也只能存在session里面,不知道怎么才能在更新验证码的同时,更新hidden的值了?
fenyao 2009-08-08
  • 打赏
  • 举报
回复
那就客户端和服务器端都验证吧

先将验证码的值赋给一个hidden
js验证时拿这个值与用户输入的验证码对比

如果正确,数据将会提交到服务器端,这个时候再用PHP验证一遍
blueforyou 2009-08-08
  • 打赏
  • 举报
回复
只能用Ajax来操作了
majia_2009 2009-08-08
  • 打赏
  • 举报
回复
还不会哦,刚刚学习php不到一个星期
fenyao 2009-08-08
  • 打赏
  • 举报
回复

如果只在客户端验证会不安全的,
你可以采用ajax的方式来验证
训练数据保存为deep_convnet_params.pkl,UI使用wxPython编写。卷积神经网络(CNN)是一种专门针对图像、视频等结构化数据设计的深度学习模型,在计算机视觉、语音识别、自然语言处理等多个领域有广泛应用。其核心设计理念源于对生物视觉系统的模拟,主要特点包括局部感知、权重共享、多层级抽象以及空间不变性。 **1. 局部感知与卷积操作** 卷积层是CNN的基本构建块,使用一组可学习的滤波器对输入图像进行扫描。每个滤波器在图像上滑动,以局部区域内的像素值与滤波器权重进行逐元素乘法后求和,生成输出值。这一过程能够捕获图像中的边缘、纹理等局部特征。 **2. 权重共享** 同一滤波器在整个输入图像上保持相同的权重。这显著减少了模型参数数量,增强了泛化能力,并体现了对图像平移不变性的内在假设。 **3. 池化操作** 池化层通常紧随卷积层之后,用于降低数据维度并引入空间不变性。常见方法有最大池化和平均池化,它们可以减少模型对微小位置变化的敏感度,同时保留重要特征。 **4. 多层级抽象** CNN通常包含多个卷积和池化层堆叠在一起。随着网络深度增加,每一层逐渐提取更复杂、更抽象的特征,从底层识别边缘、角点,到高层识别整个对象或场景,使得CNN能够从原始像素数据中自动学习到丰富的表示。 **5. 激活函数与正则化** CNN中使用非线性激活函数来引入非线性表达能力。为防止过拟合,常采用正则化技术,如L2正则化和Dropout,以增强模型的泛化性能。 **6. 应用场景** CNN在诸多领域展现出强大应用价值,包括图像分类、目标检测、语义分割、人脸识别、图像生成、医学影像分析以及自然语言处理等任务。 **7. 发展与演变** CNN的概念起源于20世纪80年代,其影响力在硬件加速和大规模数据集出现后真正显现。经典模型如LeNet-5用于手写数字识别,而AlexNet、VGG、GoogLeNet、ResNet等现代架构推动了CNN技术的快速发展。如今,CNN已成为深度学习图像处理领域的基石,并持续创新。 资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!

21,891

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧