我想将一些数据写入我的数据库,如果查询失败,我想显示错误。 我尝试了以下方法:
<div style="margin:auto;text-align:center;padding-top:10px;">
<form action="" method="POST">
<p style="text-align:center;">
<select id="myselect">
<option value="blogs">blogs.php</option>
<option value="portfolio">portfolio.php</option>
<option value="contact">contact.php</option>
<option value="home">home.php</option>
</select>
</p>
<p style="text-align:center;">
<input type="submit" name="submit" onclick="myFunction()" value="Submit"/>
</p>
</form>
</div>
<div class="pagetitle">
<h5>Option Value (for example blogs)</h5>
</div>
<script>
function myFunction() {
var x = document.getElementById("myselect").selectedIndex;
var _value = document.getElementsByTagName("option")[x].value;
document.getElementsByTagName('h5')[0].innerText = _value
}
</script>
重定向效果很好,但我无法在$ data
中读出响应我的刀锋:
return redirect()->back()->with('data', ['Database Error!']);
但这两种方法都不起作用,我阅读了很多L5.2文档,但没有任何作用。
我是否需要修改会话配置?!? 或者问题是什么?
答案 0 :(得分:2)
试
return back()->with('data', ['Database Error!']);
back()
将带您进入上一页,其中包含一个包含“数据库错误!”的数据变量。
答案 1 :(得分:1)
这是5.2升级的一个突破性问题。发生的事情是中间件负责显示所有视图中的Session
消息未被利用,因为它已从全局中间件移至web
中间件组。
有两种方法可以解决这个问题:
kernel.php
文件(app / Http / Kernel.php)中,您可以将middleware \Illuminate\View\Middleware\ShareErrorsFromSession::class
移回protected $middleware
属性。使用路由组包裹所有web
路由,并将Web中间件应用于它们:
Route::group(['middleware' => 'web'], function() {
// Place all your web routes here...(Cut all `Route` which are define in `Route file`, paste here)
});