if(isset($ _ GET []的问题)

时间:2014-03-16 16:54:40

标签: php .htaccess

我遇到以下脚本的问题 我建立了自己的网站,以便链接看起来像这个website.com/contact
现在我想要一个子网页,如website.com/contact/inschrijven或website.com/contact/bouw_aanmelding
但如果我有多个GETS出错了。 1 GET一切顺利。我做错了什么?

代码:

的.htaccess:

RewriteEngine on
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php

RewriteRule ^contact/([^/]*) contact.php?tab=$1

PHP代码(我已经尝试过了):

<?php    
   if(isset($_GET['tab']) == 'bouw_aanmelding') {
      $pagetitle = "Contacteer ons: Bouwer worden!";
   }elseif(isset($_GET['tab']) == 'inschrijven') {
      $pagetitle = "Contacteer ons: Inwoner worden!";
   }elseif(isset($_GET['tab']) == '') {
      $pagetitle = "Contacteer ons";
   }
?>

PHP代码(等等):

<?php    
   if(isset($_GET['tab']) == 'bouw_aanmelding') {
       $pagetitle = "Contacteer ons: Bouwer worden!";
   }
   if(isset($_GET['tab']) == 'inschrijven') {
      $pagetitle = "Contacteer ons: Inwoner worden!";
   }
   if(isset($_GET['tab']) == '') {
      $pagetitle = "Contacteer ons";
   }
?>

这两种方法都没有帮助。希望有人可以帮助我。谢谢。

Ps,对不起,我的英语不好,我是荷兰人。

2 个答案:

答案 0 :(得分:6)

isset返回boolean。你应该使用:

 if (isset($_GET['tab']) && $_GET['tab'] == 'inschrijven') {

 }

更好的是:

$pagetitle = 'default title';

if (isset($_GET['tab'])) {
  switch ($_GET['tab']) {
    case 'bouw_aanmelding':
       $pagetitle = "Contacteer ons: Bouwner worden!";
       break;
    case 'inschrijven':
       $pagetitle = "Contacteer ons: Inwoner worden!";
       break;
  }
}

答案 1 :(得分:0)

尝试以下代码..

   if(isset($_GET['tab'])){
      if($_GET['tab'] == 'bouw_aanmelding') {
           $pagetitle = "Contacteer ons: Bouwer worden!";
       }
       if($_GET['tab'] == 'inschrijven') {
          $pagetitle = "Contacteer ons: Inwoner worden!";
       }
       if($_GET['tab'] == '') {
          $pagetitle = "Contacteer ons";
       }
    }else{
        $pagetitle = 'common page title';
    }

在你的条件中,isset返回true或false并与你的值进行比较,以便它不匹配..你必须单独写这个