if(!isset($_GET['set']) && (($_GET['set'] != 'on') || ($_GET['set'] != 'off'))){
header('Location: http://google.com');
exit;
}
確認したいのは、セットが設定されておらず、値がオンまたはオフでないかどうかです。これは正しいですか、それとも他の方法はありますか?
if(!isset($_GET['set']) && (($_GET['set'] != 'on') || ($_GET['set'] != 'off'))){
header('Location: http://google.com');
exit;
}
確認したいのは、セットが設定されておらず、値がオンまたはオフでないかどうかです。これは正しいですか、それとも他の方法はありますか?
いいえ、必要なのはこれだけです:
if(!isset($_GET['set'])){
header('Location: http://google.com');
exit;
}
と を交換&&
しました||
:
if (!isset($_GET['set']) || (($_GET['set'] != 'on') && ($_GET['set'] != 'off'))){
header('Location: http://google.com');
exit;
}
これらのエラーは簡単には見つかりません。問題を分割するのに役立ちます。
$isSet = isset($_GET['set']);
$isOn = $isSet && $_GET['set'] === 'on';
$isOff = $isSet && $_GET['set'] === 'off';
$isOnOff = $isOn || $isOff;
if (!$isOnOff) {
...
}
を超えてチェックする必要はありません!isset()
。が設定されていない場合$_GET['set']
、値はありません。
if(!isset($_GET['set'])) {
header('Location: http://google.com');
exit;
}
これを試して
if(!isset($_GET['set']))?header('Location: http://google.com'): exit;
またはのいずれかでなければならないことNotice: Undefined variable:
を確認したいので、 回避する変数を定義する方がよいと思います。$_GET['set']
on
off
$_GET['set'] = isset($_GET['set']) ? $_GET['set'] : null ;
if(!($_GET['set'] == "on" || $_GET['set'] == "off")){
header('Location: http://google.com');
exit;
}