麻辣堂|资源主站|开发论坛|在线手册
首页 Apache Linux Java MySQL 注册帮助 
PHP项目开发组是PHP开发资源网于2007组年建成立的项目开发团队,目前核心开发成员有27人, 项目协作成员8名.下设7个开发组,主要承接大/中型网站项目开发任务。

    由于开发任务较多,人员比较紧张,现面向社会招聘全职或者兼职开发人员,不管你是在校大学生,还是全职开发人员,以及SOHO都可以联系本站,我们可以长期合作,并为您带来丰厚的报酬。
  您现在的位置:PHP开发资源网 > 麻辣堂 > 详细资料
待解决
这段登陆验证代码错在哪里?
悬赏分:20 - 2007年08月21日

环境:Apache 1.3.33 + MySQL 4.0.21 + PHP 4.3.10 想做一个这样的登陆验证网页,请问下面代码哪里不对?怎么修改?

错误1:任何验证码都无法通过验证。 错误2:好像没有验证 数据库中的用户名、密码。 authnum.php 全部代码 [php]<?php Header("Content-type:image/png"); session_start(); $authnum_session = ''; $str = 'abcdefghijkmnpqrstuvwxyz1234567890'; $l = strlen($str); for($i=1;$i<=4;$i++) { $num=rand(0,$l-1); $authnum_session.= $str[$num]; } $_SESSION['authnum_session'] = $authnum_session; srand((double)microtime()*1000000); $im = imagecreate(50,20); $black = ImageColorAllocate($im, 0,0,0); $white = ImageColorAllocate($im, 255,255,255); $gray = ImageColorAllocate($im, 200,200,200); imagefill($im,68,30,$gray); $li = ImageColorAllocate($im, 220,220,220); for($i=0;$i<3;$i++) { imageline($im,rand(0,30),rand(0,21),rand(20,40),rand(0,21),$li); } imagestring($im, 5, 8, 2, $authnum_session, $white); for($i=0;$i<90;$i++) { imagesetpixel($im, rand()%70 , rand()%30 , $gray); } ImagePNG($im); ImageDestroy($im); ?>[/php] login.php 全部代码 [php]<?php /* -------------------------------------------------------- CREATE TABLE user ( id smallint(6) NOT NULL auto_increment, user varchar(12) NOT NULL, passwd varchar(32) NOT NULL, UNIQUE id (id) ); insert into user(id,user,passwd) values('1','abcd','myabcd'); insert into user(id,user,passwd) values('2','test','mytest'); -------------------------------------------------------- */ session_start(); if ($_POST['user']=="" && $_POST['pass']=="" && !isset($HTTP_POST_VARS['authinput'])) { ?>

username: password: authnum:
<? } else { $myconn=mysql_connect("localhost","root","mypasswd"); mysql_select_db("mydb",$myconn); $strSql="select * from user where user='".$_POST['user']."' and passwd='".$_POST['pass']."'"; $result=mysql_query($strSql,$myconn); $row = mysql_fetch_array($result); $id = $row[id]; mysql_close($myconn); if($id="" || strcmp($HTTP_POST_VARS['authnum'],$HTTP_POST_VARS['authinput'])!==0) { echo "Login Fail!"; } else { echo "OK!
next page
"; } } ?>[/php]

提问者:nothing9   08-21 16:04
答复
路过。。。顺便帮顶:)
回答者:玉米づ冰冻可乐 - 瓦岗村民 8-22 09:10
我也来回答:
不管你有没有帮助我们,瓦岗寨8万村民将感谢你。。。。。

为防止灌水,您需要计算一道数学题: 答案:
6 + 61 = ? 请将计算结果填在上面

 
[]
©2007 PhpRes.COM