2014-10-27 109 views
-3

我一直在尝试使这个登录表单。所有mySQL都是正确的,它连接到数据库,登录详细信息在输入时是正确的,但是我收到了PHP的错误和我的日志详细信息错误的消息。我是PHP/mySQL的新手,所以我不知道自己做错了什么!mySQL和PHP登录页面问题

Code for the page that connects to the database.

从PHP错误:警告:mysql_num_rows()预计参数1是资源,在/home/bluecode/public_html/intranet/checklogin.php空给出在第22行

表单中的变量是myusername和mypassword。

谢谢:)

<?php 


// username and password sent from form 
$username=stripslashes($_POST['myusername']); 
$password=sha1(stripslashes($_POST['mypassword'])); 


$host="localhost"; // Host name 
$username="bluecode_power"; // Mysql username 
$password="bluecode123"; // Mysql password 
$db_name="bluecode_login"; // Database name 
$tbl_name="members"; // Table name 

// Connect to server and select databse. 
mysql_connect("$id", "$username", "$password")or die("cannot connect"); 
mysql_select_db("$db_name")or die("cannot select databse"); 

$sql="SELECT * FROM `members` WHERE myusername=='$username' and mypassword=='$password'"; 

// Mysql_num_row is counting table row 
$count=mysql_num_rows($result); 


if($myusername == admin){ 
session_register("myusername"); 
session_register("mypassword"); 
header("location:login_success.php"); 
} 

// If result matched $myusername and $mypassword, table row must be 1 row 
if($count==1){ 



// Register $myusername, $mypassword and redirect to file "login_success.php" 
session_register("myusername"); 
session_register("mypassword"); 
header("location:login_success.php"); 
} 

else { 
echo "Wrong Username or Password"; 
} 
?> 
+0

我不认为你可以过滤瓦特/ == sql – morissette 2014-10-27 18:49:40

+0

请检查[mysqli](http://php.net/manual/en/book.mysqli.php),而不是使用现在折旧的mysql。 – Mason8r 2014-10-27 18:49:54

+0

嗯,管理员只需要用户名登录? – jeroen 2014-10-27 18:51:52

回答

3

SQL不检查使用==值,只用一个=

...where password='the secret' 

HTH

+0

谢谢:虽然没有解决问题。 :( – crablab 2014-10-27 18:51:41

+0

好吧,我会再看看,ppl喜欢你在这里粘贴你的代码,你可能已经遗漏了一些它,并仍然链接到pastebin。 – Cups 2014-10-27 18:53:28

+0

对不起,我是新来的!我想我有现在改变它! – crablab 2014-10-27 18:54:41