0

私はまったくの初心者でPHP、最初のスクリプトで助けが必要です。

私はこのような配列を持っています:

$ids = array("test1", "testa", "test2", "testv");

これは私の完全なコードです:

<?php
$ids = array("test1", "testa", "test2", "testv");
$id = $_GET['id'];
if($id  == null){$done .= "Wrong ID";}
else if ($id  == $ids[0])
{
$laenge = 8;
for($i=0;$i<$laenge;$i++){$rnd = rand(1,62);
if ($rnd <= 10){$rnd += 47;}else if($rnd <= 36){$rnd += 54;}
else{$rnd += 60; }
$done .= chr($rnd);
}
}?>

ここで、配列の GET 変数 ( ) を使用して入力をチェックしますscript.php?id=

script.php?id=test1<<< ( $id == $ids[0]) のおかげでうまく機能しますが、配列 ($ids) の (すべての) 変数のみが受け入れられるようにするにはどうすればよいですか?

例:

script.php?id=test1 = ok
script.php?id=testa = ok
script.php?id=test2 = ok
script.php?id=testv = ok
script.php?id=bla   = Not ok

あなたが私の問題を理解し、助けてくれることを願っています。前もって感謝します :)

編集:ご協力ありがとうございますが、これを使用するときはそうです

<?php
$ids = array("test1", "testa", "test2", "testv");
if(in_array($_GET['id'], $ids) 
{

$laenge = 8;
for($i=0;$i<$laenge;$i++){$rnd = rand(1,62);
if ($rnd <= 10){$rnd += 47;}else if($rnd <= 36){$rnd += 54;}
else{$rnd += 60; }
$gutschein .= chr($rnd);

} else {
echo 'Wrong ID';
}

}?>

私はホワイトページになります。ごめんなさい

4

3 に答える 3

2

in_array値が特定の配列にあるかどうかを確認するために使用できます。

if(in_array($_GET['id'], $ids)) {
  // do stuff
} else {
   echo 'Wrong ID';
}
于 2012-11-16T23:27:05.003 に答える
1

おそらく探しているin_array()メソッドを見てください。

if (in_array($id, $ids)) {
   // Do your stuff when in array
}
于 2012-11-16T23:27:43.410 に答える
1

値が配列にあるかどうかを確認したい場合は、 PHP のin_arrayメソッドを使用する必要があります。

else if (in_array($id, $ids))

PS

elseifPHPでは の代わりに使用できますelse if。これはその目的のための予約語です。

于 2012-11-16T23:27:53.723 に答える