[英]User login and management integration into single page site
因此,我终于完成了网站的设计和构建,它是一个页面(Front.php),其中显示了所有菜单选项,包括用户可以在其中注册的注册选项,然后将信息存储到数据库中。 我现在需要了解和实现的是用户帐户的概念。 我不了解如何进行登录和帐户管理。 我知道他们可以登录,并且我可以在数据库中搜索他们的用户名,如果有匹配项,他们就可以登录。 但是Front.php应该在哪里处理? 还是我应该有另一个名为Login.php的文件,但是如果登录成功,它会重定向回Front.php吗?
我真的迷失在基本文件结构上。 有人可以解释我应该怎么做吗?
我的页面是95%jquery / html,其中php仅执行插入数据库功能。
您将需要使用php。 通常,我创建一个functions.php文件来存储我的所有函数,然后将其包含在每页的开头。 在我的函数文件中,我总是放置一个函数来检查登录名是否存在。 这里是逐字记录:
function checkLogin($data) {
global $con;
extract($data);
$sql = "SELECT * FROM users WHERE username='$username' AND password='$password'";
$result = mysql_query($sql, $con) or exit('Eror selecting users database: '.mysql_error());
$num_rows = mysql_num_rows($result);
if ($num_rows==0) {
return false;
}
else {
return true;
}
}
$con
是我存储的全局变量,用于创建MySQL连接。 看起来像:
$con = mysql_connect($host, $user, $pass);
这样,我只需要定义一次。 然后在front.php上将表单提交给自己(front.php)并执行以下操作:
if (isset($_POST['submit']) && isset($_POST['loginForm'])) {
if (!checkLogin($_POST)) {
$valid = false;
}
else {
Header('Location: dashboard.php');
}
}
我将此代码放在一个名为session.php的文件中,并将其包含在每个页面的开头。 因此,在这种情况下,front.php文件的顶部将如下所示:
<?php
include('session.php');include('functions.php');
之所以将它们分开,是因为您不需要在函数所在的每个页面上都检查登录名。在此示例中,我将登录表单操作设置为loginForm
,如果成功,则将它们重定向到仪表板。的PHP。 您可能应该在else语句中放入一些内容,将其会话存储为cookie,以便他们不必在每次关闭选项卡或退出浏览器时都保持登录状态。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.