Postingan lainnya
Data tidak tampil di view
selamat pagi. saya sedang membuat sebuah aplikasi, dan ternyata menemukan masalah/issue pada proses login yang saya buat.
saya membuat function login seperti ini:
function actlogin(Request $request){
$op = operator::where('username', $request->username)->
where('password', md5($request->password));
$check = $op->count();
if($check>0){
$data = $op->first();
//return "hallooooo";
session('name', $data->name);
session('id', $data->id);
session('status', $data->status);
if(session('status', $data->status) == 1){
return redirect('admin/dashboard');
}
elseif(session('status', $data->status) == 0){
return redirect('user/dashboard');
}
}
else{
return "<script>alert('username atau password salah')</script>";
//return viw
}
}
function untuk menampilkan halaman setelah login seperti ini :
function admin(){
$op = operator::where('id', session('id'))->get();
return view('admin.dashboard', compact('op'));
}
dan ini view untuk halaman admin.dashboard :
<html>
<title>Dashboard Admin</title>
<body>
@foreach($op as $ope)
<h2>Selamat datang admin, {{($op->name)}}</h2>
<p><a href="/logout">LOGOUT</a> | <a href="/admin/lagu">LIST LAGU</a></p>
@endforeach
</body>
</html>
tapi setelah saya login sebagai admin tidak ada tampil apa-apa di browser. tolong dibantu secepatnya ya. terima kasih
16 Jawaban:
coba di die dump dulu di <pre> function admin(){ $op = operator::where('id', session('id'))->get(); dd($op); return view('admin.dashboard', compact('op')); } </pre>
ini yg tampil di browser kemudian gan <pre> Collection {#217 ▼ #items: [] } </pre>
berarti ada yg salah disini gan <pre> operator::where('id', session('id'))->get(); </pre>
karena itu tandanya g ada isi operatornya
solusinya gimana tuh gan? saya udah muter-muter kepala ga jalan juga. sedangkan pengambilan session saat login sudah berhasil. tapi kenapa saat sessionnya dijadikan parameter, hasilnya malah kosong.
coba di function actlogin di bagian opertaornya di tambahin first()
kalau mau di cek dulu,$op nya ada g, dengan cara di dd($op)
<pre> $op = operator::where('username', $request->username)-> where('password', md5($request->password))->first(); dd($op) </pre>
ada tuh <pre> operator {#213 ▼ #connection: "mysql" #table: null #primaryKey: "id" #keyType: "int" +incrementing: true #with: [] #withCount: [] #perPage: 15 +exists: true +wasRecentlyCreated: false #attributes: array:8 [▶] #original: array:8 [▶] #changes: [] #casts: [] #dates: [] #dateFormat: null #appends: [] #dispatchesEvents: [] #observables: [] #relations: [] #touches: [] +timestamps: true #hidden: [] #visible: [] #fillable: [] #guarded: array:1 [▶] } </pre>
<pre> function actlogin(Request $request){ $op = operator::where('username', $request->username)-> where('password', md5($request->password)); $check = $op->count(); if($check>0){ $data = $op->first(); //return "hallooooo"; session('name', $data->name); session('id', $data->id); session('status', $data->status); if(session('status', $data->status) == 1){ return redirect('admin/dashboard'); } elseif(session('status', $data->status) == 0){ return redirect('user/dashboard'); } dump(session('name')); dump(session('id')); dump(session('status')); dd('ini session'); } else{ return "<script>alert('username atau password salah')</script>"; //return viw } } </pre>
kalau gini, session nya ada g gan?
null gan <pre> null null null "ini session" </pre>
Jawaban Terpilih
nah berarti sessionnya belum ke set, coba :
<pre> function actlogin(Request $request){ $op = operator::where('username', $request->username)-> where('password', md5($request->password)); $check = $op->count(); if($check>0){ $data = $op->first(); //return "hallooooo"; session(['name' => $data->name]); session(['id' => $data->id]); session(['status' => $data->status]); if(session('status', $data->status) == 1){ return redirect('admin/dashboard'); } elseif(session('status', $data->status) == 0){ return redirect('user/dashboard'); } dump(session('name')); dump(session('id')); dump(session('status')); dd('ini session'); } else{ return "<script>alert('username atau password salah')</script>"; //return viw } } </pre>
btw agan pake laravel versi berapa?
kosong gan tampilan browser nya. versi 5.7
jadinya di bagian ini, session nya dibuat gimana gan? <pre> function admin(){ $op = operator::where('id', session('id'))->get(); return view('admin.dashboard', compact('op')); } </pre>
coba di die_dump lagi gan, hasil op nya ada ga
<pre> function admin(){ $op = operator::where('id', session('id'))->get(); dd($id); return view('admin.dashboard', compact('op')); } </pre>
sudah ada gan. terima kasih banyak bantuannya. sangat membantu gan:)
jangan lupa di function actlogin juga sessionnya di benerin di bagian if nya gan
<pre> if(session('status') == 1){ return redirect('admin/dashboard'); } elseif(session('status') == 0){ return redirect('user/dashboard'); } </pre>