Rumah  >  Soal Jawab  >  teks badan

Pengawal Laravel tidak boleh mengembalikan pembolehubah sesi

<p>Saya sedang belajar Laravel dan saya cuba memasukkan mesej kejayaan ke dalam sesi dan menunjukkannya dalam paparan tetapi ia nampaknya tidak berfungsi</p> <p>Ini ialah kod saya dalam bahagian paparan</p> <pre class="brush:php;toolbar:false;"><div class="col-sm-12 col-xl-12"> @jika (sesi()->mempunyai('msg')) <h5> {{ session('msg') }}</h5> @endif</pre> <p>Ini ialah fungsi pengawal yang saya gunakan untuk menambah kandungan baharu dan meletakkan mesej ke dalam sesi</p> <pre class="brush:php;toolbar:false;">kedai fungsi awam(CatalogRequest $request) { $status=$ini->katalog->masukkan([ 'nama' => $permintaan->nama, 'status' => $permintaan->status ]); if($status){ $msg = "Direktori berjaya ditambah"; $color = 'berjaya'; }lain{ $msg = "Gagal menambah direktori"; $color = 'merah'; } session()->put('msg',$msg); return redirect('katalog'); }</pre></p>
P粉998100648P粉998100648454 hari yang lalu599

membalas semua(1)saya akan balas

  • P粉604848588

    P粉6048485882023-08-14 12:51:02

    Cuba ini

    session()->flash('msg', ['text' => $msg, 'color' => $color]);

    Dalam templat bilah

    <div class="col-sm-12 col-xl-12">
        @if (session()->has('msg'))
            <h5 style="color: {{ session('msg.color') }}">{{session('msg.text') }}</h5>
        @endif
    </div>

    Dalam kod ini, saya memastikan anda memasukkan import yang betul, menggunakan kaedah yang betul untuk memasukkan data dan menggunakan kaedah flash() dan bukannya kaedah put() untuk menyimpan sementara mesej dalam sesi. Selain itu, warna mesej juga disimpan dalam sesi untuk kawalan yang lebih baik ke atas penggayaan.

    Selain itu, anda boleh cuba mengikatnya menggunakan kaedah WITH.

    return back()->with('msg', 'Your message');

    Anda boleh menggunakan redirect() redirect()->route() dan kaedah lain. Juga, sila baca dokumentasi dengan teliti, anda akan mendapat banyak idea daripadanya.

    balas
    1
  • Batalbalas