簡體   English   中英

PHP-在主頁上,如果登錄則顯示用戶名,如果未登錄則不顯示

[英]PHP - On homepage, display username if logged in, don't display if not logged in

如果訪客已登錄,如何在其主頁( index.php )上顯示訪問者的用戶名;如果訪客未登錄,如何顯示任何內容?

例如,如果他們已登錄:歡迎使用,用戶名01!
如果他們還沒有登錄:歡迎! 您還沒有注冊。

這是我的register.php

<?php
session_start();
//connect to database
$db=mysqli_connect("localhost","root","","mydbname");
if(isset($_POST['register_btn']))
{
    $username=mysql_real_escape_string($_POST['username']);
    $gender=mysql_real_escape_string($_POST['gender']);
    $email=mysql_real_escape_string($_POST['email']);
    $password=mysql_real_escape_string($_POST['password']);
    $password2=mysql_real_escape_string($_POST['password2']);  
    if($password==$password2)
 {      //Create User
        $password=md5($password); //hash password 
        $sql="INSERT INTO users(username,gender,email,password) 
        VALUES('$username','$gender' ,'$email','$password')";
        mysqli_query($db,$sql);  
        $_SESSION['message']="You are now logged in"; 
        $_SESSION['username']=$username;
        header("location:index.php");  //redirect to home page
}
else
{
  // failed
    $_SESSION['message']="Error. Both passwords do not match.";   
 }
}
?>

由於您在會話中登錄后在會話中設置了用戶名,因此您可以執行以下操作:

echo isset($_SESSION['username']) ? $_SESSION['username'] : '';

檢查會話中是否設置了密鑰“用戶名”,如果是,則顯示它,否則將其留空。

最好為其創建一個函數。 您可能還希望在其他地方顯示用戶名。

例:

function getUsername() {
    return isset($_SESSION['username']) ? $_SESSION['username'] : '';
}

只需在您的代碼中調用getUsername()即可使用它。

的index.php

session_start(); //add this line if you did not start session
echo 'Welcome : '.isset($_SESSION['username']) ? $_SESSION['username'] : 'You are not registered yet';

暫無
暫無

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

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