做了一个登录页面,未登录时菜单栏显示的是login,点击login,弹出窗口,登录成功之后login->username,每次刷新页面都会变成login的未登录状态,现在在php里加了一个session,
问题是,请问我在home页 是否设置了session的if语句里怎样写才能保证刷新时不退出登录呢?
home:
session_start();
// include "maroon5/includes/dbh.php";
define ("root",$_SERVER['DOCUMENT_ROOT']);//定义根目录为常量
include root."maroon5/includes/dbh.php";
if(isset($_SESSION['id'])){
//**在这里怎样操作才能让刷新页面时保持登录呢?**
}
?>
Maroon5 | Official Sitejquery:
$(document).ready(function(){
$(document).on('click',"#submit",function(){
var email = $("#edit-name").val();
var pass = $("#edit-pass").val();
// alert (email);
$.ajax({
url:"functions/php/login.php",
type:"POST",
data:{ email:email,pass:pass},
beforeSend: function () {
},
success:function(data){
console.log(data);
// alert(data);
$("#edit-name").val(" ");
$("#edit-pass").val(" ");
// $("#user-login-register").hide();
$("#popup-box1").hide();
//login部分变化为用户头像和账户
$(".user-link-login").css({"display":"none"});
$(".user-menu").append(data);
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
alert(XMLHttpRequest.status);
alert(XMLHttpRequest.readyState);
alert(textStatus);
},
});
return false;
});
});
php:
session_start();
error_reporting(E_ALL);
ini_set('display_errors',1);
define ("root",$_SERVER['DOCUMENT_ROOT']);
// echo root;
include root.'/maroon5/includes/dbh.php';
// var_dump($_REQUEST);
$email = $_POST['email'];
$pass = $_POST['pass'];
$conn = mysqli_connect("localhost", "root", "", "maroon5");
$sql = "SELECT * FROM user WHERE email= '$email' AND pass='$pass' ";
$res = mysqli_query($conn, $sql);
$num = mysqli_num_rows($res);
$row = $res ->fetch_assoc();
if(!$email & !$pass){
echo "All fields required";
}elseif(!$email){
echo "Email required";
}elseif (!$pass) {
echo "Password required";
}elseif ($num == 0) {
echo "邮箱或密码不正确";
}else{
// echo "success";
$_SESSION['id'] = $row['id'];
?>
//登录成功时添加用户头像和用户名
" />
}
?>