在PHP中使用HTML If Statement

时间:2012-08-09 03:31:37

标签: php wordpress

我在Wordpress中有一个PHP文件,它有一些HTML,“登录和注册”,我只想在网站成员没有登录时显示。当他们登录时,我希望它显示“欢迎,[名字]。”

我只是不确定如何在PHP If语句中使用HTML。条件是:

<?php
      if ( member_is_logged_in() ) {
         print "Welcome [name]";
      } else {
         print "<a href="...">Login</a> | <a href="...">Register</a>";
      }
?>

这就是我认为它应该看起来的样子,但它不起作用。我用PHP不是那么好,但我会感激任何帮助。谢谢!

4 个答案:

答案 0 :(得分:3)

您可以在双引号字符串中使用PHP变量。所以只需用$ name或变量替换[name]。请注意,这将使用单引号。

另外,在else的情况下你有两组双引号。这将导致语法错误。使其中一个单引号或逃避内部引号。

<?php
      if ( member_is_logged_in() ) {
         print "Welcome $name";
      } else {
         print '<a href="...">Login</a> | <a href="...">Register</a>';
      }
?>

您也可以直接结束PHP标记并直接编写HTML。

<?php
      if ( member_is_logged_in() ) {
         print "Welcome $name";
      } else {
?>
         <a href="...">Login</a> | <a href="...">Register</a>
<?php
      }
?>

对此有一种更好,更容易阅读的语法:

<?php if(<your evaluation here>): ?>
HTML for when true
<?php else: ?>
HTML for when false
<?php endif; ?>

查看Alternative syntax for control structures了解更多相关信息。

虽然我们正在进行,print vs echo, which one is faster?

答案 1 :(得分:1)

简单地:

<?php
      if ( member_is_logged_in() ) {
         print "Welcome $name";
      } else { ?>
         <a href="...">Login</a> | <a href="...">Register</a>
      <?php }
?>

答案 2 :(得分:1)

如果您可以使用wordpress,请尝试以下代码:

见Utl: - http://codex.wordpress.org/Function_Reference/wp_get_current_user

例如:要确定当前是否有用户登录,请执行以下操作:

<?php
$current_user = wp_get_current_user();
if ( 0 == $current_user->ID ) {
    // Not logged in.
} else {
    // Logged in.
}
?>

答案 3 :(得分:0)

试试这个代码块,让我知道---

<?php
      if ( member_is_logged_in() ) {
    global $display_name;
    get_currentuserinfo();
         print "Welcome ".$display_name;
      } else {
         print "<a href="...">Login</a> | <a href="...">Register</a>";
      }
?>