2017-05-01 7 views
0

ログインしている場合、私のホームページ(index.php)に訪問者のユーザ名を表示するにはどうすればいいですか?ログインしていない場合は何も表示しません。PHP - ホームページでは、ログインしている場合はユーザ名を表示し、ログインしていない場合は表示しません。

たとえば、ログインしている場合は、ようこそusername01!
ログインしていない場合:ようこそ!あなたはまだ登録されていません。

これは私のregister.phpです:場合

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

チェック:あなたは次の操作を行うことができます彼らがログインしている一度あなたがセッション中にユーザー名を設定しているので

<?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."; 
} 
} 
?> 

答えて

0

キー 'username'がセッション内で設定されている場合は、それを空白のままにしておきます。

関数を作成する方が良いでしょう。ユーザー名を別の場所に表示したい場合もあります。

例:

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

ちょうどそれを使用するようにコードでgetUsername()を呼び出します。

0

の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'; 
関連する問題