所以我不知道该怎么办。 我一直在尝试为我的网站创建一个注册/登录系统。经过大量的争论,我的注册现在有效,但我还无法登录。我很确定这是一个与$ _session相关的问题。
所以我有两个文件,一个名为get_users.php(我知道它的名字不好),另一个名为cart.php。他们两个都没有开头的空白。
我到底想要做什么?我想让我的会话出现在cart.php上。
get_users.php:
<?php
$username = $_POST['username'];
$password = $_POST['password'];
$con = new mysqli("localhost","root","","ismsite");
$query = ("SELECT name, comment FROM comments ORDER BY id DESC");
$result = mysqli_query($con, $sql, MYSQLI_BOTH);
session_start();
$_SESSION["user_id"] = $row["user_id"];
header('Location: cart.php');
exit();
?>
并在cart.php的开头
<?php
session_start();
include 'config/config.php';
echo $_SESSION["user_id"];
?>
我真的在我的智慧结束。我搜索了这个网站,但我找不到解决问题的方法。谁知道问题是什么?
其他信息: - 安装了最新的php - 我在运行安装了LAMP堆栈的最新ubuntu客户端的虚拟网络服务器上运行它。 -Database工作得很好
提前致谢
编辑:
我将$row["user_id"];
更改为$result["user_id"];
但它仍然没有出现
答案 0 :(得分:1)
试试这个
// Define $username and $password
$username=$_POST['username'];
$password=$_POST['password'];
//for hashing passwords
$username = stripslashes($username);
$password = stripslashes($password);
$username = mysqli_real_escape_string($db,$username);
$password = mysqli_real_escape_string($db,$password);
$password = md5($password);
//Check username and password from database
$sql="SELECT userid FROM users WHERE username='$username' and password='$password'";
$result=mysqli_query($db,$sql)
or die("Error");
$row=mysqli_fetch_array($result,MYSQLI_ASSOC);
//If username and password exist in our database then create a session.
//Otherwise echo error.
if(mysqli_num_rows($result) == 1)
{
$_SESSION['username'] = $username; // Initializing Session
}else
{
$error = "Incorrect username or password.";
}
但是你必须根据你的表格结构进行调整。
答案 1 :(得分:-3)
可能未设置$ _SESSION [“user_id”]。你可以测试$ _SESSION数组 print_r($ _ SESSION)或print_r($ GLOBALS);