Login Script

hi im new to programming with php… looking for some help with my login page. this is the code i have been using:
[php]<?php
$host=“localhost”; // Host name
$username=“root”; // Mysql username
$db_name=“userlist”; // Database name
$tbl_name=“users”; // Table name

// Connect to server and select databse.
mysql_connect("$host","$username") 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”;
}
?>[/php]

im getting this error:
Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\wamp\www\checklogin.php on line 27

line 27 is:

[php]$result=mysql_query($sql);[/php]

does any1 know what the problem could b here?

Looks like there are no fields with those details…
How bout use marks instead of ' : [php] $sql="SELECT * FROM $tbl_name WHERE username=$myusernameand password=$mypassword`";
[/php]

Good luck!

Your query is failing is the reason you are getting that error.

Try changing this part of your code: and see it that helps.

[php]
// username and password sent from form
$myusername=($_POST[‘myusername’]);
$mypassword=($_POST[‘mypassword’]);
[/php]

Change to:

[php]
// username and password sent from form
$myusername= $_POST[‘myusername’];
$mypassword= $_POST[‘mypassword’]; [/php]

If this doesn’t work add:
[php]
echo myusername .’
’. mypassword;
[/php]

directly prior to this line to make sure your varibles are being passed from your form.
[php]
$sql=“SELECT * FROM $tbl_name WHERE username=’$myusername’ and password=’$mypassword’”;[/php]

Sponsor our Newsletter | Privacy Policy | Terms of Service