Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Laravel 路线和dd不';行不通_Laravel_Laravel 5_Laravel Routing - Fatal编程技术网

Laravel 路线和dd不';行不通

Laravel 路线和dd不';行不通,laravel,laravel-5,laravel-routing,Laravel,Laravel 5,Laravel Routing,我是Laravel的新手,我在这里尝试的是简单地获取输入表单值并用dd函数显示它 路由文件: Route::get('/', [ 'as' => 'index', "uses" => "IndexController@index" ]); Route::get('/panier',[ "uses" => "ProductController@addToCard" ]); 我的表格: <form method="get" action"/panier"&g

我是Laravel的新手,我在这里尝试的是简单地获取输入表单值并用dd函数显示它

路由文件:

Route::get('/', [
  'as' => 'index', 
  "uses" => "IndexController@index"
]);

Route::get('/panier',[
  "uses" => "ProductController@addToCard"
]);
我的表格:

<form method="get" action"/panier">
        <table>
          <tr>
            <td>
              Nombre de serveurs physiques
            </td>
            <td>
              <select id="nb_serveurs" name="nb_serveurs"><option value="0">Choisir une option</option><option value="1" selected="selected" >1</option><option value="2">2</option><option value="3">3</option><option value="4">4</option><option value="5">5</option></select>
            </td>
          </tr>
          <tr>
            <td>
              Type de licence
            </td>
            <td>
              <select id="type" name="type"><option value="0">Choisir une option</option><option value="1" selected="selected" >Illimitée</option><option value="2">Standard</option></select>
            </td>
          </tr>
          <tr>
            <td>
              Durée
            </td>
            <td>
              <select id="duree" name="duree"><option value="0">Choisir une option</option><option value="1" selected="selected">1 an</option><option value="2">2 ans</option><option value="3">3 ans</option></select>
              <a class="reset_variations" href="#">Effacer</a>
            </td>
          </tr>
        </table>
        <div style="width:100%;height:50px;">
          <div class="price"><span id="total">495,00 € HT</span></div>
        </div>
        <div class="panier-button">
          <input type="submit" class="single_add_to_cart_button button alt joli-boutton" id="panier-go" value="Ajouter au panier"/>
        </div>
</form>
get有效,因为当我提交表单时,我的URL如下所示:

但不应该是这样吗

为什么dd函数不起作用,它不显示任何东西

对不起,我是个新手

第二个问题,当我替换我的发送路线和方法表单属性时,如何使用post方法实现这一点,它不起作用

有什么想法吗

更新:

好的,稍微改变一下:

路线如下:

Route::get('/panier',[
  "uses" => "ProductController@addToCard",
  "as" => "panier"
]);
以下是表单标签:

<form method="get" action="{{ route('panier') }}">
不幸的是,我现在犯了这个错误: " 很抱歉,找不到您要查找的页面。 RouteCollection.php第161行中的NotFoundHttpException:

在控制器中,要从表单检索输入,应使用$request。看

所以你的函数可以是

class ProductController extends Controller
{
    public function addToCard (Request $request){
      $input = $request->nb_serveurs;
      dd($input);
    }
}
注意:您的表格中也有错误

<form method="get" action"/panier">

需要

<form method="POST" action="/panier">

缺少“=”,您的方法应为POST。我还注意到您正在将操作硬编码为“/panier”。在Laravel中有更好的方法来构建动作URL。看看

更新:

<form method="POST" action="{{route('panier')}}">
 ....
</form>

Route::POST('panier',[
  "uses" => "ProductController@addToCard",
  "as" => panier
]);

public function addToCard (Request $request){
      $input = $request->nb_serveurs;
      dd($input);
}

....
路线::邮政('panier'[
“使用”=>“ProductController@addToCard",
“as”=>窗格
]);
公共函数addToCard(请求$Request){
$input=$request->nb_servers;
dd(投入);
}

这应该采用您的形式,将值发布到名为panier的路由。该路由将调用名为“addToCard”的控制器函数,您在其中读取请求。然后你可以通过dd或更有用的方式打印,存储在数据库或其他什么东西中

谢谢,我现在有另一个问题,你能在我的帖子上查看我的更新吗?我有点困惑。是否要添加项目(=发布)或列出项目(=获取)。在任何情况下,您的blade视图中的route语句应该是{!!route('panier')!!},而不是action=“{{route('panier')}}我想列出项目,但URL中没有变量,不是它的POST方法吗?现在我想让dd助手工作:{和{之间有什么区别吗?即使我做了类似于“route::get('test',function(){return“test”;});“它会通过相同的错误。@BaptisteArnaud请保持严格的专业语言。
<form method="POST" action="/panier">
<form method="POST" action="{{route('panier')}}">
 ....
</form>

Route::POST('panier',[
  "uses" => "ProductController@addToCard",
  "as" => panier
]);

public function addToCard (Request $request){
      $input = $request->nb_serveurs;
      dd($input);
}