我已经在创建了会话
登录页面
<?php
session_start();
include 'dbconfig.php';
$username = $_POST['username'];
$password = $_POST['password'];
$sql = "SELECT * FROM login WHERE username = '$username' AND password= '$password' ";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
$_SESSION["userid"] = $row['user'];
echo $_SESSION["userid"];
}
} else {
echo "wrong";
}
$conn->close();
?>
FETCHING LOGIN
function login() {
var username = $("#username").val();
var password = $("#password").val();
if (username == "" || username == null || username == undefined || password == "" || password == null || password == undefined) {
$('#foremptyvalue').show();
} else {
$('#foremptyvalue').hide();
$('#loader').show();
jQuery.ajax({
url: baseurl + "login.php"
, data: 'username=' + username + '&password=' + password
, type: "POST"
, success: function (response) {
response = $.trim(response);
if (response == "wrong") {
$('#loader').hide();
$('#forwronginput').show();
$("#username").val('');
$("#password").val('');
} else {
$('#loader').hide();
$('#forwronginput').hide();
location.href = "account.php?id=" + response;
}
}
, error: function () {}
});
}
}
标题。PHP
在此页面中,会话变量不起作用。我使用了以下代码:
<?php
session_start();
echo session_id();
$session = $_SESSION["userid"];
?>
结果低于
ptarbkn67poq1gkch2dh6fvqc3注意:未定义的索引:中的useridC: 第4行的''examplep''htdocs''feescounter''header.php
我还检查了会话保存路径是否可写以及是否可写。它将会话保存在C:''xamplep''tmp 中
您必须在使用会话之前启动它。从您的代码来看,这似乎不是这样。。。试着把下面的代码放在每个文件的顶部,看看它是如何运行的:
<?php
// THIS SHOULD BE THE VERY FIRST LINES OF CODE IN YOUR SCRIPTS
if (session_status() == PHP_SESSION_NONE || session_id() == '') {
session_start();
}
您的header.php文件应该是:-
<?php
if (!session_id()) {
session_start();
}
if(!empty($_SESSION['userid'])){
echo $_SESSION['userid'];
}else{
echo 'guest user';
}