PHP和Mysql-如何让登录系统与数据库协同工作?
我已经编写了一段时间了,现在我正在用PHP、html和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
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";