我需要一些帮助,我有例如index.php和我需要做的事情。 有人访问:
index.php?search=blbla
include search.php
else
include home.php
我需要一个建议,谢谢
答案 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致命错误。