0

フォーム要素をファイルに保存すると、以下が期待どおりに機能します。

$t_str .= "viewMandatory=".$_GET['viewMandatory'] ."\n";

しかし、私が必要としているのは、$_GET が設定されている場合のみ、"t_str" 文字列に追加する必要があるということです。

フォームから viewMandatory の値を受信しない場合、何も出力されません。このチェックを上記のステートメントに追加するにはどうすればよいですか?

4

3 に答える 3

5
if (!empty($_GET['viewMandatory'])){
$t_str .= "viewMandatory=".$_GET['viewMandatory'] ."\n";
}

292 の質問の後、empty() 関数に遭遇するはずです。

于 2012-04-09T07:11:42.103 に答える
1
Use php isset    


if (isset($_GET['viewMandatory'])){
$t_str .= "viewMandatory=".$_GET['viewMandatory'] ."\n";
}
于 2012-04-09T07:57:02.787 に答える
1
$t_str .= (!empty($_GET['viewMandatory'])?$_GET['viewMandatory']:null;

このようにすると、コードが少なくなり、読みやすくなります (少なくとも私にとっては、短い形式が大好きです) が、ページを要求するたびにコードが実行されます。ドラゴンのソリューションには当てはまりません。

しかし、コード インジェクションについて考えてみてください。$_GET['viewMandatory'] を正しい方法でフィルタリングしてから、文字列に追加してください。そうしないと、悪いコードが非常に簡単に挿入される可能性があります。たとえば、次のようになります。

www.yourpage.com/page.php?viewMandatory=';BAD_CODE_HERE (or " instead of ')
于 2012-04-09T07:30:00.580 に答える