繁体   English   中英

php如果回显别的东西回应其他的html

[英]php if echo something else echo else for html

所以这是我的代码,我尝试让我的分页函数回显一下如果是在主页上并回显其他如果是在另一个页面如page = 2或page3 ++

<?php if(empty($_GET) or ($_GET['pg']==1)) { echo ' ?> Html codes content and php <?php '; } else { echo '?> Else html codes content and php <?php '; } ?>

但是不工作,我肯定是从“'”或“''”我错误但在哪里? 哪里或什么是问题

不要把?>放在echo语句中。

<?php 
if(empty($_GET) || $_GET['pg'] ==1) {
    echo 'HTML codes content';
} else {
    echo 'Else html codes content';
}
?>

你也可以通过关闭PHP而不是使用echo

<?php
if (empty($_GET) || $_GET['pg'] ==1) { ?>
    HTML codes content
<?php else { ?>
    Else html codes content
<?php } ?>

您可以使用三元运算符使其更简单。 另外最好使用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'; ?>

你不能在echo使用PHP代码,因为PHP会在一次通过中解释你的代码。

你的代码应该是这样的:

<?php 
    echo (empty($_GET) || ($_GET['pg']==1)) ? 
         'Html code':
         'Another HTML code';
?>

如果您需要输出一些PHP代码,总会有更好的方法来实现它,您可以包含一些包含您要添加的PHP代码的文件。

你可以用这种方式。

<?php if(empty($_GET) || $_GET['pg'] ==1): ?>
    <p>HTML codes content</p> 
<?php else: ?>
    <p>Else html codes content<p>
<?php endif; ?>

请注意:我使用直接的HTML代码。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM