Everytime I try to log into a site that I’ve developed for a client I get two error messages. One says incorrect username or password, and the other says: Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/mathlif1/public_html/checklogin.php on line 26, which is
$count=mysql_num_rows($result);
CHECKLOGIN.PHP
<?php
$host=“localhost”; // Host name
$username=“thisismyusername”; // Mysql username
$password=“)thisismypassword”; // Mysql password
$db_name=“thisismydbname”; // Database name
$tbl_name=“thisismytablename”; // Table name
// Connect to server and select databse.
mysql_connect(“$host”, “$username”, “$password”)or die(“cannot connect”);
mysql_select_db(“$db_name”)or die(“cannot select DB”);
// username and password sent from form
$myusername=$_POST[‘myusername’];
$mypassword=$_POST[‘mypassword’];
// To protect MySQL injection (more detail about MySQL injection)
$myusername = stripslashes($myusername);
$mypassword = stripslashes($mypassword);
$myusername = mysql_real_escape_string($myusername);
$mypassword = mysql_real_escape_string($mypassword);
$sql=“SELECT * FROM $tbl_name WHERE username=‘$myusername’ and password=‘$mypassword’”;
$result=mysql_query($sql);
// Mysql_num_row is counting table row
$count=mysql_num_rows($result);
// 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”;
}
?>
LOGIN_SUCCESS.PHP
// Check if session is not registered , redirect back to main page.
// Put this code in first line of web page.
<?
session_start();
if(!session_is_registered(myusername)){
header(“location:main_login.php”);
}
?>
<html>
<body>
Login Successful
</body>
</html>
MAIN_LOGIN.PHP
<table width=“300” border=“0” align=“center” cellpadding=“0” cellspacing=“1” bgcolor=“#CCCCCC”>
<tr>
<form name=“form1” method=“post” action=“checklogin.php”>
<td>
<table width=“100%” border=“0” cellpadding=“3” cellspacing=“1” bgcolor=“#FFFFFF”>
<tr>
<td colspan=“3”><strong>Member Login </strong></td>
</tr>
<tr>
<td width=“78”>Username</td>
<td width=“6”>:</td>
<td width=“294”><input name=“myusername” type=“text” id=“myusername”></td>
</tr>
<tr>
<td>Password</td>
<td>:</td>
<td><input name=“mypassword” type=“text” id=“mypassword”></td>
</tr>
<tr>
<td> </td>
<td> </td>
<td><input type=“submit” name=“Submit” value=“Login”></td>
</tr>
</table>
</td>
</form>
</tr>
</table>
LOGOUT.PHP
// Put this code in first line of web page.
<?
session_start();
session_destroy();
?>
My username, password, table name and database name are correct, and on the login form, the fields are correctly labeled. I’m trying to learn how to do this as quickly as possible but the login must be completed within a week from now, so if anyone can point out where my error(s) is, it would be appreciated.
Thanks