所以这里是我的代码,我尝试让我的分页功能在主页上回显一些内容,如果在页面= 2或页面3 ++等其他页面上则回显其他内容
<?php if(empty($_GET) or ($_GET['pg']==1)) { echo ' ?> Html codes content and php <?php '; } else { echo '?> Else html codes content and php <?php '; } ?>
但是不起作用,我确定是来自&#34; &#39; &#34;或&#34; &#39;&#39; &#34;我错了但在哪里?问题在哪里或什么
答案 0 :(得分:2)
不要将?>
放在echo
声明中。
<?php
if(empty($_GET) || $_GET['pg'] ==1) {
echo 'HTML codes content';
} else {
echo 'Else html codes content';
}
?>
你也可以通过使用echo
关闭PHP和而不是来实现:
<?php
if (empty($_GET) || $_GET['pg'] ==1) { ?>
HTML codes content
<?php else { ?>
Else html codes content
<?php } ?>
答案 1 :(得分:1)
您可以使用ternary operator使其更简单。另外最好使用isset()
,因为即使$ _GET不为空,也不意味着$ _GET ['pg']存在,因此会产生警告。
无论如何如上所述,问题是您在echo语句中使用了?>
,这是不正确的。
你可以这样做:
<?php if ((isset($_GET['pg'])) && ($_GET['pg']==1)) { ?>Html codes content and php<?php } else { ?>Else html codes content and php<?php } ?>
使用三元运算符:
<?php echo ((isset($_GET['pg'])) && ($_GET['pg']==1)) ? 'Html codes content and php' : 'Else html codes content and php'; ?>
使用三元运算符和短标记:
<?=((isset($_GET['pg'])) && ($_GET['pg']==1)) ? 'Html codes content and php' : 'Else html codes content and php'; ?>
答案 2 :(得分:0)
你不能在echo
中拥有PHP代码,因为PHP会在一次通过中解释你的代码。
您的代码应该是这样的:
<?php
echo (empty($_GET) || ($_GET['pg']==1)) ?
'Html code':
'Another HTML code';
?>
如果你需要输出一些PHP代码,总会有更好的方法来实现它,你可以包含一些包含你要添加的php代码的文件。
答案 3 :(得分:0)
你可以用这种方式。
<?php if(empty($_GET) || $_GET['pg'] ==1): ?>
<p>HTML codes content</p>
<?php else: ?>
<p>Else html codes content<p>
<?php endif; ?>
请注意:我使用了直接的html代码。