[英]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.