gpt4 book ai didi

php - 如何将数据从mysql数据库传递到$_SESSOIN

转载 作者:行者123 更新时间:2023-11-29 03:35:36 24 4
gpt4 key购买 nike

大家好我是 PHP 的新手,我正在尝试用 PHP 创建一个非常小的应用程序为此,我正在尝试使用 php 中的 session 访问用户的用户标识,我正在执行以下步骤

我在我的应用程序中创建这些类

我的第一个类是数据库管理器,我将其放在模型文件夹中

public function executeQuery($query) {
$result = mysql_query($query);
if ($result === false) {
$this->closeConnection($this->conn);
exit;
}
// extract data from results, returning an associative array
$rows = Array();
while ($row = mysql_fetch_assoc($result)) {
$rows[] = $row;
}
return $rows;
}

然后我创建了这两个类

首先是登录管理器

class LoginManager
{

function checkLogin($arr)
{
require_once(FRONT_ROOT_PATH.'DatabaseManager.php');
$query ="Select * from tbusers where username='".$arr['username']."' and password='".$arr['password']."'";
$db= new DatabaseManager();
$result=$db->executeQuery($query);
return $result;
}
}

第二个是LoginInit

<?php
session_start();
include(LIB_PATH."Login/LoginManager.php");

if(isset($_POST['addlogin']))
{
$obj= new LoginManager();
$userlist=$obj->checkLogin($_POST);
if(Count($userlist)>0)
{
$_SESSION['uid']=$userlist['userid'];
header('location:/ProjectDream/view/home/home.php');
}
else
{
echo "Login Failed";
}
}
}

在这个类中,我添加了 session ,然后我在这个 php 页面上调用了这些类

<?php
include('Include/config.inc.php');
include(LIB_PATH."Login/Logininit.php");

?>
<html>

<head>


<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">

<title>Login</title>

<!-- CSS -->

<link rel="stylesheet" href="css/reset.css">
<link rel="stylesheet" href="css/animate.css">
<link rel="stylesheet" href="css/styles.css">

</head>

<!-- Main HTML -->

<body>

<!-- Begin Page Content -->

<div id="container">

<form action="" method="post">
<input type="hidden" name="addlogin"/>
<label for="name">Username:</label>

<input type="name" name="username">

<label for="username">Password:</label>

<p><a href="#">Forgot your password?</a>

<input type="password" name="password">

<div id="lower">

<input type="checkbox"><label class="check" for="checkbox">Keep me logged in</label>

<input type="submit" value="Login">

</div>

</form>

</div>


<!-- End Page Content -->

</body>

</html>

当用户登录时,我将用户发送到 home.php 页面,我在 home.php 上编写此代码

<?php

session_start();
if(isset($_SESSION['uid']))
{

echo $_SESSION['uid'];
}
else
{
echo "No Session ";
}
?>

现在,当我运行这个应用程序时,它显示我的 $_SESSION 变量没有任何值是否可以在 php.ini 中的类级别调用 session ?请告诉我如何在这里使用 session 谢谢

最佳答案

像这样尝试它应该工作:

   $_SESSION['uid']=$userlist[0]['userid'];

在您的代码中:

     while ($row = mysql_fetch_assoc($result)) {         
$rows[] = $row;
}

您正在将 $row 添加到 $rows 中,因此您拥有 $rows[0]=$row;然后 $rows[1]=$row;

所以实际上 $rows['userid'] 没有设置,它是 $rows[0]['userid'] 设置的

关于php - 如何将数据从mysql数据库传递到$_SESSOIN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22145083/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com