Facebook Sharer
选择您要替换的背景颜色:
【农历新年】背景图片:
个性化设定
 注册  找回密码
查看: 6098|回复: 17
打印 上一主题 下一主题

[询问]PHP login的问题。。。劳烦大家

[复制链接]

53

主题

4

好友

795

积分

青铜长老

Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

跳转到指定楼层
1#
发表于 2011-6-29 12:08 AM |只看该作者 |倒序浏览
index.php

  1. <html>
  2. <script>
  3. @import url(design.css);
  4. </script>
  5. <head>
  6. <title>Scholarship & Bursary - Home</title>
  7. </head>
  8. <script language="JavaScript">
  9. function Login_Validate(theForm)
  10. {
  11.         if(theForm.userid.value == "")
  12.         {
  13.                 alert('Please enter the User ID');
  14.                 theForm.id.focus();
  15.                 return(false);
  16.         }
  17.         if(theForm.password.value == "")
  18.         {
  19.             alert('Please enter the Password');
  20.                 theForm.password.focus();
  21.                 return(false);
  22.         }
  23. }
  24. </script>
  25. <body>
  26. <table align="center">
  27. <tr>
  28.         <td><img src="banner.jpg" alt="Southern College" width="1000" height="124"></td>
  29. </tr>
  30. <tr>
  31.         <td>
  32.                 <script>
  33.                 var mydate=new Date()
  34.                 var year=mydate.getYear()
  35.                 if (year < 1000)
  36.                 year+=1900
  37.                 var day=mydate.getDay()
  38.                 var month=mydate.getMonth()
  39.                 var daym=mydate.getDate()
  40.                 if (daym<10)
  41.                 daym="0"+daym
  42.                 var dayarray=new Array("Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday")
  43.                 var montharray=new Array("January","February","March","April","May","June","July","August","September","October","November","December")
  44.                 document.write("<small><font color='000000' face='Arial'><b>"+dayarray[day]+", "+montharray[month]+" "+daym+", "+year+"</b></font></small>")
  45.                 </script>
  46.                 <form action="login.php" name="loginForm" id="login" method="post" onsubmit="return Login_Validate(this)">
  47.                 <table align="right" style="font-size:0.8em">
  48.                 <tr>
  49.                         <td>User ID: </td>
  50.                         <td colspan="2"><input type="text" name="userid" id="userid" maxlength="11"/></td>
  51.                 </tr>
  52.                 <tr>
  53.                         <td>Password: </td>
  54.                         <td colspan="2"><input type="password" name="password" id="password" maxlength="8"/></td>
  55.                 </tr>
  56.                 <tr>
  57.                         <td></td>
  58.                         <td><input type="radio" name="lvl" id="student" value="student" checked="checked"/><label for="student">Student</label></td>
  59.                         <td><input type="radio" name="lvl" id="staff" value="staff"/><label for="staff">Staff</label></td>
  60.                 </tr>
  61.                 <tr>
  62.                         <td></td>
  63.                         <td><input type="submit" name="submit" value="Login"/></td>
  64.                         <td><input type="reset" name="submit" value="Clear"/></td>
  65.                 </tr>
  66.                 </table>
  67.                 </form>
  68.         </td>
  69. </tr>
  70. <tr>
  71.         <td style="background-color:pink">
  72.                 <a href="index.php" title="Home"><span>Home</span></a> |
  73.                 <a href="register.php" title="Register"><span>Register</span></a>
  74.         </td>
  75. <tr>
  76.         <td><hr/></td>
  77. </tr>
  78. </table>
  79. </body>
  80. </html>
复制代码
login.php

  1. <?php
  2. session_start();

  3. include("connect.php");

  4. if(isset($_POST["submit"]))
  5. {
  6.         $id = $_POST["userid"];
  7.         $password = $_POST["password"];
  8.         $lvl = $_POST["lvl"];
  9.        
  10.         if($id != "" && $password != "")
  11.         {
  12.                 if($lvl = "staff")
  13.                 {
  14.                         $result = mysql_query("SELECT * FROM staff_user WHERE userID = '$id' AND password = '$password'");
  15.                         if(mysql_num_rows($result) == 1)
  16.                         {
  17.                                 $level = mysql_result($result, '0', 'staffLVL');
  18.                                 $_SESSION['userlvl'] = $level;
  19.                                 $_SESSION['userid'] = $id;
  20.                                 echo "<script>window.location='admin.php'</script>";
  21.                         }
  22.                         else
  23.                         {
  24.                                 echo "<script>alert('Please check your USER ID and PASSWORD!')</script>";
  25.                                 echo "<script>window.location='admin.php'</script>";
  26.                         }       
  27.                 }
  28.                 else
  29.                 {
  30.                         $result = mysql_query("SELECT * FROM student_user WHERE userID = '$id' AND password = '$password'");
  31.                         if(mysql_num_rows($result) == 1)
  32.                         {
  33.                                 $_SESSION['userlvl'] = "Student";
  34.                                 $_SESSION['userid'] = $id;
  35.                                 echo "<script>window.location='applicant.php'</script>";
  36.                         }
  37.                         else
  38.                         {
  39.                                 echo "<script>alert('Please check your USER ID and PASSWORD!')</script>";
  40.                                 echo "<script>window.location='index.php'</script>";
  41.                         }
  42.                 }
  43.         }
  44.         else
  45.         {
  46.                 echo "<script>alert('Please check your USER ID and PASSWORD!')</script>";
  47.                 echo "<script>window.location='index.php'</script>";
  48.         }
  49. }
  50. ?>
复制代码
小弟新手一个...都是自学的...google找了几天都找不到解决方法
就在这一段

  1. $result = mysql_query("SELECT * FROM staff_user WHERE userID = '$id' AND password = '$password'");
  2. if(mysql_num_rows($result) == 1)
  3. {
  4.         $level = mysql_result($result, '0', 'staffLVL');
  5.         $_SESSION['userlvl'] = $level;
  6.         $_SESSION['userid'] = $id;
  7.         echo "<script>window.location='admin.php'</script>";
  8. }
  9. else
  10. {
  11.         echo "<script>alert('Please check your USER ID and PASSWORD!')</script>";
  12.         echo "<script>window.location='index.php'</script>";
  13. }
复制代码
无论我打的id和password对或错都一定会会进到else里面
出现Please check your USER ID and PASSWORD!这一段
然后会有     window.location='admin.php'"; } else { echo "    的字眼出现在网页里
我在很多情况下都会出现这种字,然后script就不会去别的page了

有人可以教教我吗?谢谢 ~.~




收藏收藏0

16

主题

0

好友

1188

积分

黄金长老

Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8

2#
发表于 2011-6-29 12:43 AM |只看该作者
不知道是不是这个问题
14                if($lvl = "staff")
换去if($lvl == "staff")


回复

使用道具 举报

53

主题

4

好友

795

积分

青铜长老

Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

3#
发表于 2011-6-29 12:56 AM |只看该作者
回复 2# leon_lcl


    试过了还是一样的问题 =.="


回复

使用道具 举报

6

主题

0

好友

397

积分

超级会员

Rank: 5Rank: 5Rank: 5Rank: 5Rank: 5

4#
发表于 2011-6-29 06:59 AM |只看该作者
本帖最后由 weeming21 于 2011-6-29 07:00 AM 编辑
index.phplogin.php小弟新手一个...都是自学的...google找了几天都找不到解决方法
就在这一段无论我打的id ...
duaduawind 发表于 2011-6-29 12:08 AM


你在$result = mysql_query("SELECT * FROM staff_user WHERE userID = '$id' AND password = '$password'");
这行下面加多
  1. echo mysql_error();
复制代码
看看是不是mysql出错了

顺便也
  1. echo mysql_num_rows($result);
复制代码


回复

使用道具 举报

7

主题

1

好友

5108

积分

一流名嘴

Rank: 12Rank: 12Rank: 12

5#
发表于 2011-6-29 11:02 AM |只看该作者
index.phplogin.php小弟新手一个...都是自学的...google找了几天都找不到解决方法
就在这一段无论我打的id ...
duaduawind 发表于 2011-6-29 12:08 AM

  1. if($id != "" & $password != "")
复制代码
  1. if($lvl = "staff")   
复制代码

检查清楚哪部份錯了

  1. if(mysql_num_rows($result) == 1)
复制代码

如果資料庫相同的資料重复那此條件就無法成立


回复

使用道具 举报

53

主题

4

好友

795

积分

青铜长老

Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

6#
发表于 2011-6-29 11:13 AM |只看该作者
回复 5# Super-Tomato


    我的资料库里的确有相同的资料
不过是在不同的table里,请问这样会影响到吗?
我以为在不同的table里用一样的attribute name没问题?


回复

使用道具 举报

53

主题

4

好友

795

积分

青铜长老

Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

7#
发表于 2011-6-29 11:23 AM |只看该作者
回复 4# weeming21


    还是一样...让我有种想丢电脑的感觉...


回复

使用道具 举报

46

主题

6

好友

6456

积分

百变名嘴

Rank: 13Rank: 13Rank: 13Rank: 13

8#
发表于 2011-6-30 08:03 PM |只看该作者
本帖最后由 宅男-兜着走 于 2011-6-30 08:09 PM 编辑

回复 1# duaduawind

  1.   // 检查 POST 过来的资料是否成功POST 到。
  2. // 应该 echo $id, echo $password 出来看看.
  3.   echo $id;
  4.   echo $password;
  5.    if($id != "" & $password != "")
  6.         {
  7.   
复制代码

  1.    // 检查是否真的有这笔资料存在, 然后 你应该放 mysql_num_rows >= 1 , 酱也许就能避免你的 duplicate row 问题。

  2.     mysql_num_rows($result) >= 1
  3.   
复制代码

  1.    $sql = "SELECT * FROM staff_user WHERE userID = '$id' LIMIT 1";
  2.    // 先找出 符合 ID 条件的资料出来
  3.    $resourse = mysql_query($sql);
  4.    $rows = mysql_fetch_assoc($resourse);
  5.    if(mysql_num_rows($rows) > 0){
  6.     echo "record found " .$rows["password"] . " with id: ". $rows["userID"];  // debug 看看是不是有符合的资料出来。

  7.     if($rows["password"] == $password) // << select 出来了才来检查password.
  8.        header("Location: admin.php"); // match 到了, redirect 去 admin.php
  9.    }
  10.   
复制代码
再或者不成功的话, 这句很有疑点。 if($lvl = "staff") <<
换成 $lvl == "staff"  才对。
  因为你两边的 alert message 都一样, 很容易混乱。 或 放成   if($lvl == "staff" || $lvl == "")


回复

使用道具 举报

53

主题

4

好友

795

积分

青铜长老

Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

9#
发表于 2011-7-3 01:42 AM |只看该作者
回复 8# 宅男-兜着走


   谢谢哦...login我不知不觉中就解决了... ==
只是present之前就出现问题...
反正都过去了就算了 =.="
只想有人可以告诉我真正错在哪里,不过全部太多东西了
应该没人愿意花时间看我的东西又解释给我听吧


回复

使用道具 举报

3

主题

2

好友

1234

积分

黄金长老

xXpurpleXx

Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8

10#
发表于 2011-7-3 10:42 PM |只看该作者
回复  宅男-兜着走


   谢谢哦...login我不知不觉中就解决了... ==
只是present之前就出现问题...
反 ...
duaduawind 发表于 2011-7-3 01:42 AM

这位仁兄...你有兴趣的话明天带你去见高人


回复

使用道具 举报

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

JBTALKS.CC |联系我们 |隐私政策 |Share

GMT+8, 2024-11-29 07:29 AM , Processed in 0.104737 second(s), 27 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

Ultra High-performance Dedicated Server powered by iCore Technology Sdn. Bhd.
Domain Registration | Web Hosting | Email Hosting | Forum Hosting | ECShop Hosting | Dedicated Server | Colocation Services
本论坛言论纯属发表者个人意见,与本论坛立场无关
Copyright © 2003-2012 JBTALKS.CC All Rights Reserved
合作联盟网站:
JBTALKS 马来西亚中文论坛 | JBTALKS我的空间 | ICORE TECHNOLOGY SDN. BHD.
回顶部