所以我最终完成了我的网站的设计和建设,它是一个单一的页面(Front.php),它显示了所有的菜单选项,包括注册用户可以注册的地方,然后信息被存储到数据库中。我现在需要理解和实现的是用户帐户的概念。我不明白我应该如何进行登录和帐户管理。我知道他们可以登录,我可以在数据库中搜索他们的用户名,如果匹配,他们就可以登录。但是应该在哪里处理呢,Front.php?或者我应该有另一个名为Login.php的文件,但是如果登录成功,它会重定向回Front.php吗?
我真的有点迷失在基本的文件结构上。有人能解释一下我该怎么做吗?
我的页面是95%的jquery/html,php只做插入数据库函数的工作。
发布于 2012-09-29 11:01:26
你需要使用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,如果成功,我将它们重定向到dashboard.php。您可能应该在将会话存储为cookie的else语句中添加一些内容,这样他们就不必在每次关闭选项卡或退出浏览器时都重新登录。
https://stackoverflow.com/questions/12649077
复制相似问题