Menampilkan Data User Yang Login

Halo saya mau tanya bagaimana cara menampilkan data user yang sudah login .. misal nya saya punya form login lalu saya masukan username dan password nya setelah saya login dan berhasil dia pindah ke halaman timeline yang isi nya itu ada nama depan, nama belakang, email, dan foto profil nah gimana cara nya supaya bisa menampilkan data nya yang ada di database ke halaman timeline yang isi nya itu sudah saya sebutkan sesuai dengan user yang login ?? kalau untuk email sudah berhasil saya tampilkan karena langsung saya ambil value nya saat user input buat login, nah kalau untuk data yang lainnya itu bagaimana ya?

isi dari database nya adalah Nama_Depan, Nama_Belakang, Email, Photo

semoga pertanyaan saya jelas dan dapat di mengerti.. mohon bantuan nya .. Terima Kasih.

Code Login.php

 <?php

if(isset($_POST['login'])){
    session_start();
    $errmsg_arr = array();
    $errflag = false;
    // configuration
    $db_host     = "localhost";
    $db_name     = "headbook";
    $db_user     = "root";
    $db_pass     = "";

    // database connection
    $db = new PDO("mysql:host=$db_host;dbname=$db_name",$db_user,$db_pass);
    $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $db->exec("SET CHARACTER SET utf8mb4");
    // new data

    $user = $_POST['email'];
    $password = $_POST['password'];
    $md5 = md5 ($password);

    if(empty($user))
{
   die("<script>alert('Maaf, Email Dan Password Tidak Boleh Kosong');window.location='index.php'</script>");
}
    if(empty($password))
{
   die("<script>alert('Maaf, Email Dan Password Tidak Boleh Kosong');window.location='index.php'</script>");
}

    // query
    $result = $db->prepare("SELECT * FROM user WHERE Email= :E AND Password= :P");
    $result->bindParam(':E', $user);
    $result->bindParam(':P', $md5);
    $result->execute();
    $rows = $result->fetch(PDO::FETCH_NUM);
    if($rows > 0) {
        $_SESSION['email'] = $user;


        header("location: timeline.php");
    }
    else{
        echo "<script>alert('Maaf, Username atau Password Anda Salah');window.location='index.php'</script>";
    }

}
?>

code auth.php

 <?php

session_start();
if(!isset($_SESSION["email"])) header("Location: login.php");
//if(!isset($_SESSION["password"])) header("Location: login.php");
//die(var_dump($_SESSION['password']));

Code timeline.php

 <?php
require_once("auth.php");

?>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <link rel="icon" type="image/png" href="Assets/icon.png">
    <link rel="stylesheet" type="text/css" href="Assets/timeline.css">
    <title>HeadBook Timeline</title>

    <link rel="stylesheet" href="css/bootstrap.min.css" />
</head>
<body class="bg-light">

<div class="container mt-5">
    <div class="row">
        <div class="col-md-4">

            <div class="card">
                <div class="card-body text-center">

                    <img class="img img-responsive rounded-circle mb-3" width="160" src="Assets/<?php //echo $_SESSION['photo'] ?>" />

                    <h3><?php //echo $_SESSION['nim_user'];?></h3>
                    <p><?php echo $_SESSION["email"] ?></p>

                    <p><a href="logout.php">Logout</a></p>
                </div>
            </div>


        </div>

        <div class="col-md-8">

            <form action="" method="post" />
                <div class="form-group">
                    <textarea class="form-control" placeholder="Apa yang kamu pikirkan?"></textarea>
                  <br>
                  <button type="submit" >Bagikan</button>
                </div>
            </form>

            <?php for($i=0; $i < 6; $i++){ ?>
            <div class="card mb-3">
                <div class="card-body">
                Lorem ipsum dolor sit amet consectetur adipisicing elit. Nobis veritatis nemo ad recusandae labore nihil iure qui eum consequatur, officiis facere quis sunt tempora impedit ullam reprehenderit facilis ex amet!
                </div>
            </div>
            <?php } ?>

        </div>

    </div>
</div>

</body>
</html>
avatar Alam99
@Alam99

13 Kontribusi 0 Poin

Diperbarui 5 tahun yang lalu

1 Jawaban:

Jawaban Terpilih

kamu sudah query mengambil data-data user di variable $result dan mengeluarkan hasil di $rows = $result-&gt;fetch(PDO::FETCH_NUM);

idenya pindahkan hasil dari database ini ke sebuah variable session

<pre> $_SESSION['user'] = $rows; </pre>

Disini kamu mengeluarkan dengan metode fetch(PDO::FETCH_NUM), jadi kamu bisa akses kontennya dari $_SESSION['user'][0] dan angka berikutnya

Kalau kamu berdasarkan nama kolom databasenya, gunakan fetch(PDO::FETCH_ASSOC) ini akan mengeluarkan ke namanya. Contoh $_SESSION['user']['name] atau ['email'] sesuai nama kolom

Kamu juga bisa belajar lebih detail di <a href=' https://sekolahkoding.com/kelas/sistem-login-dan-register-oop-php '>kelas login dan register OOP PHP</a>

avatar hilmanski
@hilmanski

2670 Kontribusi 2132 Poin

Dipost 5 tahun yang lalu

Tanggapan

Sudah saya buat session $_SESSION['user'] = $rows; nya bang dan saya definisikan kembali session nya menjadi $_SESSION['nama'] = $rows['Nama_Depan']; , tetapi ketika saya mencoba memanggil di timeline, memang tidak ada error tapi juga tidak ada data yang keluar bang atau kosong, solusi nya bagaimana ya bang?

sama cara seperti sebelumnya kalau kamu mau tahu isi dari variable pake die dan var dump, cek isi $rows itu apa, ga perlu dioper oper lagi ke session baru

Sudah Saya var dump 'user' nya dan keluar array(8) { [0]=> string(1) "2" [1]=> string(5) "Indra" [2]=> string(4) "Bayu" [3]=> string(19) "Indrabayu@gmail.com" [4]=> string(32) "827ccb0eea8a706c4c34a16891f84e7b" [5]=> string(10) "1999-07-25" [6]=> string(9) "Perempuan" [7]=> string(11) "default.svg" } Lalu jika saya ingin memanggil bagian-bagian diatas bagaimana ya bang?

ketika saya coba untuk yg muncul Notice: Array to string conversion in C:\xampp\htdocs\ProjectPrognet12\timeline.php on line 33 Array

coba pelajari lagi tentang PDO Fetch, jawaban sudah saya update, semoga membantu

Wah Berhasil Terimakasih banyak bang

dengan senang hati!

Login untuk ikut Jawaban