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

使用するときは、 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の警告だけが生成されます。

于 2012-09-24T13:58:08.573 に答える
0

個人的には、 a$_GETが設定されているかどうか、実際に次のように等しいかどうかを確認することを好みます。

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

$_GETこれにより、変数を入れても実際には設定しないという問題が回避されます。

于 2012-09-24T13:03:53.760 に答える
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 に答える