ホームページ >バックエンド開発 >PHPチュートリアル >空の提出物を提出しても何も表示されないのはなぜですか?

空の提出物を提出しても何も表示されないのはなぜですか?

WBOY
WBOYオリジナル
2016-07-06 13:53:261073ブラウズ

初めてこのページを開いたとき、投稿データがありませんでしたので、エラープロンプトを回避するために、外側に判定 if(trim(@$_POST['num'])) を追加しました。空の送信では、内部で別の判断を行いました (isset($_POST['yzm'])&&trim($_POST['num'])) 投稿データがない場合は、入力がないことを確認するメッセージが表示されます。確認コードを入力しても、送信後、上のテキスト ボックスには何も表示されません。これはなぜですか?入力がないことを示すプロンプトが表示されるはずですよね?

リーリー

返信内容:

初めてこのページを開いたとき、投稿データがありませんでしたので、エラープロンプトを回避するために、外側に判定 if(trim(@$_POST['num'])) を追加しました。空の送信では、内部で別の判断を行いました (isset($_POST['yzm'])&&trim($_POST['num'])) 投稿データがない場合は、入力がないことを確認するメッセージが表示されます。確認コードを入力しても、送信後、上のテキスト ボックスには何も表示されません。これはなぜですか?入力がないことを示すプロンプトが表示されるはずですよね?

リーリー

if(trim($_POST['num'])) 你什么都没提交就是 $_POST['num']为空了,if(false)だから全然入らなかったんです。とてもシンプルな質問です。

コードは自明ではありませんが、未定義の添字を防ぐには isset($_POST['yzm']) を使用できますが、$_POST['num] の場合は、trim($_POST['num']) を使用します。 』 定義がないのも間違いではないでしょうか?すべてを検証するか、まったく検証しないかのどちらかです。この状況は、コードを書くときの姿勢が間違っていることを示しています。

プログラムを書くのは愚かな用事であり、開発者にとっては休憩時間です。なぜ?書く前にまず考えなければならないので、一言書いて考えるのではなく、考えることは作業であり、プログラムを書くことは考えた結果を記録するだけです。
コードを書く前に未定義の問題を考慮していれば、間違いなく次のようになります:

リーリー

しかし、あなたのコードはそうではありません $_POST['yzm'] と入力したときに、私が未定義の検証を実行したかったことを突然思い出しましたか?このような突然のインスピレーションは、実際にはあなたの思考を完全に混乱させるので、お勧めしません。

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