<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Login</title>
<style>
label{
width:100px;
float:left;
}
</style>
</head>
<body>
<div class="login_form">
<form action="login.php" method="post" >
<p>
<label for="email">E-mail:</label>
<input name="email" type="text" id="email" size="30"/>
</p>
<p>
<label for="password">Password:</label>
<input name="pass" type="password" id="pass" size="30"/>
</p>
<p>
<input name="submit" type="submit" value="Submit"/>
</p>
</form>
</div>
<?php
echo $count;
session_start();
include('configdb.php');
mysql_select_db("upload_site2", $con);
// username and password sent from form
$email=$_POST['email'];
$pass=$_POST['pass'];
// To protect MySQL injection (more detail about MySQL injection)
$email = stripslashes($email);
$pass = stripslashes($pass);
$email = mysql_real_escape_string($email);
$pass = mysql_real_escape_string($pass);
$sql2=mysql_query("SELECT * FROM registration WHERE email='$email' and password='$pass'");
$result=mysql_query($sql2);
echo $email;
// 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("email");
session_register("password");
header("location:member.php");
}
else{echo'wrong';}
?>
</body>
</html>
when i open the page of this code ,it directly shows me the echo (wrong) on the screen before i even write the email and pass .also when i enter the email and pass its not redirected to “member.php” but it stays on the same page…thnx for the help
To solve the problem of it trying to login before you submit the form you need to wrap the login code in an if statement, which will determine if the form was submitted.
The second problem of it not redirecting is probably due to your echo’s which happen before the redirect. You can’t echo or print anything before a redirect. So remove all of those echo $count and echo $email etc.
Also check your error log or turn on error reporting for further details. Finally, use mysql_error() to debug a query if you think it’s not working.
Turn on error reporting (at the very top of the script):
Another problem you have is this code:
Change it to