Tidak Bisa Menampilkan data yang ada di database

Halo, saya ingin membuat sebuah website networking untuk tugas besar di kampus, saat saya mencoba untuk menampilkan nama, email dan photo user yang sudah login, terjadi error seperti ini "Warning: Illegal string offset 'Email' in C:\xampp\htdocs\ProjectPrognet12\timeline.php on line 30 I" dan halaman timeline saya tidak menampilkan data yang ada di database, kira" solusi nya bagaimana ya? terimakasih

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'];

    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', $password);
    $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");

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">
    <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="img/<?php echo $_SESSION['email']['Photo'] ?>" />

                    <h3><?php echo  $_SESSION["email"]["Email"] ?></h3>
                    <p><?php //echo $_SESSION["email"]["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>
                </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>

Database Saya

avatar Alam99
@Alam99

13 Kontribusi 0 Poin

Diperbarui 5 tahun yang lalu

1 Jawaban:

Jawaban Terpilih

arti errornya karena ['EMAIL'] tidak dikenali. Yang perlu kamu lakukan lihat isi dari array session setelah dibikin <pre> die(var_dump($_SESSION['email'])); </pre>

lihat untuk email ada dimana, ambil sesuai nama keynya disitu

avatar hilmanski
@hilmanski

2670 Kontribusi 2132 Poin

Dipost 5 tahun yang lalu

Tanggapan

Bikin nya dibagian mana bang?

terserah, yang penting setelah kamu bisa session emailnya

wah untuk email nya berhasil bang.. tapi untuk nama, dan photo nya tidak bisa.. apakah saya harus buat session baru untuk nama dan photo nya bang?

coba cek $user itu kamu cuma menyimpan email, untuk mengambil semua data kamu simpannya di $result, jadi kalo mau semua data simpan $resultnya disession dan pake cara sebelumnya, kalau ada masalah baru silahkan buka lapak baru ya,

Terima Kasih Bang

Login untuk ikut Jawaban