3

我需要一些帮助,例如 index.php,并且我需要使它像这样。有人访问:

index.php?search=blbla 
include search.php
else
include home.php

我需要一个建议谢谢

4

7 回答 7

2

试试这个

if (isset($_GET['search'])) include('search.php');
else include('home.php');
于 2012-09-24T13:00:30.307 回答
2
$sq = $_GET['search']; //$_GET['']
if (isset($sq) && $sq != '') {
include('search.php');
} else {
include('home.php');
}
于 2012-09-24T13:01:36.607 回答
2

好吧,您可以使用isset()来查看变量是否已设置。例如

if(isset($_GET['search'])){
    include "search.php";
}
else {
    include "home.php";
}
于 2012-09-24T13:01:41.170 回答
0
<?php

//if($_GET['search'] > ""){ // this will likely cause an error
if(isset($_GET['search']) && trim($_GET['search']) > ""){ // this is better
   include ('search.php');
}else{
   include ('home.php');
}

?>
于 2012-09-24T13:01:35.860 回答
0

像这样使用它

if (isset($_GET['search']))
  include 'search.php';
else
 include 'home.php';
于 2012-09-24T13:01:39.037 回答
0

我个人更喜欢检查是否$_GET设置了 a 以及它是否实际上等于这样的东西:

if(isset($_GET['search']) && strlen(trim($_GET['search'])) > 0): include 'search.php'; 
else: include 'home.php';

这将避免放入$_GET变量但没有实际设置它的问题。

于 2012-09-24T13:03:53.760 回答
0

使用时isset()您需要注意,使用这样的空 GET 变量script.php?foo=isset($_GET['foo'])返回TRUE
Foo 已设置但没有值。

因此,如果您想确保 GET 变量具有您可能想要strlen()结合使用的值trim()...

if (strlen(trim($_GET['search'])) > 0) {
    include('search.php');
} else {
    include('home.php');
}

此外,您可能想使用require()而不是include(). 如果 search.php 不能是“必需的”,则会生成一个 PHP 致命错误,如果 search.php 不能被“包含”,则只有一个 PHP 警告。

于 2012-09-24T13:58:08.573 回答