0 レビュー
2 回答
php-変数を配列の値に一致させることはできません
フォーム入力を配列の値に一致させるのに問題があります。
これが私のコードです:
if(isset($_POST['city'])){
$city = mysql_real_escape_string($_POST['city']);
$cities = array('Alamance','Archdale','Arlington');
$count = count($cities);
for($x=1; $x<=$count; $x++){
if($city === $cities[$x]){ # match }
else{ # no match, set error }
}
} else{ # city is not set, set error }
if(isset($_POST['county'])){
# county is set. make sure that it is actually a triad county
$county = mysql_real_escape_string($_POST['county']);
$counties = array('Alamance','Davidson','Davie');
foreach($counties AS $x){
if($county != $x){ # no match, set error }
else{ # match }
}
} else { # county is not set, set error }
入力した市または郡をそれぞれの配列の1つに一致させるか、一致しない場合はエラーを設定するだけです。私はこれを何度もやったことがあるので、なぜここで機能しないのか理解できませんが、多分私はそれをすべて見すぎていて、余分な目を必要としていると思います。
誰かがこのコードをチェックして、私がどこで間違っているのかを確認できますか?
わからない
0
レビュー
答え :
解決策:
この行は間違っています:
for($x=1; $x<=$count; $x++){
次のようにする必要があります:
for($x=0; $x<$count; $x++){
また、これを変更することをお勧めします:
if($county != $x)
これに:
if($county !== $x)
わからない
0
レビュー
答え :
解決策:
in_array
関数を確認することをお勧めします。例:
if(isset($ _ POST ['city']))
{{
$ city = $ _POST ['city'];
$ citys = array('Alamance'、'Archdale'、'Arlington');
if(in_array($ city、$ citys))
{{
# マッチ
}
そうしないと
{{
#一致なし、エラーの設定
}
}
そうしないと
{{
#都市が設定されていません、エラーを設定してください
}
わからない
同様の質問
私たちのウェブサイトで同様の質問で答えを見つけてください。