Jump to content

Login Script Code


tommycahir

Recommended Posts

Hi All

 

I am a relative newbie to PHP and I am having issues with the below login script. I can get it to log me in correct no problems and validates the data correctly but what I want it to do is when the login fails I want it to return me to the index.php page and return a specific line of text along the lines of "username or password were incorrect please try again".

I can get it to return to the PHP page an d return an error but for some unknown reason to me it displays the error on the registration page.

 

BTW I have the returning to a page with error message if some fields are blank working for the registration page so not sure what i need to alter to get the same happening for a failed login

 

Any help you can give would be greatly appreciated:

 

Regards

Tommy

 

Below is my code for executing the login

<?php
    //Start session
    session_start();
    
    //Include database connection details
    require_once('config.php');
    
    //Array to store validation errors
    $errmsg_arr = array();
    
    //Validation error flag
    $errflag = false;
    
    //Connect to mysql server
    $link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);
    if(!$link) {
        die('Failed to connect to server: ' . mysql_error());
    }
    
    //Select database
    $db = mysql_select_db(DB_DATABASE);
    if(!$db) {
        die("Unable to select database");
    }
    
    //Function to sanitize values received from the form. Prevents SQL injection
    function clean($str) {
        $str = @trim($str);
        if(get_magic_quotes_gpc()) {
            $str = stripslashes($str);
        }
        return mysql_real_escape_string($str);
    }
    
    //Sanitize the POST values
    $login = clean($_POST['login']);
    $password = clean($_POST['password']);
    
    //Input Validations
    if($login == '') {
        $errmsg_arr[] = 'Login ID missing';
        $errflag = true;
    }
    if($password == '') {
        $errmsg_arr[] = 'Password missing';
        $errflag = true;
    }
    
    //Create query
    $qry="SELECT * FROM members WHERE login='$login' AND passwd='".md5($_POST['password'])."'";
    $result=mysql_query($qry);
    
    //Check whether the query was successful or not
    if($result) {
        if(mysql_num_rows($result) == 1) {
            //Login Successful
            session_regenerate_id();
            $member = mysql_fetch_assoc($result);
            $_SESSION['SESS_MEMBER_ID'] = $member['member_id'];
            $_SESSION['SESS_FIRST_NAME'] = $member['firstname'];
            $_SESSION['SESS_EMAIL'] = $member['email'];
            session_write_close();
            header("location: ../products.php");
            exit();
        }else {
      //Login failed
            //header("location: login-failed.php");
            $errmsg_arr[] = 'username or password were incorrect please try again';
          $errflag = true;
        }
    }else {
        die("Query failed");
    }
    
  //If there are input validations, redirect back to the login form
    if($errflag) {
        $_SESSION['ERRMSG_ARR'] = $errmsg_arr;
        session_write_close();
        header("location: ../index.php");
        exit();
    }
?> 

Link to comment
https://forums.phpfreaks.com/topic/152522-login-script-code/
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • 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.