php - Logout function works on one server not on another? -
i have basic php logout file destroy session on user , log them out of account. php file works on server php 5.2.17 (000webhosting).
but doesn't work on server php 5.3.21, doesn't logout user.
this code:
<?php session_start(); session_destroy(); $_session = array(); if(!session_is_registered('id')){ $msg = "you logged out"; } else { $msg = "<h2>could not log out</h2>"; } ?> <html> <body> <?php echo "$msg"; ?><br> <p><a href="login.php">click here</a> return our home page </p> </body> </html> does know whats causing issue?
i used on new server , still didn't work:
<?php session_start(); unset($_session['id']); session_destroy(); $_session = array(); if(!isset($_session['id'])){ $msg = "you logged out"; } else { $msg = "<h2>could not log out</h2>"; } ?> <html> <body> <?php echo "$msg"; ?><br> <p><a href="login.php">click here</a> return our home page </p> </body> </html> and here have far:
<?php error_reporting(e_all); ini_set('display_errors', '1'); ?> <?php session_start(); $_session[ 0 ] = "id"; session_destroy(); unset($_session['0']); if(!isset($_session['0'])){ $msg = "by clicking button below, agree logged out."; } else { $msg = "<h2>could not log out</h2>"; } ?> it strange have refresh members page once browser show users logged out. if don't page refresh, stay logged in!!!
session_is_registered() deprecated, instead try using this:
→ on page call session_register()
session_start(); $_session[ 0 ] = "id"; // in place of session_register() → , on page use session_is_registered()
→ edit: includes refresh tag "macgyver fix" session bug
session_start(); echo '<meta http-equiv="refresh" content="0">'; // auto-refresh if( !isset( $_session[ 0 ] ) ) // in place of session_is_registered() { echo "you logged out"; } else { echo "<h2>could not log out</h2>"; }
Comments
Post a Comment