я получаю mongodb id строки запроса. как проверить валидацию этого идентификатора? я хочу, если mongodb id не действителен, перенаправить на другой URL
получить строку запроса:
if(count($_GET)>0 && $_GET['uid']){
//get id from string query
$query = array("_id" => new MongoId($_GET
['uid']));
$user = DB::findone('users',$query);
}else{
//redirect if not exist query string
header('location:'.ADMIN_URL.'/items/forbidden.php');
}
помогите плз …
Спасибо
В новой библиотеке PHP Mongo https://github.com/mongodb/mongo-php-library лучший способ проверить правильность строки 🙁 благодаря коду Yii2 https://github.com/yiisoft/yii2-mongodb/blob/master/validators/MongoIdValidator.php)
function isValid($value)
{
if ($value instanceof \MongoDB\BSON\ObjectID) {
return true;
}
try {
new \MongoDB\BSON\ObjectID($value);
return true;
} catch (\Exception $e) {
return false;
}
}
Начиная с версии 1.5, вы можете проверить это
if(isset($_GET['uid']) && MongoId::isValid ($_GET['uid'])) {
// Your code here
}