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

avatar syecharbha
@syecharbha

44 Kontribusi 1 Poin

Diperbarui 5 tahun yang lalu

16 Jawaban:

coba di die dump dulu di <pre> function admin(){ $op = operator::where('id', session('id'))-&gt;get(); dd($op); return view('admin.dashboard', compact('op')); } </pre>

avatar Nandar
@Nandar

648 Kontribusi 204 Poin

Dipost 5 tahun yang lalu

ini yg tampil di browser kemudian gan <pre> Collection {#217 ▼ #items: [] } </pre>

avatar syecharbha
@syecharbha

44 Kontribusi 1 Poin

Dipost 5 tahun yang lalu

berarti ada yg salah disini gan <pre> operator::where('id', session('id'))-&gt;get(); </pre>

karena itu tandanya g ada isi operatornya

avatar Nandar
@Nandar

648 Kontribusi 204 Poin

Dipost 5 tahun yang lalu

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.

avatar syecharbha
@syecharbha

44 Kontribusi 1 Poin

Dipost 5 tahun yang lalu

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-&gt;username)-&gt; where('password', md5($request-&gt;password))-&gt;first(); dd($op) </pre>

avatar Nandar
@Nandar

648 Kontribusi 204 Poin

Dipost 5 tahun yang lalu

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>

avatar syecharbha
@syecharbha

44 Kontribusi 1 Poin

Dipost 5 tahun yang lalu

<pre> function actlogin(Request $request){ $op = operator::where('username', $request-&gt;username)-&gt; where('password', md5($request-&gt;password)); $check = $op-&gt;count(); if($check&gt;0){ $data = $op-&gt;first(); //return "hallooooo"; session('name', $data-&gt;name); session('id', $data-&gt;id); session('status', $data-&gt;status); if(session('status', $data-&gt;status) == 1){ return redirect('admin/dashboard'); } elseif(session('status', $data-&gt;status) == 0){ return redirect('user/dashboard'); } dump(session('name')); dump(session('id')); dump(session('status')); dd('ini session'); } else{ return "&lt;script&gt;alert('username atau password salah')&lt;/script&gt;"; //return viw } } </pre>

kalau gini, session nya ada g gan?

avatar Nandar
@Nandar

648 Kontribusi 204 Poin

Dipost 5 tahun yang lalu

null gan <pre> null null null "ini session" </pre>

avatar syecharbha
@syecharbha

44 Kontribusi 1 Poin

Dipost 5 tahun yang lalu

Jawaban Terpilih

nah berarti sessionnya belum ke set, coba :

<pre> function actlogin(Request $request){ $op = operator::where('username', $request-&gt;username)-&gt; where('password', md5($request-&gt;password)); $check = $op-&gt;count(); if($check&gt;0){ $data = $op-&gt;first(); //return "hallooooo"; session(['name' =&gt; $data-&gt;name]); session(['id' =&gt; $data-&gt;id]); session(['status' =&gt; $data-&gt;status]); if(session('status', $data-&gt;status) == 1){ return redirect('admin/dashboard'); } elseif(session('status', $data-&gt;status) == 0){ return redirect('user/dashboard'); } dump(session('name')); dump(session('id')); dump(session('status')); dd('ini session'); } else{ return "&lt;script&gt;alert('username atau password salah')&lt;/script&gt;"; //return viw } } </pre>

btw agan pake laravel versi berapa?

avatar Nandar
@Nandar

648 Kontribusi 204 Poin

Dipost 5 tahun yang lalu

kosong gan tampilan browser nya. versi 5.7

avatar syecharbha
@syecharbha

44 Kontribusi 1 Poin

Dipost 5 tahun yang lalu

oh engga gan, ada hasilnya muncul

avatar syecharbha
@syecharbha

44 Kontribusi 1 Poin

Dipost 5 tahun yang lalu

jadinya di bagian ini, session nya dibuat gimana gan? <pre> function admin(){ $op = operator::where('id', session('id'))-&gt;get(); return view('admin.dashboard', compact('op')); } </pre>

avatar syecharbha
@syecharbha

44 Kontribusi 1 Poin

Dipost 5 tahun yang lalu

coba di die_dump lagi gan, hasil op nya ada ga

<pre> function admin(){ $op = operator::where('id', session('id'))-&gt;get(); dd($id); return view('admin.dashboard', compact('op')); } </pre>

avatar Nandar
@Nandar

648 Kontribusi 204 Poin

Dipost 5 tahun yang lalu

sudah ada gan. terima kasih banyak bantuannya. sangat membantu gan:)

avatar syecharbha
@syecharbha

44 Kontribusi 1 Poin

Dipost 5 tahun yang lalu

sip gan, sama-sama

avatar Nandar
@Nandar

648 Kontribusi 204 Poin

Dipost 5 tahun yang lalu

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>

avatar Nandar
@Nandar

648 Kontribusi 204 Poin

Dipost 5 tahun yang lalu

Login untuk ikut Jawaban