如何解决这个Laravel功能

时间:2018-03-13 09:54:02

标签: php database laravel

我创建了一个注册表单。我想要显示一条消息,例如"你不能预订这个"当有人试图插入数据库中已有的日期,显示时间(st)和座位号(项目)时。如果该数据不在数据库中,他可以插入它。然后我在SeatsController.php中创建了一个名为seatsinsert的函数。但是,当我点击提交按钮时没有任何反应。即使我找不到错误信息。

当我检查浏览器的控制台时,它显示了这一点。

  

http://localhost/FinalProject/public/seatsinsert 500(内部服务器   误差)

     

XHR加载失败:POST   " http://localhost/FinalProject/public/seatsinsert"

在网络标签中 - >回复显示了一个巨大的信息,即使我无法阅读它。

Laravel Log。

  

[2018-03-13 09:51:35] production.ERROR:没有应用程序加密密钥   已经指定。 {" exception":" [object](RuntimeException(code:0):   未指定应用程序加密密钥。在   d:\ wamp64 \ WWW \ FinalProject \厂商\ laravel \框架\ SRC \照亮\加密\ EncryptionServiceProvider.php:42)   [栈跟踪]

我该如何解决这个问题?

这是Seats.blade.php

<form class="form-horizontal" id="form1" method="POST" action="{{ route('seatsinsert') }}" enctype="multipart/form-data">    

    {{ csrf_field() }}    

    <h4> <span id="success_message" class="text-success"></span> </h4>

    <div class="form-group row">
    <label for="example-date-input" class="col-2 col-form-label">Select Date :</label>
    <div class="col-10">
    <input class="form-control" type="date" name="date" placeholder="mm-dd-yyyy" id="example-date-input">
    </div>
    </div>

     <div class="form-group">
    <label for="exampleSelect1">Select Time :</label>
    <select name="st" class="form-control" id="exampleSelect1">
      <option>10.30 am</option>
    </select>
    </div>  

      <h2 style="font-size:1.2em;font-family: Times New Roman;"> Choose seats by clicking below seats :</h2>

      <div id="holder"> 
    <ul id="place">
        </ul>    
      </div>

      <div style="width:600px;text-align:center;overflow:auto"> <br>       
         </div>

      <input type="submit" class="btn btn-primary" id="btnShowNew" value="Continue"> <br><br>

      @if(session()->has('Msg'))
      <h4 class="alert alert-success"> {{ session()->get('OnlyImg') }} </h4>
      @endif 

    <br />   

    </center>

    <script type="text/javascript">

        $(function () {

            $('#btnShowNew').click(function (e) {
                e.preventDefault();

                var items = [];
                $.each($('#place li.' + settings.selectingSeatCss + ' a'), function (index, value) {
                    items.push($(this).attr('title'));
                });

                   //console.log(items);
                   // $(location).attr('href', 'Seats');

                   $.ajax({ 
                    type: "post", 
                    url: "{{ route('seatsinsert') }}", 
                    data: { 
                    _token: "{{ csrf_token() }}", 
                    items: JSON.stringify(items), 
                    date: $('input[name=date]').val(), 
                    st: $('select[name=st]').val()}, 
                    success: function(data){ 
                    $("form").trigger("reset"); 
                    $('#success_message').fadeIn().html("Text"); 
                    } 
                    });

                }); //btnShowNew

         }); //Final  

这是我的SeatsController.php

public function seatsinsert(Request $request)
    {

        $date = $request->input('date');
        $st = $request->input('st');
        $item = $request->input('items'); 
        $items = str_replace(['[', ']', '"'], '', $item); 

        // Validation

        $query = DB::table('seats')
        ->where('date', '=', $date)
        ->where('st', '=', $st)
        ->where('item', '=', $items)
        ->count();

        dd($query);

        if($query > 0 ) { 
    $request->session()->flash('Msg', 'No Seat');
        return redirect('Seats');
    }
        else{

        $user = new Seats(); 
        $user->date = $date; 
        $user->st = $st; 
        $user->item = $items; 

        $user->save();
        $request->session()->flash('Msg', 'OK Seat Inserted');
        return redirect('Seats');
        }

    }

这是我的路由器。

Route::post('seatsinsert',[
'uses'=> 'SeatsController@seatsinsert',
'as' => 'seatsinsert'
]);

3 个答案:

答案 0 :(得分:0)

一个简单的php artisan key:generate可以解决问题

答案 1 :(得分:0)

嗯,现在显而易见的是错误消息:

您需要生成密钥。

$> php artisan key:generate 

答案 2 :(得分:0)

打开cmd,然后运行php artisan key:generate命令