Comment Laravel renvoie-t-il un message de réussite ?
ringa_lee
ringa_lee 2017-05-16 16:55:22
0
1
558

Si la sauvegarde échoue, voici le code

return redirect()->back()->withInput()->withErrors('保存失败!');

Si la sauvegarde est réussie, comment revenir s'il existe un modèle ?

return redirect('/模版)->??????('保存成功');

Ou un message de réussite apparaîtra sur le modèle

return redirect('/模版)->with('保存成功',$ok);  //总不能一直显示。。

================================================= === =============================

Routeur :

   
    Route::get('/config', 'ConfigsController@index');

    Route::post('config/add', [
        'as' => 'add',
        'uses' => 'ConfigsController@add'
    ]);

Contrôleur

<?php namespace App\Http\Controllers\Admin;

use App\Http\Requests;
use App\Http\Controllers\Controller;

use Illuminate\Http\Request;
use App\Configs;

use Input;
use Illuminate\Http\Response;


class ConfigsController extends Controller {


    /**
     * 显示配置页面,从数据库ID=1获取
     */

    public function index()
    {
        $config_view = Configs::find(1);
        return view('admin.write_config')->with('config_db',$config_view);
    }

    /**
     * 提交更新数据,表单验证
     */

    public function add(Request $request)
    {



        $this->validate($request, [
                'web_name' => 'required',
                'web_add' =>'required',
                'web_email' => 'required|email',
                'web_copy' => 'required',
                'web_keywords' => 'required',
                'web_description' => 'required',
            ]
        );


        $configs = Configs::find(1);

        $configs->web_name = Input::get('web_name');
        $configs->web_add = Input::get('web_add');
        $configs->web_email = Input::get('web_email');
        $configs->web_copy = Input::get('web_copy');
        $configs->web_keywords = Input::get('web_keywords');
        $configs->web_description = Input::get('web_description');



        //判断,如果通过验证,那么第一步跳转到config页面,并且显示成功
        if ($configs->save()) {
            return redirect('/admin/config')->with('status', 'Update Success! 成功! :)');
        } else {
            return redirect()->back()->withInput()->withErrors('保存失败!');
        }

    }

}

Page modèle

@extends('admin.admin')

@section('content')

    <p class="home_con">
        <h3>基本设置</h3>


        <form method="post" action="/admin/config/add" class="forms">


      
           //对中文显示无效
 
            @if (session('status'))
                 
                <p class="tools-alert tools-alert-green">
                    {{ session('status') }}
                </p>
            @endif







    


            @if (count($errors) > 0)
                <p class="tools-alert tools-alert-red">
                    <strong>错误</strong>你填写数据有问题!请重新填写!<br><br>
                    <ul>
                        @foreach ($errors->all() as $error)
                            <li>{{ $error }}</li>
                        @endforeach
                    </ul>
                </p>

            @endif




            <label>
                网站名称
                <input type="text" name="web_name" class="width-50" value="{{$config_db->web_name}}" />
            </label>

            <label>
                网站地址
                <input type="text" name="web_add" class="width-50"  value="{{$config_db->web_add}}" />
            </label>

            <label>
                管理邮箱
                <input type="text" name="web_email" class="width-50"  value="{{$config_db->web_email}}" />
            </label>
            <label>
                版权信息
                <input type="text" name="web_copy" class="width-50"  value="{{$config_db->web_copy}}" />
            </label>

            <br>
            <h3>SEO管理</h3>
            <label>
                网站关键词
                <input type="text" name="web_keywords" class="width-50"  value="{{$config_db->web_keywords}}" />
            </label>

            <label>
                网站描述
                <input type="text" name="web_description" class="width-50"  value="{{$config_db->web_description}}" />
            </label>

            <input type="submit" class="btn btn-blue" value="更新" />
            <input type="hidden" name="_token" value="{{ csrf_token() }}">




        </form>









    </p>

@endsection
ringa_lee
ringa_lee

ringa_lee

répondre à tous(1)
某草草

Tout d'abord, ma compréhension personnelle de redirect() n'est pas redirect('/template'), mais redirect('/routePath') Si vous souhaitez l'utiliser ainsi, par exemple, implémentez le saut suivant : redirect()并不是redirect('/模板'),而是redirect('/routePath'),如果你要这样用的话,比如说实现下面的跳转:

return redirect('success')->with('status', 'Profile updated!');

一般的流程是这样的,首先你得在routes.php中注册你的路由,比如:

Route::get('/success','UsersController@storeSuccess');

然后在UsersControllerstoreSuccess方法一般会有下面这个语句:

return view('users.success');

最后在success.blade.php中就可以使用类似下面的语句来获取跳转的信息了:

@if (session('status'))
    <p class="alert alert-success">
        {{ session('status') }}
    </p>
@endif

这里的status就是最开始redirect()->with()中的status,理解为key。用session取这个key rrreee

Le processus général est le suivant, vous devez d'abord enregistrer votre itinéraire dans routes.php, par exemple :

rrreee Ensuite, la méthode storeSuccess de UsersController contient généralement l'instruction suivante : rrreee

Enfin, vous pouvez utiliser une instruction similaire à la suivante dans success.blade.php pour obtenir les informations sur le saut :

rrreee

Le statut ici est le statut dans le redirect()->with() initial, qui est compris comme key. Utilisez simplement session pour obtenir cette clé

Enfin, si vous souhaitez apprendre Laravel, vous pouvez consulter la communauté que je viens de lancer. Il y a une série d'articles et de tutoriels ici, et j'essaierai d'enregistrer des vidéos plus tard :

🎜. 🎜Lien ---》Laravist🎜 🎜🎜Joyeux hacking🎜🎜
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal