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