たとえば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";
}
使用するときは、 TRUEを返すこのような空のGET変数を使用すると、
Fooが設定されますが、値がないisset()ことに注意する必要があります。script.php?foo=isset($_GET['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の警告だけが生成されます。
個人的には、 a$_GETが設定されているかどうか、実際に次のように等しいかどうかを確認することを好みます。
if(isset($_GET['search']) && strlen(trim($_GET['search'])) > 0): include 'search.php';
else: include 'home.php';
$_GETこれにより、変数を入れても実際には設定しないという問題が回避されます。
<?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';