Php 接收空GET变量时出错

Php 接收空GET变量时出错,php,Php,我正在构建一个应用程序,为整个团队展示各种类型的记录。首先是菜单(一些带有$的菜单会获得有关它们的信息) 打开此页面的html菜单如下所示: <li><a href="web.php">WEB department</a> <ul> <li><a href="web.php?tstname=Mike">Mike</a></li> <li><a

我正在构建一个应用程序,为整个团队展示各种类型的记录。首先是菜单(一些带有$的菜单会获得有关它们的信息)

打开此页面的html菜单如下所示:

<li><a href="web.php">WEB department</a>
        <ul>
    <li><a href="web.php?tstname=Mike">Mike</a></li>
        <li><a href="web.php?tstname=Deidre">Deidre</a></li>
</ul>
</li>
然后,这将为整个web团队提取所有记录。以这种方式,我想“嗯,如果我能单独显示每个团队成员的记录,那就更有用了。”

显然,我不会为公司的所有成员制作一个单独的页面,所以我想重新设计这个页面,这样,如果一个GET变量等于一个人的名字,就会显示某些数据

这是密码

$tstname= $_GET['tstname'];


    if($tstname == "Mike"){
        $pullWebTeamData = "SELECT * FROM tlm_accounts WHERE type_of_account = 'WEB' ;";
        $pullWebTeamDataDoIt = mysqli_query($c2d, $pullWebTeamData) or die ("could not pull WEB team data" . mysqli_error($c2d));
    } elseif ($tstname == "Deidre"){
        $pullWebTeamData = "SELECT * FROM tlm_accounts WHERE type_of_account = 'WEB' ;";
        $pullWebTeamDataDoIt = mysqli_query($c2d, $pullWebTeamData) or die ("could not pull WEB team data" . mysqli_error($c2d));
    } else {
        $pullWebTeamData = "SELECT * FROM tlm_accounts WHERE type_of_account = 'WEB' ;";
        $pullWebTeamDataDoIt = mysqli_query($c2d, $pullWebTeamData) or die ("could not pull WEB team data" . mysqli_error($c2d));

    }
现在,虽然它提取了我想要的数据(名为get link或normal web link),但问题是,在页面加载时,如果用户单击没有附加$\u get信息的常规网页链接,则会抛出错误,因为此时“$\u get”在:

如果“$\u GET”不存在,我该如何使它存在?忽略它? 感觉我应该知道这件事…哈哈

我试过这样的方法

if(!empty($testname)){ do stuff }
或者
if($testname)//因为如果不为空,则等于true…

等,但没有用。希望我是清楚的。任何提示/帮助等,我谦虚地感谢

高级版谢谢。

使用
isset

if(isset($_GET['tstname'])) {
  // do your stuff
}

使用三元运算符设置变量

$tstname= !empty($_GET['tstname'])? $_GET['tstname']: ' ';


$tstname=isset($\u-GET['tstname'])?$\u-GET['tstname']:'';

为什么投票失败?我是新来的……新来的与此无关。问题/答案是被否决的,不是人。(顺便说一句,我不是被否决的选民之一)…它们不再被维护。请参阅?了解,然后使用或-将帮助您决定使用哪一个。如果您选择PDO,。如果您选中,我说我尝试了If并检查是否为空,如果您查看下面的内容(在编辑之前),比我优秀的人也犯了同样的错误。即使在那时,投票的答案也不完全完整。当与我的代码(如上所示)放在一起时,它仍然显示错误,因为“if(isset)”仍然无法修复它后面的代码,这依赖于get变量。必须添加“else{$nameforperswiteboard=”“;}来消除错误。不管怎样……谢谢所有帮助过我的人。@Adrian为什么?这取决于你到底想检查什么<代码>!空的是完全有效的。@AdrianCrepaz您能完整地解释一下为什么应该这样做吗!空的不适合这里吗?@Adrian错了!实际阅读您链接到的页面:“如果变量不存在,则不会生成警告。”另外:@AdrianCrepaz“来自英国的全职Web开发人员”。这通常取决于您如何创建条件。我创建的条件是否会生成索引错误?我最初尝试过这一点,但仍然出现错误,这就是我来到这里的原因……最终,我再试了一次,我不得不在你的“isset”中添加一个“}else{$nameForPersWhiteBoard=”“;}”,结果成功了。谢谢
if(isset($_GET['tstname'])) {
  // do your stuff
}
$tstname= !empty($_GET['tstname'])? $_GET['tstname']: ' ';
 $tstname= isset($_GET['tstname'])? $_GET['tstname']: ' ';