我需要一些帮助,例如 index.php,并且我需要使它像这样。有人访问:
index.php?search=blbla
include search.php
else
include home.php
我需要一个建议谢谢
试试这个
if (isset($_GET['search'])) include('search.php');
else include('home.php');
$sq = $_GET['search']; //$_GET['']
if (isset($sq) && $sq != '') {
include('search.php');
} else {
include('home.php');
}
好吧,您可以使用isset()
来查看变量是否已设置。例如
if(isset($_GET['search'])){
include "search.php";
}
else {
include "home.php";
}
<?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');
}
?>
像这样使用它
if (isset($_GET['search']))
include 'search.php';
else
include 'home.php';
我个人更喜欢检查是否$_GET
设置了 a 以及它是否实际上等于这样的东西:
if(isset($_GET['search']) && strlen(trim($_GET['search'])) > 0): include 'search.php';
else: include 'home.php';
这将避免放入$_GET
变量但没有实际设置它的问题。
使用时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 警告。