Mengambil data pada db lain dan menampilkan sesuai login

mohon bantuan

Saya punya 2 db: login3:username, password, level dan kerja: lokasi, lingkup, petugas

pengennya ketika login dengan "username" maka langsung masuk ke index db kerja namun isinya hanya menampilan list dari "petugas" yang sama dengan username awal

pake session kok nggk bisa2 ya

tks

index login

 if (isset($_POST['login'])){

	session_start();

	$username=$_POST['username'];
	$password=$_POST['password'];


	$_SESSION['username']=$username;
    $query = mysql_query("Select * from login3 where username='$username' and password='$password'");
	$cekdata = mysql_num_rows($query);
    if ($cekdata > 0) {
		$data = mysql_fetch_array($query);
		$status=$data['status'];
		echo $status;
		if ($status == "admin")
			{
				?><script language="javascript">document.location.href="kerja/index.php";</script><?php
			}
		else if ($status == "inspektor")
			{
			?><script language="javascript">document.location.href="kerja/index.php";</script><?php
			}
		else{
				?><script language="javascript">document.location.href="kerja/index.php";</script><?php
			}
    }else{
			header('Location:index.php?login=Maaf password atau username anda salah!');
	}

}else{
	unset($_POST['login']);
}
?>

index db.kerja

 <?php

		session_start();
		if(!isset($_SESSION['username']))
		{ echo "Anda belum login";
		exit;}

		include('koneksi.php');

		$query = mysql_query("SELECT * FROM kerja ORDER BY kerja_kmp DESC") or die(mysql_error());

		if(mysql_num_rows($query) == 0){

			echo '<tr><td colspan="6">Tidak ada data!</td></tr>';

		}else{
			$no = 1;
			while($data = mysql_fetch_assoc($query)){

				echo '<tr>';
					echo '<td>'.$no.'</td>';
					echo '<td>'.$data['kerja_kmp'].'</td>';
					echo '<td>'.$data['kerja_lokasi'].'</td>';
					echo '<td>'.$data['kerja_lingkup'].'</td>';
					echo '<td>'.$data['kerja_petugas'].'</td>';
					echo '<td>'.$data['kerja_tanggal'].'</td>';
					echo '<td>'.$data['kerja_temuan'].'</td>';	/
					echo '<td><a href="edit.php?id='.$data['kerja_id'].'">Edit</a> / <a href="hapus.php?id='.$data['kerja_id'].'" onclick="return confirm(\'Yakin?\')">Hapus</a></td>';
				echo '</tr>';

				$no++;
avatar dedhy
@dedhy

3 Kontribusi 0 Poin

Diperbarui 7 tahun yang lalu

4 Jawaban:

Agak bingung gan, data2 yg agan sebutkan di atas beda dengan data2 yg agan keluarkan dari db. Table login3: username, password, level. Terus hasil dari mysql_query ada result $data['status']. Ini index status dari mana? Begitu juga dengan table kerja. Silahkan diperjelas struktur dbnya. Apakah ada error? Errornya apa? Apa hasil yg tampil saat setelah login dan buka index kerja?

avatar onirusama
@onirusama

265 Kontribusi 184 Poin

Dipost 7 tahun yang lalu

maaf saya koreksi ya pak db login3: username,password dan status. sengaja status dibuat semua menuju ke alamt sama db. kerja: kmp,lokasi, lingkup, petugas, tanggal, temuan.

coding diatas dirun nggk ada eror tapi muncul semua db kerja. pengennya ketika login username langsung diidentifikasi "jika sama" dengan nilai di 'petugas' db yang mucul hanya yang petugas yg sama

saya sisipkan session dan pake dibawah tidak bisa $query = mysql_query("SELECT * FROM kerja where kerja_petugas='login3.['$username']") or die(mysql_error());

atau pake $query=mysql_query("select * from kerja, login3 where kerja.kerja_petugas=login3.username order by kerja_id desc ");

avatar dedhy
@dedhy

3 Kontribusi 0 Poin

Dipost 7 tahun yang lalu

sudah belajar php dan mysqlkah? nampaknya dari syntaxnya banyak yg kurang benar. Lakukan hal berikut: 1. uji coba aplikasinya, lakukan tes login 2. edit file index db.kerja yang agan sebutkan menjadi

// coba die dulu lihat sessionnya sudah ada nilainya atau belum. tambahkan kode berikut setelah session_start()
session_start();
die($_SESSION['username']);
// kalau anda melihat nama usernya berarti ok bisa lanjut cek kode2 di bawahnya

3. catatan, itu juga di index login banyak logika yang kurang baik. semestinya lakukan pengecekan data di database dulu kemudian cek apakah nilainya ada, baru buat sessionnya. tetapi agan langsung set session sebelum cek data di db. Tapi ini bisa diskip dulu, selanjutnya ini penting diperbaiki.

avatar onirusama
@onirusama

265 Kontribusi 184 Poin

Dipost 7 tahun yang lalu

bang onirusama

Sudah saya die hasilnya muncul.

jika saya tulis langsung nama di username seperti dibawah ok, gimana ya gan? $query = mysql_query("SELECT * FROM kerja where kerja_petugas='langsung nama'") or die(mysql_error());

avatar dedhy
@dedhy

3 Kontribusi 0 Poin

Dipost 7 tahun yang lalu

Login untuk ikut Jawaban