Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[求助] 這個判斷 應該是沒錯的阿....可是卻不能執行呢!!!

[复制链接]
noexcuse 发表于 2019-5-14 14:31:43 | 显示全部楼层 |阅读模式


  1. <!--{if $_GET[id] == 'xxx'}-->
  2. <meta property="og:image" content="https://xxx.com/bbs/$bd['logo']"/>
  3. <meta property="og:site_name" content="$bd['name']"/>
  4. <meta property="og:url" content="https://xxx.com/bbs/plugin.php?id=xxx&act=view&bid=$_GET[bid]"/>
  5. <meta property="og:title" content="$navtitle"/>
  6. <meta property="og:description" content="xxxxxx."/>

  7. <!--{elseif $_GET[id] == 'xxx' || $_GET[gid] !=''}-->
  8. <meta property="og:image" content="https://xxx.com/bbs/$bd['pic1']"/>
  9. <meta property="og:url" content="https://xxx.com/bbs/plugin.php?id=xxx&act=goodview&bid=$_GET[bid]&gid=$_GET[gid]"/>
  10. <meta property="og:title" content="$navtitle"/>
  11. <meta property="og:description" content="xxx."/>
  12. <!--{else}-->
复制代码


當我 $_GET[id] == 'xxx' 這邊是成立的


但是當網址同時出現  id & gid 的時候


  1. <!--{elseif $_GET[id] == 'xxx' || $_GET[gid] !=''}-->
复制代码
這個判斷卻無效??

是哪裡的錯誤啊?
離れての時間 发表于 2019-5-14 18:53:59 | 显示全部楼层
if遵循先后顺序,$_GET['id']=='xxx'是第一个条件,只要id=xxx了就会执行,不会管你后面的gid!=''
回复

使用道具 举报

 楼主| noexcuse 发表于 2019-5-16 09:58:59 | 显示全部楼层
離れての時間 发表于 2019-5-14 18:53
if遵循先后顺序,$_GET['id']=='xxx'是第一个条件,只要id=xxx了就会执行,不会管你后面的gid!=''

可是應該是 要 兩個條件都符合 才會往下執行阿~

因為我有設定 &&
回复

使用道具 举报

離れての時間 发表于 2019-5-16 11:50:56 | 显示全部楼层
noexcuse 发表于 2019-5-16 09:58
可是應該是 要 兩個條件都符合 才會往下執行阿~

因為我有設定 &&

可能是我说的不清楚,给你举个栗子
  1. $a="a";
  2. $b="b";
  3. if($a=="a"){
  4.     echo "a";
  5. }elseif($a=="a" && $b=="b"){
  6.     echo "b";
  7. }
复制代码

这种情况下,因为第一个条件$a=="a"已经符合了,所以只会执行第一个条件,PHP是顺序执行
回复

使用道具 举报

 楼主| noexcuse 发表于 2019-5-21 13:08:04 | 显示全部楼层
離れての時間 发表于 2019-5-16 11:50
可能是我说的不清楚,给你举个栗子

这种情况下,因为第一个条件$a=="a"已经符合了,所以只会执行第一 ...

那我該怎麼寫 會比較好呢?
回复

使用道具 举报

離れての時間 发表于 2019-5-21 13:11:33 | 显示全部楼层
noexcuse 发表于 2019-5-21 13:08
那我該怎麼寫 會比較好呢?
  1. $a="a";
  2. $b="b";
  3. if($a=="a" && $b!="b"){echo "a";}
  4. elseif($a=='a' && $b=="b"){echo "b";}
复制代码
回复

使用道具 举报

Failure 发表于 2019-5-21 13:19:00 | 显示全部楼层
noexcuse 发表于 2019-5-21 13:08
那我該怎麼寫 會比較好呢?

如果你要效果是判断一个条件后 如果再符合第二个条件再输出的话就应该这样
  1. <!--{if $_GET[id] == 'xxx'}-->

  2. 1111
  3. <!--{if $_GET[gid] =='xxx'}-->
  4. 2222
  5. <!--{/if}-->


  6. <!--{/if}-->
复制代码

上面的条件是 符合了第一个条件 显示111 如果符合第二个再显示2222
如果按照你之前的写是错的。
  1. <!--{if $_GET[id] == 'xxx'}-->
  2. <meta property="og:image" content="https://xxx.com/bbs/$bd['logo']"/>
  3. <meta property="og:site_name" content="$bd['name']"/>
  4. <meta property="og:url" content="https://xxx.com/bbs/plugin.php?id=xxx&act=view&bid=$_GET[bid]"/>
  5. <meta property="og:title" content="$navtitle"/>
  6. <meta property="og:description" content="xxxxxx."/>

  7. <!--{elseif $_GET[id] == 'xxx' || $_GET[gid] !=''}-->
  8. <meta property="og:image" content="https://xxx.com/bbs/$bd['pic1']"/>
  9. <meta property="og:url" content="https://xxx.com/bbs/plugin.php?id=xxx&act=goodview&bid=$_GET[bid]&gid=$_GET[gid]"/>
  10. <meta property="og:title" content="$navtitle"/>
  11. <meta property="og:description" content="xxx."/>
  12. <!--{else}-->
复制代码
结尾不是else  这个是否则  应该用<!--{/if}-->
解释你这个应该是
如果 id == ***
显示
<meta property="og:image" content="https://xxx.com/bbs/$bd['logo']"/>
<meta property="og:site_name" content="$bd['name']"/>
<meta property="og:url" content="https://xxx.com/bbs/plugin.php?id=xxx&act=view&bid=$_GET[bid]"/>
<meta property="og:title" content="$navtitle"/>
<meta property="og:description" content="xxxxxx."/>
<!--{elseif $_GET[id] == 'xxx' || $_GET[gid] !=''}-->


否则 如果 id == ***  gid 不等于***
写的都有毛病。 第一条件已经符合 第二条件就不会执行。 再者就是你第二个就有毛病
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-11-25 14:26 , Processed in 0.019140 second(s), 4 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表