Jump to content

User registration and log in .


TottoBennington

Recommended Posts

The trouble is when i log in later of register an user, it continue saying that my password is incorrect!

 

Is is the form for registration!

 

<?php 
echo  "<h1>REGISTER</h1>";

$submit = @ $_POST['submit'];
$fullname = strip_tags ( @ $_POST['fullname']);
$username = strtolower(strip_tags ( @ $_POST['username']));
$password = md5( strip_tags ( @ $_POST['password']));
$repeatpassword = md5 ( strip_tags ( @ $_POST['repeatpassword']));
$date = date ("Y-m-d");


if ($submit)
{ 
     $connect = mysql_connect("localhost","root","");
 mysql_select_db("login");

 $namecheck = mysql_query("SELECT username FROM users WHERE username='$username'");
 $count = mysql_num_rows($namecheck); 
 if ($count !=0) 
 {
 die ("Username already taken!");
 }
 if ($fullname&&$username&&$password&&$repeatpassword) 
 {
     
	  
	  
	 if ($password==$repeatpassword) 
	 {
	      
		  if (strlen ($username)> 25 || strlen ($fullname)> 25) 
		  {
		      echo "Length of username or fullname too long!";
		  }  
		  
		      else 
				 {
		         if (strlen ($password)> 100 || strlen ($password)< 5)
              		 {
				     echo "Password must be between 5 and 100 characters";
				 }
				        else
					    {
						  $password = md5 ($password);
	                      $repeatpassword = md5 ($repeatpassword);
						  
	                      $queryreg = mysql_query ("INSERT INTO users VALUES ( '','$fullname','$username','$password','$date')");
						  die ("You have been registered! <a href='index.php'>return to index </a>");
						}
		         }
		  
	 } 

		 else 
		 {
	      echo "Your passwords do not match!";
	     }

     } 

	 else  echo  "Please fill <b>all</b> of the fields !";
}

?>
<html>
     <p>
     <form action='register.php' method='POST'>
     <table>
	     <tr>
		     <td>
			    Your full name:
			 </td>
			 <td>
			    <input type='text' name='fullname' value='<?php echo $fullname; ?>'>
			 </td>
		 </tr>
		 <tr>
		     <td>
			    Choose a username:
			 </td>
			 <td>
			    <input type='text' name='username' value='<?php echo $username; ?>'>
			 </td>
		 </tr>
		 <tr>
		     <td>
			    Choose a password:
			 </td>
			 <td>
			    <input type='password' name='password'>
			 </td>
		 </tr>
		 <tr>
		     <td>
			    Repeat the password:
			 </td>
			 <td>
			    <input type='password' name='repeatpassword'>
			 </td>
		 </tr>
	 </table>
	 <p>
	 <input type='submit' name='submit' value='register'>
 </form>
</html> 

 

That's the log in page, i think the trouble is when i compare the passwords.

 

<?php
session_start ();
    $username = @ $_POST['username'];
    $password = @ $_POST['password'];

if($username&&$password) {
     $connect = mysql_connect ("localhost", "root","") or die ("could not connect");
     mysql_select_db ("login") or die ("could not find db");

 $query = mysql_query ("SELECT * FROM users WHERE username = '$username'") or die(mysql_error());	
          
 $numrows = mysql_num_rows ($query);	
	  
 if ($numrows!= 0) 
     {
         while ($row = mysql_fetch_assoc($query)) 
	 {
     $dbusername = $row ['username'];
	 $dbpassword = $row ['password'];
     }

         if ($username == $dbusername && md5 ($password) ==  $dbpassword) 
		         {
	             echo 'you are in! <a href="member.php">click here</a> to go to member page.';
                     $_SESSION['username'] = $username;
				 }
		         else echo 'Sorry incorrect password, try again <a href="index.php"> return to log in page </a>!';
			     
         } else  die ("that user doesen´t exist");

} else die ("Please enter username and password!");

?> 

 

HELP ME!

Link to comment
Share on other sites

What I would do first: check what you have in database (password) and compare it to the one which you are giving in login form.

<?php
session_start ();
    $username = @ $_POST['username'];
    $password = @ $_POST['password'];

if($username&&$password) {
     $connect = mysql_connect ("localhost", "root","") or die ("could not connect");
     mysql_select_db ("login") or die ("could not find db");

 $query = mysql_query ("SELECT * FROM users WHERE username = '$username'") or die(mysql_error());	
          
 $numrows = mysql_num_rows ($query);	
	  
 if ($numrows!= 0) 
     {
         while ($row = mysql_fetch_assoc($query)) 
	 {
     $dbusername = $row ['username'];
	 $dbpassword = $row ['password'];
     }

         if ($username == $dbusername && md5 ($password) ==  $dbpassword) 
		         {
	             echo 'you are in! <a href="member.php">click here</a> to go to member page.';
                     $_SESSION['username'] = $username;
				 }
		         else { echo 'Values: username: ' . $username . ', dbusername: ' . $dbusername . ', password: ' . md5($password) . ', dbpassword: ' . $dbpassword . '<br/>'; echo 'Sorry incorrect password, try again <a href="index.php"> return to log in page </a>!'; }
			     
         } else  die ("that user doesen´t exist");

} else die ("Please enter username and password!");

?>

Also: you can replace your query to this

$query = mysql_query ("SELECT username FROM users WHERE username = '$username' AND password = '" . md5($password) . "'") or die(mysql_error());
if ( mysql_num_rows ( $query ) == 1 ) { echo 'Success'; } else { echo 'Try again'; }

But thats after you find what you were doing wrong

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.