我是Web开发的初学者,所以请理解我。我正在尝试使用php文件创建会话,并使用ajax请求在javascript中调用它。但是在地址栏中输入index.html的路径后,它始终显示索引。我想知道如何使用javascript和php做到这一点。如果没有活动的用户,则限制网站的所有页面。
例如逻辑:
if (userhasValue == true) {
//redirect to index and can access the whole website
} else {
// redirect to login page
}
我已经尝试了下面的代码,但是即使ajax请求中接收的数据为空,它仍会重定向到index.html。
<?php
include('config.php');
session_start();
$user_check = $_SESSION['login_user'];
$temparray = array();
$ses_sql = mysqli_query($db,"select user_id,username,fullname from user where username = '$user_check'");
$row = mysqli_fetch_array($ses_sql,MYSQLI_ASSOC);
if ($row > 0 ){
array_push($temparray, $row); //save your data into array
echo json_encode($temparray);
} else {
echo 'Error';
}
?>
function getUser(){
var user ='';
var fullname ='';
var id ='';
var tempArray = '';
var name = '';
$.ajax({
type:'POST',
url:'../bench/php/session.php',
data:'',
success:function(msg){
alert(JSON.stringify(msg));
let tempArray = JSON.parse(msg)
user = JSON.stringify(tempArray[0]['username']);
fullname = JSON.stringify(tempArray[0]['fullname']);
id = JSON.stringify(tempArray[0]['id']);
document.getElementById('fullname').innerHTML = fullname;
if (msg == 'Error') {
window.location.href = "../pages-login.html";
}
}, error: function(e){
console.log(e);
}, complete: function(c){
console.log(c);
}
});
}
如果用户未登录,则上面的代码不会限制index.html和其他页面的可访问性。
如果用户尝试在不登录的情况下重定向到索引页面,我想限制索引页面和其他页面。
请帮助我。任何帮助将不胜感激!预先感谢