在 PHP if 语句中使用 HTML


Using HTML in PHP If Statement

我在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不是很好,但我会感谢任何帮助。谢谢!

您可以在双引号字符串中使用 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; ?>

查看控件结构的替代语法以获取有关此内容的详细信息。

当我们在做的时候,打印与回声,哪一个更快?

简单地说

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

如果你可以使用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.
}
?>

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

<?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>";
      }
?>