我將表單元素保存到文件中,並且以下按預期工作。檢查表單元素是否存在
$t_str .= "viewMandatory=".$_GET['viewMandatory'] ."\n";
但我需要的是,如果$ _GET設置,那麼它應該被附加到「t_str」字符串。
如果未從窗體收到viewMandatory值,則不應該打印任何內容。如何將此檢查添加到上述語句中?
我將表單元素保存到文件中,並且以下按預期工作。檢查表單元素是否存在
$t_str .= "viewMandatory=".$_GET['viewMandatory'] ."\n";
但我需要的是,如果$ _GET設置,那麼它應該被附加到「t_str」字符串。
如果未從窗體收到viewMandatory值,則不應該打印任何內容。如何將此檢查添加到上述語句中?
if (!empty($_GET['viewMandatory'])){
$t_str .= "viewMandatory=".$_GET['viewMandatory'] ."\n";
}
在292個問題後,您應該遇到empty()函數。
我想你缺少一個附加的'()'條件 – Joseph 2012-04-09 07:12:37
謝謝@Joseph,傻我 – 2012-04-09 07:14:02
$t_str .= (!empty($_GET['viewMandatory'])?$_GET['viewMandatory']:null;
這種方式,你有更少的代碼,是什麼使得它更易於閱讀(至少對我來說,我喜歡短的形式),但代碼將每次您請求的頁面執行。 Dragon的解決方案並非如此。
但是想想代碼注入。過濾$ _GET ['viewMandatory']之前,將其添加到您的字符串!否則,惡意代碼可以被注入很簡單,例如:
www.yourpage.com/page.php?viewMandatory=';BAD_CODE_HERE (or " instead of ')
Use php isset
if (isset($_GET['viewMandatory'])){
$t_str .= "viewMandatory=".$_GET['viewMandatory'] ."\n";
}
有[大量](http://stackoverflow.com/questions/3496971/check-if-post-exists)相似的](http://stackoverflow.com/questions/3432282/check-if-any-variables-are-passed-in-a-get)的問題,和[谷歌搜索非常成果](http:// www。 google.co.uk/webhp?#hl=en&output=search&sclient=psy-.ab&q=check+if+get+variable+exists&fp=1)。 – Alex 2012-04-09 07:16:56