簡體   English   中英

用戶登錄和管理集成到單頁站點中

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM