PHP将PHP if语句与HTML结合使用的简便方法

时间:2010-11-03 14:07:59

标签: php

这可能是一个愚蠢的问题,但我想做的是做一个if语句来做以下事情:

<?php if ($_SESSION['login'] == true) { ?>
Display this HTML code (without converting it to PHP echos
<?php } else { ?>
Display this instead
<?php } ?>

或者我需要回声,然后为了做我想要的事情而逃避所有必需的角色。

由于

5 个答案:

答案 0 :(得分:7)

试一试。但是为了记录,这是有效的。事实上,这是解决这个问题的惯用方法。

<?php if ($_SESSION['login']) { ?> 
  <p>Display this HTML code</p>
<?php } else { ?> 
  <p>Display this instead</p>
<?php } ?>

为了可读性而缩进(但是,这会混淆HTML结构缩进,所以可能不合适)。

或者,following style经常被使用,因为最后的孤立支撑变得孤独:

<?php if ($_SESSION['login']): ?> 
  <p>Display this HTML code</p>
<?php else: ?> 
  <p>Display this instead</p>
<?php endif; ?>

(在这两种情况下,我都从条件中删除了== true,因为它完全是多余的。不要写== true。)

答案 1 :(得分:1)

查看HEREDOC or NOWDOC语法

<?php 
if ($_SESSION['login']) { 
   $html =<<<HTML
Add HTML here
HTML;
   echo $html;
} else { 
   $other_html =<<<'OTHERHTML'
Add HTML here
OTHERHTML;
   echo $other_html;
?>

答案 2 :(得分:1)

是的,它有效。

<?php if ($_SESSION['login'] == true) { ?>
   <span>hello</span>
<?php } else { ?>
   <span>going already?</span>
<?php } ?>

答案 3 :(得分:1)

你也可以使用if和endif

<?php if ( expression ) : ?>
<p>some message here</p>
<?php else : ?>
<p>other message</p>
<?php endif ?>

答案 4 :(得分:1)

任何不在PHP标签中的内容都会以HTML格式输出,因此您的原始代码将正常运行。

<?php if ($_SESSION['login'] == true) { ?> 
<a href="logout.html">Log Out</a> 
<?php } else { ?> 
<a href="login.html">Login</a>  
<?php } ?>