Jump to content

Php login script not working,please help!


raghu_tak
Go to solution Solved by mac_gyver,

Recommended Posts

hi friends
i am learning php from head first php book
i have written a login script code from book that is similar to it
but when i submit the user info
it display again this login script.
but when i run this book's code it works fine.
the both script are similar.
the following is my code and next to it is book's.
My code:-

<?php
session_start();
$errormsg="";
if(!isset($_SESSION['user_id']))
{
   if(isset($_POST['submit']))
   {
      $dbc=mysqli_connect('localhost','root','','mismatch')
      or die('Error connecting database');
      $uname=mysqli_real_escape_string($dbc,trim($_POST['user_name']));
      $pword=mysqli_real_escape_string($dbc,trim($_POST['pass_word']));

      if((!empty($uname))&&(!empty($pword)))
      {

         $query="SELECT * FROM 'mismatch'.'mismatch_user' WHERE username='$uname' AND password=SHA('$pword')";
         $result=mysqli_query($dbc,$query)
         or die('Error quering database');

         if(mysqli_num_rows($result) == 1)
         {
            $row=mysqli_fetch_array($result);
            $_SESSION['user_id']=$row['user_id'];
            $_SESSION['username']=$row['username'];
            echo'You have successfully logged in as '.$_SESSION['username'].'.<br/>';
            echo'<a href=edit.php>Edit your profile</a>';
            mysqli_close($dbc);
            
         }
         else
         {
            $errormsg='Sorry try different user name.';
         }
      }
      else
      {
         $errormsg='Please enter all the information to log in.';
      }
      
   }
}
?>
<html>
<head><title>
Log in
</title></head>
<body>
<h1 style="color:Darkcyan"><center>Welcome to Mismatch.com</center></h1>
<p><center><i>Please enter your log in info to access your page.</i></center></p>
<?php
if(empty($_SESSION['user_id']))
{
   echo $errormsg;
?>
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<fieldset>
<legend>Log in</legend>
<label for="user_name">Username:</label>
<input type="text" name="user_name" value="<?php if(!empty($uname)) echo $uname; ?>"/>

<label for="pass_word">Password:</label>
<input type="password" name="pass_word"/>
</fieldset>
<input type="submit" name="login" value="Log in">
</form>
<?php

}
?>
</body></html>





and here is book's code


<?php

  // Start the session
  session_start();

  // Clear the error message
  $error_msg = "";

  // If the user isn't logged in, try to log them in
  if (!isset($_SESSION['user_id'])) {
    if (isset($_POST['submit'])) {
      // Connect to the database
      $dbc = mysqli_connect('localhost','root','','mismatch');

      // Grab the user-entered log-in data
      $user_username = mysqli_real_escape_string($dbc, trim($_POST['username']));
      $user_password = mysqli_real_escape_string($dbc, trim($_POST['password']));

      if (!empty($user_username) && !empty($user_password)) {
        // Look up the username and password in the database
        $query = "SELECT user_id, username FROM mismatch_user WHERE username = '$user_username' AND password = SHA('$user_password')";
        $data = mysqli_query($dbc, $query);

        if (mysqli_num_rows($data) == 1) {
          // The log-in is OK so set the user ID and username session vars (and cookies), and redirect to the home page
          $row = mysqli_fetch_array($data);
          $_SESSION['user_id'] = $row['user_id'];
          $_SESSION['username'] = $row['username'];

         echo'you have successfully logged in as '.$_SESSION['username'].'.<br/>';
         echo'<a href=edit.php>Edit your profile</a>';
        }
        else {
          // The username/password are incorrect so set an error message
          $error_msg = 'Sorry, you must enter a valid username and password to log in.';
        }
      }
      else {
        // The username/password weren't entered so set an error message
        $error_msg = 'Sorry, you must enter your username and password to log in.';
      }
    }
  }
?>

<html>
<head>
  
  <title>Mismatch - Log In</title>
  
</head>
<body>
  <h3>Mismatch - Log In</h3>

<?php
  // If the session var is empty, show any error message and the log-in form; otherwise confirm the log-in
  if (empty($_SESSION['user_id'])) {
    echo $error_msg;
?>

  <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
    <fieldset>
      <legend>Log In</legend>
      <label for="username">Username:</label>
      <input type="text" name="username" value="<?php if (!empty($user_username)) echo $user_username; ?>" /><br />
      <label for="password">Password:</label>
      <input type="password" name="password" />
    </fieldset>
    <input type="submit" value="Log In" name="submit" />
  </form>

<?php
  
  }
?>

</body>
</html>


please help me friends!!

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.