从登录页面到个人资料页面

时间:2015-08-12 06:38:33

标签: php login profile member

我在stackoverflow中做了一些研究,但找不到同样的问题。我有一个登录页面,当用户登录时,它会被重定向到个人资料页面。在配置文件页面中,我想打印用户的名称。我包含文件login.php,但我觉得由于某种原因,包含用户名的变量不能在profile.php中的login.php中使用。这是代码:

登录页面

<?php
        $host = "XXXX";
        $username = "XXXX";
        $password = "XXXX";
        $db = "XXXX";

        $conn = new mysqli($host, $username,$password, $db);

        if($conn->connect_error){
                die("Connection failed: " . $conn->connect_error);
        }

        error_reporting(E_ALL);
        ini_set('display error', 1);

        if(isset($_POST["loginButton"])){
                $loginUsername = $_POST["loginUsername"];
                $loginPassword = $_POST["loginPassword"];              
                $query = "SELECT * FROM user WHERE username='$loginUsername' and password='$loginPassword'";
                $result = mysqli_query($conn,$query) or die(mysqli_error());
                $count = mysqli_num_rows($result);
                if ($count == 1){
                        header("Location:profile.php");
                }else{
                echo "Invalid Login Credentials.";
                }
        }
?>

个人资料页

<?php
include("login.php");
error_reporting(E_ALL);
ini_set('display error', 1);

echo $loginUsername;

$sql = "SELECT username FROM user WHERE username = '$loginUsername' "; 
$result = mysqli_connect($conn,$sql);
while($row = mysqli_fetch_assoc($result)){
    echo $username = $row["username"];

2 个答案:

答案 0 :(得分:1)

您正在重新加载页面。不保留$loginUsername的值。 在您的情况下,您可以尝试使用会话

在您的登录名中为会话分配用户名:

if ($count == 1){
 $_SESSION['username'] = $loginUsername;
 header("Location:profile.php");
}
在您的个人资料中

,请使用会话:

echo $_SESSION['username']
不要忘记在您的网页开头开始会话,例如session_start();

about session

答案 1 :(得分:0)

您需要了解PHP SESSION您可以使用此功能完成此操作。

<?php


        $host = "localhost";
        $username = "user_root";
        $password = "010203";
        $db = "game_db";

        $conn = new mysqli($host, $username,$password, $db);

        if($conn->connect_error){

                die("Connection failed: " . $conn->connect_error);

        }


        error_reporting(E_ALL);
        ini_set('display error', 1);


        if(isset($_POST["loginButton"])){

                $loginUsername = $_POST["loginUsername"];
                $loginPassword = $_POST["loginPassword"];


                $query = "SELECT * FROM user WHERE username='$loginUsername' and password='$loginPassword'";

                $result = mysqli_query($conn,$query) or die(mysqli_error());
                $count = mysqli_num_rows($result);
                if ($count == 1){
                       session_start();
                       $_SESSION['loginUsername'] =  $loginUsername;
                        header("Location:profile.php");


                }else{
                echo "Invalid Login Credentials.";
                }



        }



?>

并在会话的任何页面中使用它。

<?php
session_start();
            include("login.php");
            error_reporting(E_ALL);
            ini_set('display error', 1);
           $loginUsername = $_SESSION['loginUsername'];
            echo $loginUsername;

                    $sql = "SELECT username FROM user WHERE username = '$loginUsername' ";

                                            $result = mysqli_connect($conn,$sql);

                                            while($row = mysqli_fetch_assoc($result)){

                                                    echo $username = $row["username"];