route 和 dd 不起作用
route and dd doesn't work
我是 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>
和控制器:
class ProductController extends Controller
{
public function addToCard (Request $request){
$input = Input::all();
dd($input);
}
}
get 有效,因为当我提交表单时,我的 URL 是这样的:
http://127.0.0.1/altaro_laravel/public/?nb_serveurs=1&type=1&duree=1
但不应该是这样吗?
http://127.0.0.1/altaro_laravel/public/panier/?nb_serveurs=1&type=1&duree=1
以及为什么 dd 函数不起作用,它不显示任何内容..
抱歉我是新手
第二个问题,当我将路由替换为 post 并且方法表单属性不起作用时,我如何使用 post 方法执行此操作。
有什么想法吗?
更新:
好的,稍微改变一下:
这是路线:
Route::get('/panier',[
"uses" => "ProductController@addToCard",
"as" => "panier"
]);
这是表单标签:
<form method="get" action="{{ route('panier') }}">
新控制器功能:
public function addToCard (Request $request){
$input = $request->nb_serveurs;
dd($input);
}
不幸的是,我现在遇到了这个错误:
“
抱歉,无法找到您要查找的页面。
RouteCollection.php 第 161 行中的 NotFoundHttpException:
“
在您的控制器中,要从您的表单中检索输入,您应该使用 $request。参见 here
所以你的函数可以是这样的
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。看看 named routes
更新:
<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);
}
这应该采用您的形式,POST 值到名为 panier 的路线。该路由将调用名为 'addToCard' 的控制器函数,您在其中读取请求。然后你可以通过dd或更有用的方式打印,存储在数据库或其他东西中
我是 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>
和控制器:
class ProductController extends Controller
{
public function addToCard (Request $request){
$input = Input::all();
dd($input);
}
}
get 有效,因为当我提交表单时,我的 URL 是这样的:
http://127.0.0.1/altaro_laravel/public/?nb_serveurs=1&type=1&duree=1
但不应该是这样吗?
http://127.0.0.1/altaro_laravel/public/panier/?nb_serveurs=1&type=1&duree=1
以及为什么 dd 函数不起作用,它不显示任何内容..
抱歉我是新手
第二个问题,当我将路由替换为 post 并且方法表单属性不起作用时,我如何使用 post 方法执行此操作。
有什么想法吗?
更新:
好的,稍微改变一下:
这是路线:
Route::get('/panier',[
"uses" => "ProductController@addToCard",
"as" => "panier"
]);
这是表单标签:
<form method="get" action="{{ route('panier') }}">
新控制器功能:
public function addToCard (Request $request){
$input = $request->nb_serveurs;
dd($input);
}
不幸的是,我现在遇到了这个错误: “ 抱歉,无法找到您要查找的页面。 RouteCollection.php 第 161 行中的 NotFoundHttpException: “
在您的控制器中,要从您的表单中检索输入,您应该使用 $request。参见 here
所以你的函数可以是这样的
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。看看 named routes
更新:
<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);
}
这应该采用您的形式,POST 值到名为 panier 的路线。该路由将调用名为 'addToCard' 的控制器函数,您在其中读取请求。然后你可以通过dd或更有用的方式打印,存储在数据库或其他东西中