如何检查是否设置了$ _GET ['id']并且使用php它不是空的

Dhr*_*Jha 11 php

这是一个PHP代码

if(isset($_GET['id'])) {
    //do something
} else {
    redirect('index.php'); //redirect is a function
}
Run Code Online (Sandbox Code Playgroud)

现在,如果设置了id(例如:index.php?id = 12),则执行动作,但如果未设置id(例如:index.php?id =),则显示错误,如何克服此问题? ?

如何确定id是一个整数,它不是空的,然后执行特定的操作....

编辑

谢谢大家的答案,但我仍然得到了这个错误......

if(isset($_GET['id'])) { // I implemented all these codes but still....
    $user= User::find_by_id($_GET['id']);
   // Database Classes Fetches user info from database
}
else {
    redirect('index.php'); //redirect function
}
Run Code Online (Sandbox Code Playgroud)

如果id为1或大于1,则脚本执行完美.(index.php?id = 1)

但id我设置id为注意我得到一个错误i..e index.php?id =

代码应该自动将用户重定向到index.php页面,而不是显示错误.....

错误:数据库查询失败:您的SQL语法中有错误; 检查与MySQL服务器版本对应的手册,以便在第1行的"LIMIT 1"附近使用正确的语法

pok*_*oke 28

您应该检查设置状态和内容:

if ( isset( $_GET['id'] ) && !empty( $_GET['id'] ) )
    // ....
Run Code Online (Sandbox Code Playgroud)

请注意,您应该不会,因为它是用价值简单,使用它.您应该确保它只包含您期望的值.要检查整数,甚至更好地使用其中的整数,请执行以下操作:

$id = ( isset( $_GET['id'] ) && is_numeric( $_GET['id'] ) ) ? intval( $_GET['id'] ) : 0;

if ( $id != 0 )
    // id is an int != 0
else
    redirect('index.php');
Run Code Online (Sandbox Code Playgroud)