ホームページ >バックエンド開発 >PHPチュートリアル >初心者が関連する問題について混乱している
初心者は非常に困った質問をしています。教えてください
次のコードでは、何を出力してもログイン パスワードが間違っていると表示されるのはなぜですか? ? 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 '純粋な文字列'