gpt4 book ai didi

php - 发布 Laravel 表单无效

转载 作者:行者123 更新时间:2023-12-02 04:37:54 25 4
gpt4 key购买 nike

我正在 laravel 中设置一个简单的表单:

这是路由文件:

Route::get('backoffice/upload',    [ 'as'    => 'backoffice/upload', 
'uses' => 'UploadController@uploadForm']);

Route::post('backoffice/saveimage',[ 'as' => 'backoffice/saveimage',
'uses' => 'UploadController@saveImage']);

这是 Controller :

class UploadController extends \BaseController
{

public function uploadForm()
{
return View::make("backoffice.upload.create");
}

public function saveImage()
{
return "Uploading...";
}

}

这是 View 文件:

<h1>Upload Image</h1>

{{ Form::open(['action' => 'UploadController@saveImage']) }}

<div class='formfield'>
{{ Form::label('newfilename','New File Name (optional):') }}
{{ Form::input('text','newfilename') }}
{{ $errors->first('newfilename') }}
</div>

<div class='formfield'>
{{ Form::submit($action,['class'=>'button']) }}
{{ Form::btnLink('Cancel',URL::previous(),['class'=>'button']) }}
</div>

{{ Form::close() }}

//生成的 HTML

<h1>Upload Image</h1>

<form method="POST" action="http://my.local/backoffice/saveimage" accept-charset="UTF-8"><input name="_token" type="hidden" value="x9g4SW2R7t9kia2B8HRJTm1jbLRl3BB8sPMwvgAM">

<div class='formfield'>
<label for="newfilename">New File Name (optional):</label>
<input name="newfilename" type="text" id="newfilename">
</div>

<div class='formfield'>
<input class="button" type="submit" value="Create">
</div>

</form>

所以,如果我去:http://my.local/backoffice/upload我得到了带有上面 HTML 的表单。

但是,如果我输入任何内容,然后单击“提交”,我将返回到表单,但现在有以下 URL:

http://my.local/backoffice/upload?pz_session=x9g4SW2R7t9kia2B8HRJTm1jbLRl3BB8sPMwvgAM&_token=x9g4SW2R7t9kia2B8HRJTm1jbLRl3BB8sPMwvgAM&newfilename=ddd

这对我来说毫无意义。到目前为止,我在处理表单时一直使用 route::resource ,并且没有问题。我正在尝试使用 GET 和 POST 做一个简单的表单,并且没有尽头。我错过了什么?

此外,如果我修改 routes.php 并将其从 post 更改为 any,然后打开浏览器窗口并键入:http://my.local/backoffice/saveimage然后我收到消息“正在上传...”,所以该部分工作正常。

最佳答案

找到解决方案。在制作系统的后台时,我重新使用了前台模板,但删除了所有多余的部分。或者我是这么想的。但是,前台标题模板有一个表格,我只删除了一部分。

所以问题是有一个我不知道的开始 FORM 标记。因此,当我点击提交到我的表单时,它实际上是在提交到另一个表单。

由于其他表单没有任何操作,因此它默认为自身。

当然,如果我只是验证了 HTML,这会立即显示出来。这里吸取的教训是在提交问题之前验证我的 html!

关于php - 发布 Laravel 表单无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21556046/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com