Reputation: 3
I have a login code like this :
<?php
if(isset($_POST['login'])){
include("koneksi.php");
$username = $_POST['username'];
$password = md5($_POST['password']);
$level = $_POST['level'];
$query = mysqli_query($koneksi, "SELECT * FROM users WHERE username='$username' AND password='$password'");
if(mysqli_num_rows($query) == 0){
echo '<div class="alert alert-danger">Upss...!!! Login gagal.</div>';
}else{
$row = mysqli_fetch_assoc($query);
if($row['level'] == 1 && $level == 1){
$_SESSION['username']=$username;
$_SESSION['level']='admin';
header("Location: user.php");
}else if($row['level'] == 2 && $level == 2){
$_SESSION['username']=$username;
$_SESSION['level']='dosen';
header("Location: user.php");
}else if($row['level'] == 3 && $level == 3){
$_SESSION['username']=$username;
$_SESSION['level']='mahasiswa';
header("Location: user.php");
}else{
echo '<div class="alert alert-danger">Upss...!!! Login gagal.</div>';
}
}
}
?>
And i want to post users name not the username based on session in the user.php file, what should i do?
and this the user.php :
<div class="login">
<p>Login Succes</p>
<p>Username: <?php echo $_SESSION['username']; ?><br>
Level: <?php echo $_SESSION['level']; ?></p>
<p><a href="logout.php" class="btn btn-primary" onclick="return confirm('are you sure?')">Log out</a></p>
</div>
Upvotes: 0
Views: 120
Reputation: 18145
Assuming the user's name is stored in a database column called name
, you could save this value to a session variable and display it to the user like so:
Login code:
<?php
if(isset($_POST['login'])){
include("koneksi.php");
$username = $_POST['username'];
$password = md5($_POST['password']);
$level = $_POST['level'];
$query = mysqli_query($koneksi, "SELECT * FROM users WHERE username='$username' AND password='$password'");
if(mysqli_num_rows($query) == 0){
echo '<div class="alert alert-danger">Upss...!!! Login gagal.</div>';
}else{
$row = mysqli_fetch_assoc($query);
if($row['level'] == 1 && $level == 1){
$_SESSION['username']=$username;
$_SESSION['level']='admin';
$_SESSION['name']=$row['name'];
header("Location: user.php");
}else if($row['level'] == 2 && $level == 2){
$_SESSION['username']=$username;
$_SESSION['level']='dosen';
$_SESSION['name']=$row['name'];
header("Location: user.php");
}else if($row['level'] == 3 && $level == 3){
$_SESSION['username']=$username;
$_SESSION['level']='mahasiswa';
$_SESSION['name']=$row['name'];
header("Location: user.php");
}else{
echo '<div class="alert alert-danger">Upss...!!! Login gagal.</div>';
}
}
}
?>
Display code:
<div class="login">
<p>Login Succes</p>
<p>Username: <?php echo $_SESSION['username']; ?><br>
Name: <?php echo $_SESSION['name']; ?><br>
Level: <?php echo $_SESSION['level']; ?></p>
<p><a href="logout.php" class="btn btn-primary" onclick="return confirm('are you sure?')">Log out</a></p>
</div>
Now, if the user's name is actually stored in 2 columns, for example first_name
and last_name
, then you could save it to the session like so:
$_SESSION['name']=$row['first_name'].' '.$row['last_name'];
Upvotes: 1