- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在这里努力尝试理解 $_GET 的 isset 逻辑测试的逻辑。这实际上是一个练习的答案。
所以是这部分:
if(isset($_GET['status']) && in_array($_GET['status'], $options)){
$sql .= " WHERE status = ?";
$execute = array($_GET['status']);
}
如果答案是//inline,我将不胜感激,非常感谢。
1.) 我知道我们正在尝试查看状态是否不为空,但为什么 $options 也要两次?
2.) 为什么 $sql 拆分?为什么不让 $sql 脱离 if 已经有了“WHERE status =?”
PHP 页面的其余部分在这里:
<?php # Exercise solution 1
$employees = '';
$execute = array();
$options = array(0,1);
$db = new PDO('mysql:host=localhost;dbname=eshop;charset=utf8', 'root', '');
$sql = "SELECT firstName,lastName FROM employees";
if(isset($_GET['status']) && in_array($_GET['status'], $options)){
$sql .= " WHERE status = ?";
$execute = array($_GET['status']);
}
$query = $db->prepare($sql);
$query->setFetchMode(PDO::FETCH_OBJ);
$query->execute($execute);
$result = $query->fetchAll();
foreach($result as $row){
$employees .= "{$row->firstName} {$row->lastName}<br/>";
}
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Exercise solution 1</title>
</head>
<body>
<strong>Employees list</strong>
<a href="1.php">All</a>
<a href="1.php?status=1">Status Active</a>
<a href="1.php?status=0">Status Not Active</a>
<br/><br/>
<div class="result-list"><?= $employees; ?></div>
</body>
</html>
最佳答案
我很确定你在这里可能遗漏了一个函数 in_array
in_array($_GET['status'], $options)
$options
将包含 status
可能具有的所有有效值
关于php - 需要解释 $_GET 的 isset,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33700375/
PHP 内置了 _get 和 _set 函数。是为每个变量编写自己的 get 和 set 函数更好,还是使用带有大量 if else if 的内置函数?每种方法的优缺点是什么? 最佳答案 __get
这个问题可能看起来很相似,但请理解我的问题。在我的更新页面中,我对 $_GET 方法感到困惑。在我的第一页中,我提供了一个像这样编辑表格的链接 index.php "; e
我最近被安排做一个需要一些PHP的项目,我对PHP了解不多。站点中有几个实例,单击按钮后,用户会被重定向到带有一些 URL 参数的另一个页面。然后下一页使用 $_GET 获取这些参数并继续。 代码中的
我想要一些奇怪的东西。如果有人打开 index.php 页面,$select 必须是 full,。但如果有人打开 index.php?var=4 page,$select 必须是 other,带有 v
假设我有一个类似于 www.mysite.com/index.php?login=0 的 URL。是否可以切换大小写 $_GET 的变量和切换大小写 $_GET 的变量值? 类似于: switch (
我希望扩展我的 PHP 知识,但我遇到了一些我不确定它是什么或什至不知道如何搜索它的东西。我正在查看 php.net isset 代码,我看到了 isset($_GET['something']) ?
为了在 PHP 中读取未知变量,我经常使用如下代码: $bar = isset($_GET['foo']['bar']) ? $_GET['foo']['bar'] : NULL; 我不喜欢把变量名写
这个问题已经有答案了: How can I prevent SQL injection in PHP? (27 个回答) 已关闭 7 年前。 我在数据库中有一个(主题)和(页面)表。 page TAB
我正在尝试制作一个类似的搜索引擎,对于我的网站来说很简单。这是我正在使用的代码: $sql = mysql_query("SELECT * FROM books WHERE tags LIKE '
您好,我正在编写个人资料页面脚本,在此脚本中,我检查传入的 $_GET 变量的值并验证它是一个整数,然后我根据 $_SESSION 值验证此值以确认他们只能访问自己的帐户.代码如下所示: // val
我在这里检查了所有可能的解决方案,不幸的是它不起作用。我的代码似乎有什么问题? 我尝试了以下方法。 url解码 ( http://php.net/manual/en/function.urldecod
我有一个 test.php 并且我有下面的代码 我在下面列出了 url,然后显示了所需的输出 Test 1 : http://localhost/example/test.php output :
我有以下登录脚本,我确实在其中使用了 session 。 query("SELECT * FROM table WHERE x1='".$x1."' AND x2='".$x2."'");
实际上这是我的代码: echo ""; // get current vars $p1 = isset($_GET['p1']) ? trim($_GET['p1']) : false; $p2 =
我正在 Adobe Dreamweaver 中编写 PHP 代码。我的代码如下所示。我期待我的代码输出两个框,我在其中写了一些东西。当我单击提交按钮时,我希望看到我在框中输入的两个单独的内容被连接
我假设 $_GET 变量被解释为单引号字符串(而不是双引号字符串)。 我相信这是真的,因为以下测试(我自己尝试进行目录遍历攻击): $file = "../test.php"; /** * same
我有一个 test.php 并且我有下面的代码 我在下面列出了 url,然后显示了所需的输出 Test 1 : http://localhost/example/test.php output :
我需要使用 get 函数从 url 中检索 $title 变量。 $title=$_GET["title"]; $title 稍后在 MySQL 查询中使用。 问题是如何保证安全?换句话说,如何消除通
我不明白为什么有人在代码中使用 @,我在 mysql 连接中看到过它,但我不知道它是什么意思..谢谢! $player_name_orig = @$_GET['player']; if (!$play
我要问两件事。 第一个问题是我这样做是否正确?我正在将一个链接与 javascript 变量放在一起 http://google.com/test.php?var="+class4 然后我使用 php
我是一名优秀的程序员,十分优秀!