PHP搜索网址请求

时间:2012-09-24 12:58:33

标签: php url request

我需要一些帮助,我有例如index.php和我需要做的事情。 有人访问:

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

我需要一个建议,谢谢

7 个答案:

答案 0 :(得分:2)

试试这个

if (isset($_GET['search'])) include('search.php');
else include('home.php');

答案 1 :(得分:2)

$sq = $_GET['search']; //$_GET['']
if (isset($sq) && $sq != '') {
include('search.php');
} else {
include('home.php');
}

答案 2 :(得分:2)

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

if(isset($_GET['search'])){
    include "search.php";
}
else {
    include "home.php";
}

答案 3 :(得分: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');
}

?>

答案 4 :(得分:0)

像这样使用

if (isset($_GET['search']))
  include 'search.php';
else
 include 'home.php';

答案 5 :(得分:0)

我个人更愿意检查是否设置了$_GET,以及它是否实际等于:

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

这样可以避免输入$_GET变量但实际上没有设置它的问题。

答案 6 :(得分:0)

使用isset()时,您需要注意使用script.php?foo=这样的空GET变量,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警告,则无法“必需”执行PHP致命错误。