首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用3个$_GET值

使用3个$_GET值
EN

Stack Overflow用户
提问于 2013-02-15 23:00:10
回答 4查看 198关注 0票数 0

我对$_GET数组有个问题。在我的页面上,一个值来自URL,如下所示。

代码语言:javascript
运行
复制
http://localhost/search.php?subject=Mathematics

我检查这个$_GET值,如下所示。

代码语言:javascript
运行
复制
// Check for a valid keyword from search input:
if ( (isset($_GET['subject'])) && (is_string ($_GET['subject'])) ) { // From SESSION
    foreach ( $_GET AS $key => $subject) {
        $searchKey = $key;
        $searchKeyword = '%'.$subject.'%';
    }

} else { // No valid keyword, kill the script.
    echo 'This page has been accessed in error.';
    include ('includes/footer.html');
    exit();
}

现在它对我起作用了。但我的问题是,我正在使用另外两个变量通过同一页面上的URL来过滤我的数据库值。

代码语言:javascript
运行
复制
echo '<li><a href="?tutor=link">Tutor</a></li>
      <li><a href="?institute=link">Institute</a></li>'; 

这两个链接我用来过滤我的数据库值(点击这个链接)。

代码语言:javascript
运行
复制
$tutor = isset($_GET['institute']) ? '0' : '1'; 
$institute = isset($_GET['tutor']) ? '0' : '1';

我的问题是,当我尝试过滤数据库结果时,点击上面的链接,它总是显示这个代码,而不是显示过滤的结果。

代码语言:javascript
运行
复制
} else { // No valid keyword, kill the script.
    echo 'This page has been accessed in error.';
    include ('includes/footer.html');
    exit();
}

谁能告诉我如何使用这3个$_GET值。

EN

回答 4

Stack Overflow用户

发布于 2013-02-15 23:03:19

为什么不在else中添加一个子句

代码语言:javascript
运行
复制
elseif(!isset($_GET['institute']) && !isset($_GET['tutor'])) 
{
    echo 'This page has been accessed in error.';
    include ('includes/footer.html');
    exit();
}
票数 1
EN

Stack Overflow用户

发布于 2013-02-15 23:02:50

你需要确保url看起来像这样:

代码语言:javascript
运行
复制
http://localhost/search.php?subject=Mathematics&tutor=tutorName&institute=instituteName

?表示URL参数的开始,&表示url参数之间的分隔。

票数 0
EN

Stack Overflow用户

发布于 2013-02-15 23:06:01

您的问题是,您只检查了$_GET‘’subject‘变量,该变量没有被传入。您可以通过几种方式来完成此操作,所有这些操作都会导致更改:

代码语言:javascript
运行
复制
if ( (isset($_GET['subject'])) && (is_string ($_GET['subject'])) ) { // From SESSION

1)包含条件字符串中的所有变量:

代码语言:javascript
运行
复制
if ( ((isset($_GET['subject'])) && (is_string ($_GET['subject']))) || ((isset($_GET['institute'])) && (is_string ($_GET['institute']))) || ((isset($_GET['tutor'])) && (is_string ($_GET['tutor']))) ) {

2)在所有链接中传入searchKey=1或其他内容,并使用:

代码语言:javascript
运行
复制
if ( isset($_GET['searchKey']) ) { // From SESSION

修改后的链接:

代码语言:javascript
运行
复制
echo '<li><a href="?searchKey=1&amp;tutor=link">Tutor</a></li>
      <li><a href="?searchKey=1&amp;institute=link">Institute</a></li>'; 

如果您希望一次传入多个变量,则需要将搜索关键字放入数组中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14897396

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档