我在使用$ _REQUEST设置变量时遇到问题,或者是我的语法。检查$_REQUEST['orderBy']
时,如果它为空/空,我想设置默认值'order_date'
。但是,当它检索并清空$_REQUEST['orderBy']
时,它只是保持为空而不是设置它。我在代码中做了一个难看的修复,以便稍后解决问题,但我只是想知道我做错了什么:
$orderBy = isset($_REQUEST['orderBy']) ? stripslashes($_REQUEST['orderBy']) : 'order_date';
答案 0 :(得分:4)
在语法上没有任何错误,但如果$orderBy
设置为空,它会将$_REQUEST['orderBy']
设置为空值。尝试使用empty():
$orderBy = (empty($_REQUEST['orderBy'])) ? 'order_date' : $_REQUEST['orderBy'];
如果它仍然不起作用,您可能会错误地在此行之前设置$_REQUEST['orderBy']
。您应该尝试使用更具体的超级全局变量,例如$_POST
和$_GET
,因为它们可以使您的代码更清晰,更易读,并且因为它们可以提高应用程序的安全性。