私はこのURLを持っています:
localhost/moked/insert_event.php?custnumber=1234&event=E15&port=8088&areanumber=17
ユーザーがこれを次のように変更したかどうかを確認したい:
localhost/moked/insert_event.php?custnumber=1234
変数が空かどうかを確認する方法は知っていますが、ユーザーがパラメーターを取り出したかどうかを知りたいです。どうやってやるの?
単一の変数に対してこれを行うのは非常に簡単です。
if (!isset($_GET['event'])) {
// event is missing
}
ほとんどの人が知らないのは、isset
コマンドは指定した数のパラメーターを必要とするということです。必要なすべてのパラメーターを一度に確認できます。
if (isset($_GET['custnumber'], $_GET['event'], $_GET['port'], $_GET['areanumber'])) {
// all parameters are set
} else {
// some are missing
}
何かのようなもの:
if( (!isset($_GET['event'])) || (!isset($_GET['port'])) || ... ) {
//do stuff
}
必要な変数が存在するかどうかを確認します。
if (!isset($_GET['port'])) {
// do something
}
isset($_GET['event'])
、、試しisset($_GET['port'])
てみてくださいisset($_GET['areanumber'])
isset()を参照
変数のリストを確認するには:
$vars=array(
'var1'=>'Var1 Description',
'var2'=>'Var2 Description',
'var3'=>'Var3 Description');
$delim='';
$message='';
foreach($vars as $name=>$description)
{
if(!isset($_GET[$name]))
{
$message.=$delim.$description;
$delim=', ';
}
}
if($message!=='')$message='Missing: '.$message;
try{
if(!isset($_GET['custnumber'])){
throw new Exception('Missing "custnumber" parameter');
}elseif(!isset($_GET['event'])){
throw new Exception('Missing "event" parameter');
}elseif(!isset($_GET['port'])){
throw new Exception('Missing "port" parameter');
}elseif(!isset($_GET['areanumber'])){
throw new Exception('Missing "areanumber" parameter');
}
}catch(Exception $e){
echo $e->getMessage();
}