我有問題在PHP中設置多個用於if statements
的變量。轉換一個PHP變量爲會話變量
雖然有我的佈局很多文件,但這些都與這一問題有關的3個文件:
session.php文件(它實際上是一個JavaScript函數,它確定爲訪問者的瀏覽器寬度包括在我的JavaScript文件,我通過Ajax調用調用它。但是因爲這是無關緊要的這個問題,因此爲了避免此頁,我避免了文件上的混亂和太多的代碼。)
<?php
session_start();
$_SESSION['layoutType'] = $_REQUEST['layoutType'];
?>
核心。 php
<?php
session_start();
if (empty($_SESSION['layoutType'])) {
echo '<script type="text/javascript"> var session=false; var layoutType;</script>';
} else {
echo '<script type="text/javascript"> var session=true; var layoutType=' . $_SESSION['layoutType'] . ';</script>';
}
$layout = 'normal';
if (!empty($_SESSION['layoutType'])) {
$layoutType = $_SESSION['layoutType'];
if ($layoutType <= 219) {
$layout = 'minimal';
} else if ($layoutType >= 220 && $layoutType <= 1024) {
$layout = 'small';
} else {
$layout = 'normal';
}
$_SESSION['layout'] = $layout;
}
的index.php
<?php
include ('core/core.php');
// Function to load all the JavaScript files
getJS();
echo '<div>Your browser width is: ' . $_SESSION['layoutType'] . ' and Value of $layout variable currently is <strong>'.$layout.'</strong></div>';
if ($layout = 'normal') { ?>
<?php echo '<strong>' . $layout . '</strong> is the value of $layout in session'; ?>
<div id="sidebar">
<p>Widgets go here</p>
</div>
<?php } ?>
輸出
即使,佈局寬度落在小類別(您的瀏覽器寬度:872和$ layout變量的值目前很小) ,它仍然顯示它應該只顯示的位是佈局 - 擴展類別正常(正常值是$佈局在會話中的值)。
通常情況下,這裏的值是$layout
正在被index.php
文件中的if statement
覆蓋。
我在找什麼?
隨着layoutType
我還希望$layout
的價值在會話中設置基於core.php
的邏輯。這樣我就可以在各種網站上多次使用它if statements
。
這是非常重要的,因爲這些是我佈局中的varioys小部件/內容,我想根據訪問者的設備加載/未加載。因此,幾乎所有的小丫頭都會被包裝成if statement
。
請幫忙。
是的,這是正確的。有用。謝了哥們。 –