2014-04-14 229 views
1

我有一个选项让用户写出他们不想看到的页面。用OR替换逗号(PHP)

简化,是一个文本输入,其中虽然他们小费,他们会写网页的名称,例如“接触”,“生物”等

“接触,生物”我要创建一个条件来隐藏这些页面,所以内容会显示这样的代码:

if (('contact') || ('bio')) { 
    hide content 
} 

只键入一个页面会很容易,但有更多的页面,我不知道如何更换逗号到或有条件的。我该怎么做?

+0

是否有他们需要输入的特定原因?为什么不给他们复选框什么隐藏? –

+2

你的过程令人困惑和脆弱 –

+0

顺便说一句,你的'if'语句条件永远是真的。你可能想用'[explode()'](http://uk1.php.net/manual/en/function.explode.php)做一些事情,然后检查你正在寻找什么结果数组。 –

回答

0

你应该先采取用户输入一个变量 比方说,你在$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.

+0

答案越来越接近我想要的。问题是我不知道他们想排除哪些页面。我是PHP新手,所以如果你能解释如何解析页面名称,那就太好了。 –

+0

@ audaz802根据您的需要更新我的答案。 –

+0

第二部分令我困惑。由于我不知道他们输入了哪些数据以及有多少,如何比较? –

1

尝试的所有成员使用下面的代码:

$skip_pages = explode(",","contact, bio"); 
$current_page = "contact"; 

if(in_array($current_page,$skip_pages)){ 
    //redirect page to .... 
} 

//continue with page