Postingan lainnya
gak bisa buat session selain $_SESSION['username'] (PHP OOP MySqli)
saya dapat masalah lagi, dan masih di form login.. ternyata cukup banyak bedanya waktu coba PHP OOP sama Prosedural, sering sekali ketemu error... jadi hari ini saya mau tanya kenapa gak bisa buat session lain selain $_SESSION['username']
===script user_login.php (function)===
function cek_data($username, $password){
$username = escape($username);
$password = escape($password);
$query = "SELECT * FROM login WHERE username='$username' AND password='$password'";
global $link;
if ($result = mysqli_query($link, $query)) {
if (mysqli_num_rows($result) !=0) return true;
else return false;
}
}
function cek_status($username){
$username = escape($username);
$query = "SELECT * FROM login WHERE username='$username'";
global $link;
if ($result = mysqli_query($link, $query)) {
return $result;
}
}
=== script login.php (potongan nya aja) ===
if (cek_data($username, $password)) {
$_SESSION['username'] = $username;
$cek = cek_status($_SESSION['username']);
$data = mysqli_fetch_assoc($cek);
$_SESSION['level'] = $data['level'];
header('Location: index.php');
}
=== script index.php (juga potongan) ===
<?= $_SESSION['level']; ?>
<?= $_SESSION['username']; ?>
yang tampil di browser hanya session username, kenapa $_SESSION['level'] gak bisa tampil?? mohon pencerahan, terimakasih sebelumnya...
3 Jawaban:
coba errornya dilihat pelan-pelan, sebelum bagian tampilan cek dulu bagian yang ini
$_SESSION['level'] = $data['level'];
coba di die sebelumnya apakah $data['level'] memang ada isinya atau ngga
di fungsi function cek_status
if ($result = mysqli_query($link, $query)) {
return $result;
}
bagaimana jika hasilnya false?
dan disini tidak ada pengecekan apakah $result tersebut benar ada
$cek = cek_status($_SESSION['username']);
$data = mysqli_fetch_assoc($cek);
$_SESSION['level'] = $data['level'];
mestinya dicek dulu
$cek = cek_status($_SESSION['username']);
if($cek)
{
$data = mysqli_fetch_assoc($cek);
$_SESSION['level'] = $data['level'];
}
else
{
// script kalo ternyata return empty
}
@hilmanrdn setelah saya logout, saya tinggal kuliah dan saya buka lagi tiba2 isi dari session level bisa di 'echo'.. trus saya tambah lagi 1 session gagal, saya logout trus login lagi bisa.. kenapa ya mas?
@rachmatsasongko oke mas terimakasih masukannya...