Undefined index: user_id. Where, user_id is session variable

Viewed 5280

I am trying to register user. After registering user is direct log on. So basically I want to start session after immediately registering.

But I am unable to do this because session variable does not set! It gives me headache :(

Please Help Me..

Here code of inserting into users table:

// Add register user 
if(isset($_POST["register_btn"]))
 {
    extract(array_map("test_input", $_POST));
    $md5pass=md5($password);

    $m->set_data('full_name',$full_name);
    $m->set_data('gender',$gender);
    $m->set_data('email',$email); 
    $m->set_data('mobile',$mobile);
    $m->set_data('password',$md5pass);
    $m->set_data('created_date',$date);
    $m->set_data('updated_date',$date);

    $a1= array ('role_id'=> 2,
                'full_name'=> $m->get_data('full_name'),
                'gender'=> $m->get_data('gender'),
                'email'=> $m->get_data('email'),
                'mobile'=> $m->get_data('mobile'),
                'password'=> $m->get_data('password'),
                'created_date' => $m->get_data('created_date'),
                'updated_date' => $m->get_data('updated_date'));

    $last_auto_id=$d->last_auto_id("users");
    $res=mysqli_fetch_array($last_auto_id);
    $user_id=$res['Auto_increment'];

    // inserting into users table
    $insert=$d->insert('users',$a1);

    if($insert>0)
    {
        // I am starting session here
        $_SESSION['user_id']=$user_id;
        header("location:account.php?msg=Your account has been created.");
    }
    else {
        header("location:account.php?msg=Error.");
    }
 }

Now if I try to print $_SESSION['user_id'] in below code:

<?php
    extract(array_map("test_input", $_GET));
    if(isset($msg)) {
        echo $msg . "<br/>";
        echo "Welcome, ".$_SESSION['user_id'] ;
    }
?>

It gives me output:

Your account has been created.

Notice: Undefined index: user_id in C:\xampp\htdocs\maxosale_client\account.php on line 30 Welcome,

I written session_start() in header and included in this above code so that's not the problem.

So here's my problem please help me.

4 Answers

If some sort of tricks are not working you can add error_reporting(0); before initializing session variables and you will get rid of it.

Related