-1

isset() 関数を使用して、ID が存在するかどうか、またはユーザーが ID を送信したかどうかを確認してから、ID を変数に割り当てるか、次のコードのどこかで使用するとします。

     <?php

        if(isset($_GET['Id']))
    {

     $Id=$_GET['Id'];
    }
?>

わかった、こうすればよかった

1)したがって、コードは期待される動作、つまり期待どおりに実行されます。たとえば、id がその id に基づいて行を返すクエリで使用される場合、有効な id を指定して、クエリが結果として実際に行を返すことを確認することをお勧めします...これは有効な ID が指定されていない場合にクエリが失敗するという予期しない動作を回避します。

2)そして明らかなように、コードが生成する可能性のある実行時エラーを最小限に抑えます。

したがって、これが常に優れたプログラミング手法である理由について、より関連性の高い例とコンテキストを探しています。

基本的に、そうするのが本当に良い理由を理解するのに役立つより多くの例...どうもありがとう。

4

1 に答える 1

1

将来について考えてみてください。

後で変数を単純に記述$id = $_GET['id']して使用すると、アプリケーションが予期しない動作をする可能性があります。

来週戻ってきて、その便利$idな変数を使用するコードを書いたとしましょう。ファイルをちらりと見ると、他の場所で使用されていることがわかり、設定されていないことを計画していません。このコードは、すばやくテストすると機能しますが、実際に使用すると失敗します。エラーが発生したり、管理ページが吐き出されたり、爆発して子犬を殺したりするかもしれません

もう少し注意して、次のようなことをしたとします。

$id = 0; //default document
if (isset($_GET['id'])
{
  $id = $_GET['id'];
}

あなたのコードには常に が必要$idです。そこに小さな追加があることに注意してください。$_GET['id']別の変数に値を割り当てる前に、それが存在することを確認しただけではなく、 $id/always/ に値があることを確認しました。

私がもう少し賢かったら、代わりに次のようなことをするでしょう。if (isset($_GET['id'] && ctype_digit($_GET['id']) && isValidId($_GET['id']))

于 2013-01-24T23:30:48.660 に答える