我如何修复 laravel 中的未定义变量?
how can i fix undefined varriable in laravel?
我在 LARAVEL 的 blade 页面中写了一段代码,可以由用户动态更改它们。
我在 cookie 中保存 css 样式
我在代码中定义了 css 变量
但是在主页面我得到这个错误:
未定义索引:css
我的代码:
<?php
session_start();
$default = 'dark.css'; // define stylesheets
$darkcss = 'dark.css';
$lightcss = 'light.css';
$expire = time()+60*60*24*30; // how long to remember css choice (60*60*24*30 = 30 days)
if ( (isset($_GET['css'])) && ($_GET['css'] == $lightcss) ) { // set cookie for light css
$_SESSION['css'] = $_GET['css'];
setcookie('css', $_GET['css'], $expire);
}
if ( (isset($_GET['css'])) && ($_GET['css'] == $darkcss) ) { // set cookie for dark css
$_SESSION['css'] = $_GET['css'];
setcookie('css', $_GET['css'], $expire);
}
if ( (isset($_GET['css'])) && ($_GET['css'] == $default) ) { // set cookie for default css
$_SESSION['css'] = $_GET['css'];
setcookie('css', $_GET['css'], $expire);
}
if (isset($_COOKIE['css'])) { // check for css stored in cookie
$savedcss = $_COOKIE['css'];
} else {
$savedcss = $default;
}
if ($_SESSION['css']) { // use session css else use cookie css
$css = $_SESSION['css'];
} else {
$css = $savedcss;
}
// the filename of the stylesheet is now stored in $css
echo '<link href="/admin/assets/css/'.$css.'" rel="stylesheet" type="text/css" />'
?>
尝试为 cookie 设置路径
setcookie('css', $_GET['css'], $expire, '/');
问题在这里
if ($_SESSION['css']) { // use session css else use cookie css
在这一行中你错过了 isset()
这就是你得到错误的原因
我在 LARAVEL 的 blade 页面中写了一段代码,可以由用户动态更改它们。
我在 cookie 中保存 css 样式 我在代码中定义了 css 变量
但是在主页面我得到这个错误: 未定义索引:css
我的代码:
<?php
session_start();
$default = 'dark.css'; // define stylesheets
$darkcss = 'dark.css';
$lightcss = 'light.css';
$expire = time()+60*60*24*30; // how long to remember css choice (60*60*24*30 = 30 days)
if ( (isset($_GET['css'])) && ($_GET['css'] == $lightcss) ) { // set cookie for light css
$_SESSION['css'] = $_GET['css'];
setcookie('css', $_GET['css'], $expire);
}
if ( (isset($_GET['css'])) && ($_GET['css'] == $darkcss) ) { // set cookie for dark css
$_SESSION['css'] = $_GET['css'];
setcookie('css', $_GET['css'], $expire);
}
if ( (isset($_GET['css'])) && ($_GET['css'] == $default) ) { // set cookie for default css
$_SESSION['css'] = $_GET['css'];
setcookie('css', $_GET['css'], $expire);
}
if (isset($_COOKIE['css'])) { // check for css stored in cookie
$savedcss = $_COOKIE['css'];
} else {
$savedcss = $default;
}
if ($_SESSION['css']) { // use session css else use cookie css
$css = $_SESSION['css'];
} else {
$css = $savedcss;
}
// the filename of the stylesheet is now stored in $css
echo '<link href="/admin/assets/css/'.$css.'" rel="stylesheet" type="text/css" />'
?>
尝试为 cookie 设置路径
setcookie('css', $_GET['css'], $expire, '/');
问题在这里
if ($_SESSION['css']) { // use session css else use cookie css
在这一行中你错过了 isset()
这就是你得到错误的原因