佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

查看: 782|回复: 8

[求助] php login page 问题 2

[复制链接]
发表于 12-6-2006 10:16 AM | 显示全部楼层 |阅读模式
<?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时,还是可以进到里面去~~~~
请问大大里头有什么错误???
多多指教~~~
回复

使用道具 举报


ADVERTISEMENT

发表于 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;
回复

使用道具 举报

Follow Us
 楼主| 发表于 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 ~~~
现在我该怎么做?
回复

使用道具 举报


ADVERTISEMENT

 楼主| 发表于 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 ~~~
现在我该怎么做?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

 

ADVERTISEMENT



ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 8-6-2024 06:48 PM , Processed in 0.056939 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表