首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将用户登录和管理集成到单页面站点中

将用户登录和管理集成到单页面站点中
EN

Stack Overflow用户
提问于 2012-09-29 09:12:15
回答 1查看 222关注 0票数 0

所以我最终完成了我的网站的设计和建设,它是一个单一的页面(Front.php),它显示了所有的菜单选项,包括注册用户可以注册的地方,然后信息被存储到数据库中。我现在需要理解和实现的是用户帐户的概念。我不明白我应该如何进行登录和帐户管理。我知道他们可以登录,我可以在数据库中搜索他们的用户名,如果匹配,他们就可以登录。但是应该在哪里处理呢,Front.php?或者我应该有另一个名为Login.php的文件,但是如果登录成功,它会重定向回Front.php吗?

我真的有点迷失在基本的文件结构上。有人能解释一下我该怎么做吗?

我的页面是95%的jquery/html,php只做插入数据库函数的工作。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-09-29 11:01:26

你需要使用php。通常,我会创建一个functions.php文件来存储所有函数,然后将其包含在每个页面的头部。在我的函数文件中,我总是放一个函数来检查登录是否存在。下面是逐字记录:

代码语言:javascript
复制
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连接的全局变量。看起来是这样的:

代码语言:javascript
复制
$con = mysql_connect($host, $user, $pass);

这样,我只需定义它一次。然后,在front.php上,您将表单提交给自身(front.php),并执行以下操作:

代码语言:javascript
复制
if (isset($_POST['submit']) && isset($_POST['loginForm'])) {
    if (!checkLogin($_POST)) {
        $valid = false;
    }
    else {
        Header('Location: dashboard.php');
    }
}

我将此代码放在一个名为session.php的文件中,并将其包含在每个页面的头部。因此,在本例中,front.php文件的顶部将如下所示:

代码语言:javascript
复制
<?php
  include('session.php');include('functions.php');

我将它们分开的原因是,您不需要在函数所在的每个页面上都检查登录。在本例中,我将我的登录表单操作设置为loginForm,如果成功,我将它们重定向到dashboard.php。您可能应该在将会话存储为cookie的else语句中添加一些内容,这样他们就不必在每次关闭选项卡或退出浏览器时都重新登录。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12649077

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档