在PHP中使用HTML如果声明
问题描述:
我在Wordpress中有一个PHP文件,它有一些HTML,“登录&注册表”,我只想在网站的成员未登录时显示。当他们登录时,我希望它显示“欢迎,[姓名]”。在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; ?>
退房Alternative syntax for control structures更多这方面的信息。
答
简单:
<?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>";
}
?>
您是否尝试过echo? – 2012-08-09 03:33:10
它不工作,没有输出?没有检测到登录状态? – 2012-08-09 03:34:03
Sacheleen和Gordan提供了非常好的答案..另一种解决方案是您选择的报价。如果你用双引号包装你的字符串并且在字符串中有一个双引号,那么你打破了你的字符串,所以你可以通过在它之前加一个'\'来转义它'''',这个逻辑也适用于单引号。 – chris 2012-08-09 03:35:58