从下拉菜单中获取方法获取的不同值

时间:2013-03-07 11:21:03

标签: php forms

如何使用$ _GET

获得不同的值

问题是我想要包含不同选项的不同脚本

代码:

 <Select NAME="offer">
 <Option VALUE="status">Status</option>
 <Option VALUE="company">Advertisers</option>
 <Option VALUE="category">Categories</option>
 <Option VALUE="country">Countries</option>
 <Option VALUE="default_payout">Payouts</option>
 </Select>

<?php if(isset($_GET['offer'])== status){ 
               include_once 'include/offer.php'; 
               include_once 'include/offer_tabel.php'; 
      }

      if(isset($_GET['offer']) == 'company'){
                include_once 'include/advertiser.php';
                include_once 'include/advertiser_tabel.php';

}
?>

我在这里做错了吗?

5 个答案:

答案 0 :(得分:3)

将此if(isset($_GET['offer'])== status更改为

if(isset($_GET['offer']) &&  $_GET['offer'] == 'status')

答案 1 :(得分:1)

如果情况你使用错了。使用此:

if(isset($_GET['offer']) && $_GET['offer'] == 'status')

公司相同

if(isset($_GET['offer']) && $_GET['offer'] == 'company')

答案 2 :(得分:1)

你错了:

if(isset($_GET['offer'])== status){ 

isset()函数返回bool值:http://php.net/manual/en/function.isset.php

编写脚本的好方法是:

<?php
    if(isset($_GET['offer'])){
        switch(strtolower(trim($_GET['offer']))){
            case 'status':
                // include your files for status offer
            break;

            case 'company':
                // include your files for company offer
            break;

            default:
                //Some default action
            break;
        }
    }
    else {
        //No offer selected
    }
?>

答案 3 :(得分:0)

问题是,您无法使用isset()与其他字符串进行比较。因为此函数仅返回布尔值。将此更改为,

<?php if(isset($_GET['offer']) && ($_GET['offer'] == 'status')){ 
               include_once 'include/offer.php'; 
               include_once 'include/offer_tabel.php'; 
      }

      if(isset($_GET['offer']) && ($_GET['offer'] == 'company')){
                include_once 'include/advertiser.php';
                include_once 'include/advertiser_tabel.php';

       }
?>

答案 4 :(得分:0)

除了其他答案外,请确保您的表单方法为get而非post;否则,您需要测试$_POST['offer']的值。