在Laravel中提交表单后的空白页面

时间:2018-01-29 19:29:55

标签: php laravel laravel-5

我想使用Laravel将记录添加到我的数据库中,但在提交表单后,我得到一个空白屏幕,没有日志。这是我的代码:

public function store(Request $request)
    {
        foreach(Auth::user()->test as $data) {
                if($request->name == $data->name) {
                    return back()->with('wrong', trans('settings.isset.name')); 
                }
                else {
                    $this->validate($request, [
                        'name' => 'required',
                    ]);

                    $name = Name::store($request);

                    return back()->with('message', trans('settings.add.name')); 
                }
            }
    }

当然,还有正常的工作形式。在我没有foreach之前,它正在发挥作用,但事实并非如此。

3 个答案:

答案 0 :(得分:2)

我认为当Auth::user()->test为空时可能会导致这种情况。 因此,foreach循环内的代码不会被执行,也不会返回任何内容。

您可以尝试将return语句放到函数末尾。

答案 1 :(得分:0)

我希望这能完成这项工作

public function store(Request $request)
{
    $error = false;
    $errors = [];

        foreach(Auth::user()->test as $data) {
                if($request->name == $data->name) {
                    $error = true;
                    $errors['wrong'] = trans('settings.isset.name'); 
                    break;
                }
                else {
                    $this->validate($request, [
                        'name' => 'required',
                    ]);

                    $name = Name::store($request);

                }
            }

        if($error)
            return back()->with($errors);

        return back()->with('message', trans('settings.add.name')); 

}

答案 2 :(得分:0)

在.htaccess下使用它 Options +ExecCGI addhandler x-httpd-php5-cgi .php Options -MultiViews DirectoryIndex index.php <IfModule mod_rewrite.c> <IfModule mod_negotiation.c> Options -MultiViews -Indexes </IfModule> RewriteEngine On RewriteBase / # Handle Authorization Header RewriteCond %{HTTP:Authorization} . RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] # Redirect Trailing Slashes If Not A Folder... RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} (.+)/$ RewriteRule ^ %1 [L,R=301] # Handle Front Controller... RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f #RewriteRule ^ index.php [L] RewriteRule ^(.*)$ index.php?/$1 [L] </IfModule>