ホームページ  >  記事  >  バックエンド開発  >  初心者が関連する問題について混乱している

初心者が関連する問題について混乱している

WBOY
WBOYオリジナル
2016-06-13 13:06:39791ブラウズ

初心者は非常に困った質問をしています。教えてください
次のコードでは、何を出力してもログイン パスワードが間違っていると表示されるのはなぜですか? ? var_dump($num1) を使用して、HTML 側の num1 入力に関係なく、$num1 と $num2 が両方とも文字列型であることを確認します
$num1=$_REQUEST['num1'];
$num2 =$_REQUEST['num2'];
if(is_string($num1))
{
if(is_int($num2))
{
echo "へようこそlog in"
}
else
{
echo "ログイン パスワードが間違っています"
}
}
else
{
echo "あなたのユーザー名の形式は次のとおりです間違っています"
}
?>

-----解決策---------
HTML から送信されるデータは通常文字列です。
if(is_int($num2))
{
echo "ログインへようこそ"
}
else
{
echo "ログインパスワードが間違っています"
}
$num2は文字列型なので「ログインパスワードが間違っています」と表示されます
------解決策------------------
はい、送信されたフォームはすべて文字列です。より適切にチェックするには is_numeric() を使用する必要があります。
------解決策---------
が利用可能で、一般的な検証はフロントで行うことができます机。しかし、セキュリティのためにはバックグラウンド検証も必要です。
------解決策---------
if(!preg_match('/^d+$ / ',$num1)
echo '純粋な文字列'

;
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。