PHP Session Not working and not giving any error -
in login.php have
<?php   require_once('connection.php'); $loginerr = ""; if(isset($_post['login'])) {   $email = mysqli_real_escape_string($conn,$_post['email']);   $pass = mysqli_real_escape_string($conn,$_post['password']);   $sel_user = "select * register email='$email' , password='$pass'";   $run_user = mysqli_query($conn, $sel_user);   $check_user = mysqli_num_rows($run_user);   if($check_user>0){     $_session['email'] = $email;     header('location: '.'index.php');   }   else {     $loginerr = "email or password not correct, try again!";   } } ?> basically if username , password matches creates session "email" , redirects index page.
in navbar common pages index , other. have
<ul class="nav navbar-nav navbar-right">  <?php if(!isset($_session['email'])) { ?>  <li><a href="login">login</a></li>     <li><a href="register.php">register</a></li>     <?php } else { ?> <li><a href="logout.php">logout</a></li>    <?php } ?> </ul> basically if there no session email login , logout shown , if session email set logout shown.
but showing login , register button if user logged in or logged out.
my logout page
<?php session_start(); session_unset($_session['email']); session_destroy(); header("location: index.php"); ?> i trying show logout button when user logged in , login, register button when not. not able find error in code , doesn't give error. showing login register button always.
thanks.
edit 1:
forgot mention session start in connection.php file
edit 2:
session_start(); have put on first line of login page , homepage same problem
edit 3: when var dump session after session set session value of email when var dump in homepage undefined index: email
you have start_session(); in connection.php. or can start here this...
<?php  require_once('connection.php'); $loginerr = ""; if(isset($_post['login'])) {   $email = mysqli_real_escape_string($conn,$_post['email']);   $pass = mysqli_real_escape_string($conn,$_post['password']);   $sel_user = "select * register email='$email' , password='$pass'";   $run_user = mysqli_query($conn, $sel_user);   $check_user = mysqli_num_rows($run_user);   if($check_user>0){     session_start();     $_session['email'] = $email;     header('location:index.php');   }   else {     $loginerr = "email or password not correct, try again!";   } } ?> and logout.php must this...
<?php //session_start();  no need start here session_unset($_session['email']); session_destroy(); header("location: index.php"); ?> does not start_session @ home page.because session started @ once. , try following code.
<ul class="nav navbar-nav navbar-right">  <?php if(isset($_session['email'])) { ?>   <li><a href="logout.php">logout</a></li>   <?php } else { ?> <li><a href="login">login</a></li>     <li><a href="register.php">register</a></li>     <?php } ?> </ul> 
Comments
Post a Comment