Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP和Mysql-如何让登录系统与数据库协同工作?_Php_Mysql_Session - Fatal编程技术网

PHP和Mysql-如何让登录系统与数据库协同工作?

PHP和Mysql-如何让登录系统与数据库协同工作?,php,mysql,session,Php,Mysql,Session,我已经编写了一段时间了,现在我正在用PHP、html和mysql数据库创建一个网站。我在我的数据库中为用户设置了一个表,我的注册码运行良好:它注册了用户,包括他选择的电子邮件地址、姓名、昵称和密码;并且无法创建已存在邮件或昵称的帐户 我的登录码有效。。。差不多 <?php session_start(); [...] $query_users = "SELECT `name`, `password`, `id_user` FROM `users`"; $result_users = mys

我已经编写了一段时间了,现在我正在用PHP、html和mysql数据库创建一个网站。我在我的数据库中为用户设置了一个表,我的注册码运行良好:它注册了用户,包括他选择的电子邮件地址、姓名、昵称和密码;并且无法创建已存在邮件或昵称的帐户

我的登录码有效。。。差不多

<?php
session_start();
[...]
$query_users = "SELECT `name`, `password`, `id_user` FROM `users`";
$result_users = mysqli_query($link, $query_users);
while ($row = mysqli_fetch_assoc($result_users))
{
    if (($row['name'] == $_POST['nickname']) && ($row['password'] == $_POST['password']))
    {
        $_SESSION['id'] = $row['id_user'];
        $_SESSION['name'] = $row['name'];
        header('Location: /Myblog/?action=login_success');
    }
}
?>

它只显示“欢迎”。有人知道它为什么不起作用吗?我是否必须在构建代码的整个过程中都进行更改,或者这只是我忘记的一点小东西?

您忘记将
会话\u start()
放在第二个文件中。此功能必须放在每个文件中,您要在其中使用会话,而且您忘记了双重引用欢迎消息,如下所示:

echo "Welcome, $user";

单引号不解析变量。

您需要在使用
$\u session
的每个页面上放置
session\u start
。请尝试,谢谢。顺便说一句,谢谢你的编辑。对不起,我是这个网站的新手。编辑:很好,再次感谢。不客气-如果更改代码后仍有问题,请更新您的问题;如果它真的解决了这个问题,请随时回答你自己的问题,并在可能的时候接受它。是的,就是这么简单。现在我把
session\u start()
放在所有地方,它就可以工作了。再次感谢大家!
echo "Welcome, $user";