加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 使用if和else语句错误

发布时间:2020-12-13 22:21:19 所属栏目:PHP教程 来源:网络整理
导读:我创建了两个链接,我希望页面内容能够改变.问题是URL更改但不是页面内容. h3Filter Results/h3pa href="index.php?filter='Action'Action/a/ppa href="index.php?filter='Comedy'"Comedy/a/p if (isset($_GET['filter']) == 'Action') { echo 'Action'; }els
我创建了两个链接,我希望页面内容能够改变.问题是URL更改但不是页面内容.

<h3>Filter Results</h3>
<p><a href="index.php?filter='Action'>Action</a></p>
<p><a href="index.php?filter='Comedy'">Comedy</a></p>
if (isset($_GET['filter']) == 'Action') {
    echo 'Action';  
}
else if (isset($_GET['filter']) =='Comedy') {    
    echo 'Comedy';
}

它总是输出第一个链接信息“Action”.

解决方法

您的链接有问题:

<p><a href="index.php?filter=Action">Action</a></p>
<p><a href="index.php?filter=Comedy">Comedy</a></p>
<!--                         ^    ^ No single quotes (' ') -->

Yogesh Suthar pointed it out first

此外,isset()将返回一个布尔值(true或false;基于是否设置了变量).您将布尔值与字符串a string will always be converted into TRUE进行比较(除非字符串为“false”或类似),所以基本上,如果设置了变量,则第一个条件将始终匹配.

你要

if (isset($_GET["filter"]) && $_GET["filter"] === "Action")

注意使用===,这将确保变量完全符合您的想法,而不是某种其他类型变量.

几点(从其他答案中无耻地被盗)

>如果有多个可能的过滤器,请检查变量是否存在一次,并使用开关/案例块来确定它们中的哪一个:

if(isset($_GET['filter'])) {
    switch($_GET['filter']) {
        case 'Action':
            echo 'Action';
            break;
        case 'Comedy':
            echo 'Comedy';
            break;
    }
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读