我有一個選項讓用戶寫出他們不想看到的頁面。用OR替換逗號(PHP)
簡化,是一個文本輸入,其中雖然他們小費,他們會寫網頁的名稱,例如「接觸」,「生物」等
「接觸,生物」我要創建一個條件來隱藏這些頁面,所以內容會顯示這樣的代碼:
if (('contact') || ('bio')) {
hide content
}
只鍵入一個頁面會很容易,但有更多的頁面,我不知道如何更換逗號到或有條件的。我該怎麼做?
我有一個選項讓用戶寫出他們不想看到的頁面。用OR替換逗號(PHP)
簡化,是一個文本輸入,其中雖然他們小費,他們會寫網頁的名稱,例如「接觸」,「生物」等
「接觸,生物」我要創建一個條件來隱藏這些頁面,所以內容會顯示這樣的代碼:
if (('contact') || ('bio')) {
hide content
}
只鍵入一個頁面會很容易,但有更多的頁面,我不知道如何更換逗號到或有條件的。我該怎麼做?
你應該先採取用戶輸入一個變量 比方說,你在$string
$string = "contact,bio,home";
$token = strtok($string, ",");
$i=0; // To know how manny keywords are there.
while ($token != false)
{
echo "$token<br>";
$user_ip[i++] = strtok(",");
}
得到它,那麼你需要分析所有的頁面通過命名,並將其存儲在陣列。 可以說你將其存儲在$user_ip
然後,你需要像
if (($user_ip[0] === "contact") || ($user_ip[0] === "bio") {
}
比較及以上,如果檢查$user_ip.
答案越來越接近我想要的。問題是我不知道他們想排除哪些頁面。我是PHP新手,所以如果你能解釋如何解析頁面名稱,那就太好了。 –
@ audaz802根據您的需要更新我的答案。 –
第二部分令我困惑。由於我不知道他們輸入了哪些數據以及有多少,如何比較? –
嘗試的所有成員使用下面的代碼:
$skip_pages = explode(",","contact, bio");
$current_page = "contact";
if(in_array($current_page,$skip_pages)){
//redirect page to ....
}
//continue with page
是否有他們需要輸入的特定原因?爲什麼不給他們複選框什麼隱藏? –
你的過程令人困惑和脆弱 –
順便說一句,你的'if'語句條件永遠是真的。你可能想用'[explode()'](http://uk1.php.net/manual/en/function.explode.php)做一些事情,然後檢查你正在尋找什麼結果數組。 –