如果$u GET[';id';]无效或为空,则重定向到home.php

如果$u GET[';id';]无效或为空,则重定向到home.php,php,Php,如果$\u GET['id']为空或找不到具有该id的用户,我想重定向用户,有人能提供一个简单的示例吗?这是一个简单的示例。对于重定向,可以使用php的“header()”函数。希望这有帮助 if($_GET['id']==''){ header('Location:somepage.php'); } 这是一个简单的例子。对于重定向,可以使用php的“header()”函数。希望这有帮助 if($_GET['id']==''){ header('Location:so

如果$\u GET['id']为空或找不到具有该id的用户,我想重定向用户,有人能提供一个简单的示例吗?

这是一个简单的示例。对于重定向,可以使用php的“header()”函数。希望这有帮助

if($_GET['id']==''){
    header('Location:somepage.php');
    } 

这是一个简单的例子。对于重定向,可以使用php的“header()”函数。希望这有帮助

if($_GET['id']==''){
    header('Location:somepage.php');
    } 

如果是空的,您可以使用DevMan提供的答案

如果数据库中没有id,则可以设置查询,创建变量$find=0,并使用while循环遍历该表,检查$\u GET['id']==$id(这是来自数据库的id)

如果它们匹配,则$find+,否则将保持0

if($find == 0){
   header('Location:somepage.php');
}

如果您想同时使用这两个id,请首先检查它是否为空(如DevMan发布的),然后检查数据库中是否有我发布的id。

如果它为空,则可以使用DevMan提供的答案

如果数据库中没有id,则可以设置查询,创建变量$find=0,并使用while循环遍历该表,检查$\u GET['id']==$id(这是来自数据库的id)

如果它们匹配,则$find+,否则将保持0

if($find == 0){
   header('Location:somepage.php');
}

如果您想同时使用这两个id,请首先检查它是否为空(如DevMan发布的),然后检查数据库中是否有我发布的id。

您可以使用PHP的
empty()
检查它是否为空

if(empty($_GET['id']) {
    header("Location: page.php");
    exit;
} else
    // not empty
}
从字面意思来看,
empty()
表示变量为空。它是一个BOOL函数,这意味着它将在为空时返回
true
,在不为空时返回
false


另外,请记住在
标题
之后使用
退出
,因为除非声明
退出
,否则PHP脚本不会停止执行。

您可以使用PHP的
empty()
检查脚本是否为空

if(empty($_GET['id']) {
    header("Location: page.php");
    exit;
} else
    // not empty
}
从字面意思来看,
empty()
表示变量为空。它是一个BOOL函数,这意味着它将在为空时返回
true
,在不为空时返回
false


另外,请记住在
标题
之后使用
退出
,因为除非声明
退出
,否则PHP脚本不会停止执行。

我建议您使用函数
清空
(),因为它检查其他情况,而不仅仅是空字符串。如果是一个简单的检查,你不需要使用大括号,把它放在你的文件开始,它应该工作

if(empty($_GET['id'])) {
    header('Location:index.php');
    exit;
}

我建议您使用函数
empty
(),因为它检查其他情况,而不仅仅是空字符串。如果是一个简单的检查,你不需要使用大括号,把它放在你的文件开始,它应该工作

if(empty($_GET['id'])) {
    header('Location:index.php');
    exit;
}

您要求满足这两个条件,但我认为您可以将所有检查封装在一个函数中

/**
 * Checks if a user id is valid and user exists
 * @param integer $id
 * @return boolean
 */               
public function validate_user($id){
    // always validate whatever input you get from users
    $valid_id = filter_var($id, FILTER_VALIDATE_INT);
    if ($valid_id){
        // check if the user_id is a valid user against your APP logic
        return USER::getUser($valid_id);
    }
    return false;
}


if(!validate_user($_GET['id'])){
    header('Location:home.php');
} 

您要求满足这两个条件,但我认为您可以将所有检查封装在一个函数中

/**
 * Checks if a user id is valid and user exists
 * @param integer $id
 * @return boolean
 */               
public function validate_user($id){
    // always validate whatever input you get from users
    $valid_id = filter_var($id, FILTER_VALIDATE_INT);
    if ($valid_id){
        // check if the user_id is a valid user against your APP logic
        return USER::getUser($valid_id);
    }
    return false;
}


if(!validate_user($_GET['id'])){
    header('Location:home.php');
} 

您是否尝试过任何方法来实现这一点?
if(empty($\u GET['id'))|$$countUserWithThisID>0){header(“Location:/index.php”);exit;}
--必须在任何输出之前执行此代码,因为这是
header()
函数的要求。您尝试过任何方法来实现这一点吗?
if(empty($\u GET['id'))| |$countUserWithThisID>0){header(“Location:/index.php”);exit;}
--必须在任何输出之前执行此代码,因为这是
header()
函数的要求。使用
empty()
更好,因为您可以使用现有的代码获得未定义的索引。另外,使用
exit
标题之后(“位置…”)
是个好主意。是的,你是对的,空函数在大多数情况下更好,但我想展示一个非常简单的方法,因为从这个问题中你可以看出提问者是初学者,所以我尝试给他一个简单易懂的答案。但感谢您的评论:)使用
empty()
更好,因为您可以使用现有的代码获得未定义的索引。另外,使用
exit
标题之后(“位置…”)
是个好主意。是的,你是对的,空函数在大多数情况下更好,但我想展示一个非常简单的方法,因为从这个问题中你可以看出提问者是初学者,所以我尝试给他一个简单易懂的答案。但谢谢你的评论:)