在添加到购物车的功能中可以放置折扣,折扣是通过xxx哈希进行的。我发现问题是当用户想要作弊并键入随机xxx-123456我的系统崩溃时。
哈希来自伊万·阿基莫夫。
是否可以实现,当hashID(userID(不存在时,函数返回代码无效但没有崩溃?
public function getIdByHash($hashid) {
$response = ['valid' => false];
if ($hashid){
$response['valid'] = true;
$hashid = explode("PMX-",$hashid)[1];
$hashids = new Hashids("",6);
return $hashids->decode($hashid)[0];
}
if ($hashid){
$response ['valid'] = false;
return $hashids = "PMX-"."dGRLrb";
}
}
您可以尝试:
public function getIdByHash($hashid) {
$response = ['valid' => false];
if ($hashid){
$response['valid'] = true;
try {
$hashid = explode("PMX-",$hashid)[1];
$hashids = new Hashids("",6);
return $hashids->decode($hashid)[0];
} catch(Exception $e) {
$response ['valid'] = false;
}
}
return $hashids = "PMX-"."dGRLrb";
}