我在創建php if語句時遇到了問題,以匹配我對導航選擇的需求。 每當用戶從一個頁面移動到另一個頁面時,我希望導航按鈕的CSS改變,特別是匹配用戶當前正在查看的頁面。這是通過使用URL完成的。URL請求URI - 如果URL包含X do Y else do Z PHP
columns = nav的默認CSS。 selected =導航選擇的頁面CSS。
我一直在研究一段代碼來完成這項工作。目前它使用URL來搜索所需的字符串; $find1 ='index
。
我通過將$ selector變量設置爲導航的默認樣式來初始化代碼,並將其默認爲未被查看的頁面。然後它獲取URL並搜索字符串;這然後用於啓動if語句;其中變量$選擇變成$selector = 'selected'
<?php $selector = 'columns'; ?>
<?php
$path1 = $_SERVER['REQUEST_URI'];
$find1 = 'index';
$pos1 = strpos($path1, $find1);
if ($pos1 !== false): $selector = 'selected'; ?>
<a href="index.php"><div id="<?php echo $selector;?>">Home</div></a><?php endif ?>
當加載頁面時,特定的導航按鈕顯示正確的CSS。但其他導航按鈕不顯示,暗示$選擇器沒有被設置爲任何事件的事實。
然後我嘗試了另一種編碼函數的方式;
我加「2」所有的變量,以確保重複和毛刺是沒有問題的,以及改變頁面名稱:當「索引頁」加載導航
<?php $selector2 = 'columns'; ?>
<?php
$path2 = $_SERVER['REQUEST_URI'];
$find2 = 'about';
$pos2 = strpos($path2, $find2);
if ($pos2 !== false): $selector2 = 'selected'; else: $selector2 = 'columns';?>
<a href="about.php"><div id="<?php echo $selector2;?>">About</div></a><?php endif ?>
這一次按鈕都不見了。
我不確定在使用此代碼時出錯的位置或方式,但我相信這取決於我的if語句。
如果有人會幫助重新創建或重新調整此代碼,使其工作或接近工作,我將不勝感激!
在此先感謝你們。