簡體   English   中英

登錄表格和注冊PHP

[英]Login form and registration PHP

我最近開始處理表單驗證和登錄/注冊。 但是,我有一個問題,當我用現有的用戶名和密碼單擊登錄按鈕時,我想轉移到同一頁面(登錄頁面)或帶有消息“您已成功登錄”的起始頁面。 我不知道該怎么做。 除其他外,我有兩個php文件login.php

 if (loggedin()) {
        $firstname = getuserfield('firstname');
        $surname = getuserfield('surname');
        echo 'You\'re logged in, '.$firstname.' '.$surname.'. <a href="logout.php">Log       out </a><br>';
    } else {
    include 'loginform.inc.php';

    }

loginform.inc.php

if (isset($_POST['username'])&&isset($_POST['password'])) {
    $username = $_POST['username'];
    $password = $_POST['password'];

    $password_hash = md5($password);
    if (!empty($username)&&!empty($password)) {
        $query = "SELECT `id` FROM `users` WHERE `username`='".mysql_real_escape_string($username)."' AND `password`='".mysql_real_escape_string($password_hash)."'";
        if ($query_run = mysql_query($query)) {
            $query_num_rows = mysql_num_rows($query_run);
            if ($query_num_rows==0) {
            ?> <div id = "a5"> <?php echo 'No such combination of username and password' ?> </div>; <?php
            } else if ($query_num_rows==1){
            $user_id = mysql_result($query_run, 0, 'id');
            $_SESSION['user_id']=$user_id;

            header('Location: login.php');
            }
            }
    } else {
?> <div id="a"> <?php echo 'Please enter username and password!' ?> </div>

我會使用一些更高級的登錄名。 我使用的登錄表單非常完美,易於理解和使用。 訪問此登錄表單以獲取我使用的登錄名。 如果您願意,也很容易轉換為OO。

方法1

您可以像這樣成功登錄login.php來包含loginform.inc.php

if (loggedin()) {
        $firstname = getuserfield('firstname');
        $surname = getuserfield('surname');
        echo 'You\'re logged in, '.$firstname.' '.$surname.'. <a href="logout.php">Log       out </a><br>';
         include 'loginform.inc.php'; // include here after successfully login
    } else {
    include 'loginform.inc.php';

    }

方法2

您可以將成功消息存儲在SESSION變量中,並在loginform.inc.php上傳輸標頭。 然后可以在loginform.inc.php頁面上打印會話。

login.php:

session_start();
 if (loggedin()) {
            $firstname = getuserfield('firstname');
            $surname = getuserfield('surname');
            $_SESSION['msg_text'] = 'You\'re logged in, '.$firstname.' '.$surname.'. <a href="logout.php">Log       out </a><br>'; // set a session variable

               header("location:loginform.inc.php"); // transfer header on the loginform.inc.php page
               exit;

        } else {
        include 'loginform.inc.php';

        }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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