Jump to content

Help? (Sessions)


snwspeck

Recommended Posts

Basically I am trying to make a login with sessions but its just not working. Can someone look and see for any errors in what I wrote or snippet suggestions?

<?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
    $username = clean($_POST['username']);
    $password = clean($_POST['password']);
    
    //Input Validations
    if($username == '') {
        $errmsg_arr[] = 'Username missing';
        $errflag = true;
    }
    if($password == '') {
        $errmsg_arr[] = 'Password missing';
        $errflag = true;
    }
    
    //If there are input validations, redirect back to the login form
    if($errflag) {
        $_SESSION['ERRMSG_ARR'] = $errmsg_arr;
        session_write_close();
        header("location: login.php");
        exit();
    }
    
    //Create query
    $qry="SELECT * FROM users WHERE AND username='$username' AND password='$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_USERNAME'] = $member['username'];
            $_SESSION['SESS_EMAIL'] = $member['email'];
            $_SESSION['SESS_BETAKEY'] = $member['betakey'];
            $_SESSION['SESS_PIN'] = $member['pin'];
            session_write_close();
            header("location: member-index.php");
            exit();
        }else {
            //Login failed
            $errmsg_arr[] = 'Username/Password Invalid';
            $_SESSION['ERRMSG_ARR'] = $errmsg_arr;
            session_write_close();
            header("location: login.php");
            exit();
    }
    }else {
        die("Query failed");
    }
?>

Link to comment
https://forums.phpfreaks.com/topic/217982-help-sessions/
Share on other sites

I used mysql_error(); and the page just goes white.

 

well

 

    $qry="SELECT * FROM users WHERE AND username='$username' AND password='$password'";

 

you put WHERE and AND together...  I figured you would see that and help you solve the problem yourself..

 

 

should be

 

 

  $qry="SELECT * FROM users WHERE  username='$username' AND password='$password'";

 

 

 

 

Link to comment
https://forums.phpfreaks.com/topic/217982-help-sessions/#findComment-1131278
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.