PHP Cookies:启动页面工作,然后我得到一个重定向循环

时间:2015-08-04 12:54:11

标签: php laravel cookies

我正在尝试在PHP的Laravel(5)框架中构建一个Web应用程序,它的开头是一个JS脚本,它在屏幕上键入一些东西,然后显示一个继续按钮,这个想法就是一次单击“继续”按钮(或者一旦用户看到该欢迎页面),他们将不再看到它,并将从那里开始重定向到索引页面,直到到期,将来设置为10年。

首次加载网站时,会显示欢迎页面。通过将/作为url扩展名加载索引页面(因为我还没有放置继续按钮),我得到一个重定向循环。

有人可以告诉我我做错了吗?

/welcome是启动页面的网址,/是主索引页面的网址。

以下代码位于/目录或index.blade.php

<?PHP
    $cookie = 'yum';
    $value = 'redirect'; 
    $expiration = time() + (10 * 365 * 24 * 60 * 60);
    $domain = '/';

    if (!isset($_COOKIE[$cookie])) {
        setcookie($cookie, $value, $expiration, $domain);
        header("Location: /welcome");
    } else {
        header("Location: /");
    }
?>

以下代码为routes.php

<?php

Route::get('/', function () {
    return view('pages.index');
});

Route::get('/welcome', function() {
    return view('pages.welcome');
});

以下代码为PagesController.php

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

use App\Http\Requests;
use App\Http\Controllers\Controller;

class PagesController extends Controller
{
    public function index() {
        return view('pages.index');
    }

    public function welcome() {
        return view('pages.welcome');
    }
}

1 个答案:

答案 0 :(得分:1)

删除else语句,它正在重定向到自身。

它将解决循环问题。