0

我正在检查是否传递了特定参数以及该参数是否存在文件夹。前任

if ((! isset($_GET["name"])) or (! is_dir($_GET["name"]))) {

    print "----------------USER NOT FOUND-----------------" ;
}

在我的 URL 中,如果 name=Erik 并且该文件夹不存在于该名称中,我想打印错误消息。另外我想检查参数'name'是否使用isset传递到URL中。不知何故,上述方法不起作用,我无法弄清楚原因。任何输入都会有所帮助。

谢谢

4

1 回答 1

0

or有不同的用途。这是因为每当您尝试做的事情不起作用时,它就会执行另一位。典型的弃用示例是,当您尝试进行一些数据库交互时,您会回写$STH = mysql_query('SELECT * FROM users') or die();. 对于您的情况,您应该改用||运算符,如文档中所述

此外,您不是在检查是否有人提交了某些东西。如果提交的表单没有任何内容,这将永远不会打印任何内容。两个错误都已修复,您的代码应如下所示:

if (empty($_GET["name"]) || !is_dir($_GET["name"])) {
print "----------------USER NOT FOUND-----------------" ;
}

因为,如果有人提交表单,则 url 将为example.com/index.php?name=,这使得$_GET['name']在它为空时进行设置。我假设您想说在那种情况下找不到用户。

于 2013-04-21T19:38:45.903 回答