Tidak bisa menampilkan data user

Maaf temen-temen mau tanya ini saya gak bisa menampilkan data user yang berhasil login. kenapa ya, mohon percerahannya. trimakasih.

avatar Ekafitri
@Ekafitri

23 Kontribusi 0 Poin

Diperbarui 6 tahun yang lalu

26 Jawaban:

username nya udah disimpan di SESSION gan? Kalau udah panggil session nya diatas:


<?php
session_start();
$username = $_SESSION["username"];

avatar devio
@devio

101 Kontribusi 46 Poin

Dipost 6 tahun yang lalu

sudah, tapi nggak bisa.

 <?php
include('config/koneksi.php');
session_start();
if (isset($_SESSION['SES_USER']))
{
	$username= $_SESSION['$username'];

?>

avatar Ekafitri
@Ekafitri

23 Kontribusi 0 Poin

Dipost 6 tahun yang lalu

session yang $_SESSION['SES_USER'] isinya apa gan?


if (isset($_SESSION['SES_USER']))

avatar devio
@devio

101 Kontribusi 46 Poin

Dipost 6 tahun yang lalu

@Ekafitri coba di check dl

 var_dump($_SESSION['SES_USER']);exit;

kalo muncul hasilnya dan benar, cb check querynya set kyk gini

 $sql = "Select * From User where Username = '$username'";
echo $sql;exit;

kemudian kamu copas ke Mysqlnya dan di Run resultnya apa ? kalo bisa di set kondisi falsenya jadi kalo error ada noticenya

avatar blackarch
@blackarch

101 Kontribusi 35 Poin

Dipost 6 tahun yang lalu

  if (isset($_SESSION['SES_USER']))

yang ini buat manggil dari login user..

avatar Ekafitri
@Ekafitri

23 Kontribusi 0 Poin

Dipost 6 tahun yang lalu

@blackarch kok malah eror ya, saya bingung..

avatar Ekafitri
@Ekafitri

23 Kontribusi 0 Poin

Dipost 6 tahun yang lalu

@Ekafitri error yg mana? SQL? SESSION? coba di post kesini biar lebih jelas.

avatar blackarch
@blackarch

101 Kontribusi 35 Poin

Dipost 6 tahun yang lalu

sperti itu erornya

avatar Ekafitri
@Ekafitri

23 Kontribusi 0 Poin

Dipost 6 tahun yang lalu

@Ekafitri owh itu bukan error itu dari var_dump(); nya fungsi var_dump itu menampikan secara detail baik type data, isi valuenya. itu sudah benar yakni string 4 kata isi "root", itu hanya untuk memeriksa isinya apakah sudah benar/blm, coba di hapus code

 var_dump($_SESSION['SES_USER']);exit;

lalu di coba yg

 $sql = "Select * From User where Username = '$username'";
echo $sql;exit;

nanti akan keluar Querynya coba kamu copas test di database Mysql di SQLnya, hasilnya coba di post kesini. tp dari code kamu itu tidak ada kondisi falsenya. bisa jadi error di SQLnya saran sy sih di buat kondisi falsenya, dan gunakan concat seperti

$sql = "SELECT * FROM user WHERE username = '" . $username . "'";
$query = mysqli_query($connection, $sql) or die (mysqli_error($connection));
avatar blackarch
@blackarch

101 Kontribusi 35 Poin

Dipost 6 tahun yang lalu

@blackarck ini hasilnya sepertiini.. Parse error: syntax error, unexpected '$tnama' (T_VARIABLE) in E:\xampp\htdocs\penyakitmenular\konsultasiForm.php on line 189

avatar Ekafitri
@Ekafitri

23 Kontribusi 0 Poin

Dipost 6 tahun yang lalu

@Ekafitri Yg SQL nya ada error ?? itu error unexpected $tnama, tidak terduga/terkira variable $tnama pada line 189, coba result yg SQL di MYSQL nya apa?

avatar blackarch
@blackarch

101 Kontribusi 35 Poin

Dipost 6 tahun yang lalu

sudah nggak ada hasilnya, masih sama...

avatar Ekafitri
@Ekafitri

23 Kontribusi 0 Poin

Dipost 6 tahun yang lalu

@Ekafitri owh itu berarti code kamu ada yg kurang ; (semicolon) coba check lagi yg

 Parse error: syntax error, unexpected '$tnama' (T_VARIABLE) in E:\xampp\htdocs\penyakitmenular\konsultasiForm.php on line 189

Di Line 188 di blkgnnya ada pk ; ? kalo tidak coba copas codenya kesini jg blh 188-189/185-190

avatar blackarch
@blackarch

101 Kontribusi 35 Poin

Dipost 6 tahun yang lalu

Tapi itu yang salah apanya sih. sudah diubah ubah juga nggak ada hasilnya..

ini buat masuk ke konsultasinya:

  <?php
include('config/koneksi.php');
session_start();
if (isset($_SESSION['SES_USER']))

{
	 $username = $_SESSION['SES_USER'];

?>

nah yang ini buat manggil identitas usernya tadi:

  <?php
  $conn = mysqli_connect("localhost", "root", "", "penyakit_db");
  $result = mysqli_query($conn, "Select * From user where Username = '$username'");
  ($tnama = mysqli_fetch_array($result));
  ?>

  <tr valign="top">
    <td>Nama</td>
     <td>:</td>
    <td colspan="3"><?php echo $tnama['Nama'];?> </td>
    </tr>
  <tr>
    <td>Username</td>
    <td>:</td>
    <td colspan="2"><?php echo $tnama['Username'];?></td>
  </tr>
  <tr>
    <td>Alamat</td>
    <td>:</td>
    <td colspan="2"><?php echo $tnama['Alamat'];?></td>
  </tr>
  <tr>
    <td>Pekerjaan</td>
    <td>:</td>
    <td colspan="2"><?php echo $tnama['Pekerjaan'];?></td>
  </tr>
  <tr>
    <td>Jenis kelamin</td>
    <td>:</td>
    <td colspan="2"><?php echo $tnama['Jenis_kelamin'];?></td>
  </tr>

  <tr>
    <td colspan="4" align="center" ><b>Hasil Diagnosa </b></td>
  </tr>
  <tr>
  <td colspan="4"><hr></td>
  </tr>

tadi eror yg tnama, itu karena yang $username itu saya ganti dg "root" makanya kaya gitu..

avatar Ekafitri
@Ekafitri

23 Kontribusi 0 Poin

Dipost 6 tahun yang lalu

kemarin sudah bisa, tapi hanya 1 user.. itu permanen.. jadi kalau misalkan si A mau login tetep namanya si B terus, walaupun login pake nama A..

avatar Ekafitri
@Ekafitri

23 Kontribusi 0 Poin

Dipost 6 tahun yang lalu

@Ekafitri itu dari code ($tnama = mysqli_fetch_array($result)); kok ada () ?, $tnama = mysqli_fetch_array($result); untuk memastikan saja

 include('config/koneksi.php'); dan lain -lain

sama

 $conn = mysqli_connect("localhost", "root", "", "penyakit_db");
  $result = mysqli_query($conn, "Select * From user where Username = '$username'");

itu satu file atau beda file? soalnya sehabis include koneksi ada buat lagi koneksi? jgn2 beda file? jika beda file yg $usernamenya sudah di set SESSION blm di file tsb?

"itu permanen.. jadi kalau misalkan si A mau login tetep namanya si B terus, walaupun login pake nama A.." ? itu bukannya sudah salah? atau memang maunya seperti itu?

Faktornya empty: 1. Salah di code. 2. Salah di SQL querynya error 3. ketika data di select dr db tidak ada/kosong/empty.

Yang sy heran itu hasil/result Query Sqlnya yg di MYSQL tidak pernah tampil knp y?

avatar blackarch
@blackarch

101 Kontribusi 35 Poin

Dipost 6 tahun yang lalu

itu yang

 include('config/koneksi.php');

sama

 $conn = mysqli_connect("localhost", "root", "", "penyakit_db");

memang sama..

iya memang salah, makanya saya nanya.. kok bisa gitu.. tapi setiap daftar user itu berhasil kok, datanya juga bisa masuk di db.

avatar Ekafitri
@Ekafitri

23 Kontribusi 0 Poin

Dipost 6 tahun yang lalu

@Ekafitri sama dalam arti 1 file, "iya memang salah, makanya saya nanya.. kok bisa gitu" memang tidak masalah tapi ada baiknya diperbaiki. "tapi setiap daftar user itu berhasil kok, datanya juga bisa masuk di db." untuk daftar user itu lain codenya, jd tidak bisa di samakan. Coba di var_dump tnamanya keluarnya apa coba di copas lalu di post lagi

<?php
  $conn = mysqli_connect("localhost", "root", "", "penyakit_db");
  $result = mysqli_query($conn, "Select * From user where Username = '$username'");
  $tnama = mysqli_fetch_array($result);
  var_dump($tnama);exit;

avatar blackarch
@blackarch

101 Kontribusi 35 Poin

Dipost 6 tahun yang lalu

@blackarch Iya 1 file..

NULL gitu bilangnya,

avatar Ekafitri
@Ekafitri

23 Kontribusi 0 Poin

Dipost 6 tahun yang lalu

@Ekafitri oke fix, itu dari database, query SQLnya jalan hanya saja datanya tidak ada di database sehingga hasilnya empty di database yang kemudian me-return NULL, jika memang benar ada seharusnya $tnama itu berbentuk array ketika di var_Dump(); yang berisikan data atas nama $username.

Untuk kasus yang 1 lagi (A->login->B) itu kemungkinan ada salah di code.

avatar blackarch
@blackarch

101 Kontribusi 35 Poin

Dipost 6 tahun yang lalu

@blackarch sudah hanya 1 user yang nampil

avatar Ekafitri
@Ekafitri

23 Kontribusi 0 Poin

Dipost 6 tahun yang lalu

 <?php
session_start();
$_SESSION["SES_USER"] = "user";

$username = $_REQUEST['username'];
$pass = $_REQUEST['pass'];

if (trim($username)=="") {
	echo "DATA USER BELUM DIISI";
	include "konsul.php"; exit;
}
else if (trim($pass)=="") {
	echo "DATA PASSWORD BELUM DIISI";
	include "konsul.php"; exit;
}

// SQL untuk memeriksa data User dan Password
$conn = mysqli_connect("localhost", "root", "", "penyakit_db");
$sql_cek = mysqli_query($conn, "SELECT * FROM user WHERE Username='$username'
	AND Password='$pass'");
$ada_cek = mysqli_num_rows($sql_cek);

// Periksa apakah ada data yang sesuai
if ($ada_cek >=1) {
	$SES_USER=$username;
	("SES_USER");

	echo ("<script>window.alert('login berhasil');
	document.location='?page=konsultasiForm'; </script> ");

	exit;
}
else {
	echo "USERNAME DAN PASSWORD TIDAK SESUAI";
	header ("location:index.php?page=konsul");
	exit;
}

?>

lha itu di

 $_SESSION["SES_USER"] = "user";

kemungkinan salahnya, soalnya hasil identitas user selalu muncul yang usernamenya itu terus.. tapi kalau yang itu nggak dikasih nggak bisa masuk ke login konsultasi

avatar Ekafitri
@Ekafitri

23 Kontribusi 0 Poin

Dipost 6 tahun yang lalu

Jawaban Terpilih

@Ekafitri Iya itu salah di sana, itu bukan membuat SESSION untuk username melainkan membuat SESSION dengan nama user, untuk pembuatan sessionnya salah coba di perbaiki seperti ini

// hapus code ini
$_SESSION["SES_USER"] = "user";

//SESSION
if ($ada_cek >=1) {

$_SESSION["SES_USER"] = $username;

echo ("<script>window.alert('login berhasil');
document.location='?page=konsultasiForm'; </script> ");

exit;
}

pembuatan session di awali dengan $_SESSION["value"] = $variable/value;

session_start();
$_SESSION["ID"] = "15";
echo $_SESSION["ID"];
// 15

login konsultasi itu berisi apa ya? & maksudnya login konsultasi itu page=konsultasiForm' yg ini atau include "konsul.php"; exit; ?

avatar blackarch
@blackarch

101 Kontribusi 35 Poin

Dipost 6 tahun yang lalu

@blackarch baik nanti dicoba,, konsultasiform berisi diagnosanya, ya itu tampilan gejala terus menghasilkan identitas user dan hasil diagnosa..

kalau konsul sendiri isinya ini tampilan ketika mau login user.. nah yang loginuser itu prosesnya..

avatar Ekafitri
@Ekafitri

23 Kontribusi 0 Poin

Dipost 6 tahun yang lalu

@Ekafitri "tapi kalau yang itu nggak dikasih nggak bisa masuk ke login konsultasi" yg di maksud login konsultasi itu code yg kamu share pertama kali bukan? yg ini ?

<?php
  $conn = mysqli_connect("localhost", "root", "", "penyakit_db");
  $result = mysqli_query($conn, "Select * From user where Username = '$username'");
  ($tnama = mysqli_fetch_array($result));
  ?>

  <tr valign="top">
    <td>Nama</td>
     <td>:</td>
    <td colspan="3"><?php echo $tnama['Nama'];?> </td>
    </tr>
  <tr>
.............................

kalo iya seharusnya skrng udh bisa.

avatar blackarch
@blackarch

101 Kontribusi 35 Poin

Dipost 6 tahun yang lalu

@blackarck

iya,, yang itu.. terimakasih mas, pencerahannya. iya sudah bisa..

avatar Ekafitri
@Ekafitri

23 Kontribusi 0 Poin

Dipost 6 tahun yang lalu

Login untuk ikut Jawaban