当用户登录时,我将用户id存储到会话中,然后我希望将该用户id传递给ajax以检索数据库中的其他信息。存储在会话中的用户ID未传递给allResult。php我的登录页面代码片段,我在其中进行会话:
$msg = '';
if (isset($_POST['login']) && !empty($_POST['username'])
&& !empty($_POST['password']))
{
$username1 = $_POST['username'];
$password1 = $_POST['password'];
$password2 = md5($password1);
$sql= "SELECT * FROM users WHERE userName='$username1' AND password='$password2'";
if($query_run = mysqli_query($conn, $sql))
{
$query_num_rows = mysqli_num_rows($query_run);
$stmt =mysqli_prepare($conn, $sql);
mysqli_stmt_execute($stmt);
mysqli_stmt_store_result($stmt);
if($query_num_rows==1)
{
$row = mysqli_fetch_assoc($query_run);
$user_id = $row['id'];
$name=$row['Name'];
//creating session
$_SESSION['loggedin_time'] = time();
$_SESSION['userid'] = $user_id;
$_SESSION['name'] = $name;
}
}
else {
$msg = '*Wrong username or password';
}
}
现在,登录后,用户将被带到仪表板:
<?php
session_start();
include("functions.php");
if(isset($_SESSION["userid"])) {
if(isLoginSessionExpired()) {
header("Location:loginPage.php");
}
}
if($_SESSION['userid']=="" && $_SESSION['name']==""){
header("location: loginPage.php");
}
require 'dbconnect.php';
$userId = $_SESSION['userid'];
echo "$userId";
?>
在仪表板中,我试图使用ajax访问用户的其他数据
<script id="source" language="javascript" type="text/javascript">
$(function() {
$( "#tabs" ).tabs({active:0});
$.ajax({
url: 'allResult.php',
method:"POST",
data: ({uid:'$userId'}),
dataType: 'json',
success: function(data)
{
var date= data[0]['date'];
var time= data[0]['time'];
var ip= data[0]['ip'];
var lux= data[0]['lux'];
var press= data[0]['press'];
var acc_x= data[0]['acc_x'];
var acc_y= data[0]['acc_y'];
var acc_z= data[0]['acc_z'];
$("#tabs-1").html("<b>date: </b>"+date+"<b> time: </b>"+time+"<b> ip: </b>"+ip+"<b> lux: </b>"+lux+"<b> press: </b>"+press+"<b> acc_x: </b>"+acc_x+"<b> acc_y: </b>"+acc_y+"<b> acc_z: </b>"+acc_z);
} ,
error : function(request,error)
{
alert (error);
alert("Request: "+JSON.stringify(request));
}
});
});
我需要获取用户id才能运行allResult。php所有结果。php
<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
require 'dbconnect.php';
$user_id = $_POST["uid"]
$sql_query = "SELECT * FROM data where id like '$user_id';";
$result = mysqli_query($conn,$sql_query);
if(mysqli_num_rows($result) >0 )
{
$row = mysqli_fetch_assoc($result);
$output [] = $row ;
echo json_encode($output);
}
else
{
echo "Error finding data..";
}
?>
看起来您缺少会话\u start()
将所有用户登录的数据转换为json格式。
假设所有数据都在
somedomain.com/userData.php
<?php
#userData.php
if ($user == "loggedin") {
$data['name'] = $_SESSION[1]; //name
$data['email'] = $_SESSION[2]; //email
$data['extra'] = $_SESSION[3]; //etc.
echo json_encode($data, JSON_PREETY_PRINT);
}
?>
然后使用jQuery Ajax实时获取数据。
问题内容: 我在开发中使用带有护照的节点/表达式。我碰到一篇文章说: Express加载会话数据并将其附加到请求。当护照在会话中存储序列化的用户时,可以在req.session.passport.user中找到序列化的用户对象。 但是令我惊讶的是,浏览器cookie中的sessionID存储的值在登录前后都保持不变。那么,序列化的用户对象存储在哪里? 我以为它最初存储在用户cookie中,但似乎不
问题内容: 如果一个用户已经登录并尝试在新实例中再次登录,我希望它注销另一个用户实例。我不希望同一用户在我的应用程序上登录两次。 当前会话存储在Redis存储中,我正在使用express / connect处理会话存储。可以用来破坏会话的可用功能之一如下: 但是,我需要在调用.destroy()之前找到该会话ID。在Redis中,用户名存储为会话的一部分。 问题:是否可以查询Redis以基于用户名
我的密码\u散列有问题,当我登录时,我想让用户登录会话,但当我使用密码验证时不工作,回显不返回任何内容。我怎样才能解决这个问题?谢谢这是我的代码: 这个代码完美的工作时,我不使用password_verify。
我需要使用session来保留用户的选择。(如果用户选择的日期范围在数据刷新时返回到默认值)。 这是我的daterangepicker代码。请帮助我如何设置“开始”日期和“结束”日期的会话存储,以及如何从会话存储中检索它们。提前道谢。
问题内容: 当访问一个页面时,我想启动一个会话并存储一个会话变量: 然后从另一个页面,我想检查该会话变量是否已存储: 此代码对我不起作用。 问题答案: 从对该问题的评论来看,似乎缺少调整后的会话 。save_path 导致PHP会话处理程序的这种行为不当。只需指定一个存在的目录(在文档根目录之外),该目录就可以被PHP读取和写入,以解决此问题。
问题内容: 我正在使用Redis缓存在项目中保存一些内容。 我使用的是Azure(WebApp),当我在预生产环境与生产环境之间执行SWAP时,用户会话丢失了,他需要在我的网页中重新登录。 我正在使用Identity 3.0和UseCookieAuthentication。我想将“会话”存储在Redis中,以解决交换时遇到的问题。 我没有找到相关信息,有什么想法吗?谢谢 Startup.cs代码C