查看: 782|回复: 8
|
[求助] php login page 问题 2
[复制链接]
|
|
<?php
session_start();
$userid = $_POST["userid"];
$initial = $_POST["initial"];
$connection = mysql_connect("localhost", "root", "3361009");
$db = "intelmicrodb";
mysql_select_db($db, $connection) or die("Could not open $db");
$sql = "Select * from auth_users where userid = '$userid' and
initial = '$initial'";
$result = mysql_query($sql, $connection) or die("Could not execute sql: $sql");
$num_rows = mysql_num_rows($result);
if ($num_rows > 1){
header("Location: index.php?id=welcome");
}else{
header("Location: index.php?id=failedlogon");
}
以上的coding看起来没错误,但是当小弟输入错大password时,还是可以进到里面去~~~~
请问大大里头有什么错误???
多多指教~~~ |
|
|
|
|
|
|
|
发表于 12-6-2006 03:45 PM
|
显示全部楼层
你的initial 是什么来的?如果是代表password的话。。。 我想这样的方式比较好。。。(个人意见)
$sql = "Select * from auth_users where userid = '$userid'
先找出有没有这个user....
然后才。。。validate password....
if(UserEnterPassword!=DBPassword){.....echo"";}
类似这样的检查。。。
你试看... |
|
|
|
|
|
|
|
发表于 13-6-2006 09:49 PM
|
显示全部楼层
看起来没问题, 有可能是你的 index.php 里出错. |
|
|
|
|
|
|
|
楼主 |
发表于 14-6-2006 09:05 AM
|
显示全部楼层
原帖由 goatstudio 于 13-6-2006 09:49 PM 发表
看起来没问题, 有可能是你的 index.php 里出错.
不过但是小弟把if ($num_rows > 1) 改成if ($num_rows = 1)的时候就会welcome 不管password对还是错~~~~
如果是 >1 的话就会fail login,不管password 对还是错~~~
它就是identify不到true or false~~ |
|
|
|
|
|
|
|
楼主 |
发表于 14-6-2006 09:06 AM
|
显示全部楼层
原帖由 lakupo 于 12-6-2006 03:45 PM 发表
你的initial 是什么来的?如果是代表password的话。。。 我想这样的方式比较好。。。(个人意见)
$sql = "Select * from auth_users where userid = '$userid'
先找出有没有这个user....
然后才。。 ...
你的方法小弟试了,但是还是不行~~~~ |
|
|
|
|
|
|
|
发表于 14-6-2006 09:14 AM
|
显示全部楼层
原帖由 heng_2009 于 14-6-2006 09:05 AM 发表
不过但是小弟把if ($num_rows > 1) 改成if ($num_rows = 1)的时候就会welcome 不管password对还是错~~~~
如果是 >1 的话就会fail login,不管password 对还是错~~~
它就是identify不到true ...
当你在 php 里做比较的话, 应该用:
if ($num_rows == 1)
另外, 如果 $num_row 不断出问题的话, 不妨把 $num_row 打印出来看看. 这样写:
echo $num_row; |
|
|
|
|
|
|
|
楼主 |
发表于 14-6-2006 11:17 AM
|
显示全部楼层
原帖由 goatstudio 于 14-6-2006 09:14 AM 发表
当你在 php 里做比较的话, 应该用:
if ($num_rows == 1)
另外, 如果 $num_row 不断出问题的话, 不妨把 $num_row 打印出来看看. 这样写:
echo $num_row;
哦~~~
小弟就试试下~~~~
这是小弟第一次用PHP语言写网页~~~ |
|
|
|
|
|
|
|
楼主 |
发表于 14-6-2006 11:50 AM
|
显示全部楼层
原帖由 goatstudio 于 14-6-2006 09:14 AM 发表
当你在 php 里做比较的话, 应该用:
if ($num_rows == 1)
另外, 如果 $num_row 不断出问题的话, 不妨把 $num_row 打印出来看看. 这样写:
echo $num_row;
试了,result是 0。
不管密码对或错都是 0 ~~~
现在我该怎么做? |
|
|
|
|
|
|
|
楼主 |
发表于 14-6-2006 11:52 AM
|
显示全部楼层
原帖由 goatstudio 于 14-6-2006 09:14 AM 发表
当你在 php 里做比较的话, 应该用:
if ($num_rows == 1)
另外, 如果 $num_row 不断出问题的话, 不妨把 $num_row 打印出来看看. 这样写:
echo $num_row; 原帖由 goatstudio 于 14-6-2006 09:14 AM 发表
当你在 php 里做比较的话, 应该用:
if ($num_rows == 1)
另外, 如果 $num_row 不断出问题的话, 不妨把 $num_row 打印出来看看. 这样写:
echo $num_row;
试了,result是 0。
不管密码对或错都是 0 ~~~
现在我该怎么做? |
|
|
|
|
|
|
| |
本周最热论坛帖子
|