这是我的第一篇文章。我希望我做得对。我写了这段小代码,它检查了一些请求参数。有谁知道如何以更短,更好的表现方式写这个?
$request = $_REQUEST;
if ( isset($request['customerId']) &&
! $request['customerId'] == '' &&
isset($request['subscriptionId']) &&
! $request['subscriptionId'] == '' &&
isset($request['customer_ext_uid']) &&
! $request['customer_ext_uid'] == '' &&
isset($request['referrer']) &&
! $request['referrer'] == '' &&
$request['referrer'] == 'fastbill' ||
$request['referrer'] == 'paypal' &&
$request['do'] == 'success' &&
$request['do'] == 'success' ) :
echo "good";
else :
echo "bad";
endif;
最后,成功网址应如下所示:
提前致谢!
答案 0 :(得分:2)
在客户端,只需在hiddenField中创建一个新变量,然后发送此参数进行检查。
答案 1 :(得分:2)
这样做的一种方法可能是这样,它还可以使将来更容易添加更多检查和/或重复使用它。
$required = array('customerID','subscriptionId'); //Fill in the fields you want checked
$request = $_REQUEST;
function allOk($required,$request){
foreach($required as $key){
if(empty($request[$key])){
return FALSE;
die();
}
}
if($request['do'] != 'success' || ($request['referrer'] != 'fastbill' && $request['referrer'] != 'paypal')){
return FALSE;
die();
}
return TRUE;
}
然后你可以使用if句子或三元运算符,具体取决于你想要的结果。
if(allOk($required,$request)){
echo "good!";
}else{
echo "BAD!";
}
三元运营商:
echo (allOk($required,$request)) ? 'good' : 'bad' ;