echo php代码 - 如何做到这一点

时间:2013-05-24 17:53:15

标签: php html

我想在php中回应一些php代码:

if(isset($_SESSION['id'])){
echo "<li><a href='profile.php'><?php echo $profile ?></a></li>";
}else{
echo "<li><a href='login.php'>login</a></li>";
}

$profile有3种语言,这就是为什么它是一个变量。

此代码对我不起作用。它什么也没有回应。我怎么能回复PHP代码?

9 个答案:

答案 0 :(得分:4)

只需使用concatenation operator .,就像这样:

echo "<li><a href='profile.php'>" . $profile . "</a></li>";

答案 1 :(得分:3)

if(isset($_SESSION['id'])){
echo "<li><a href='profile.php'>$profile</a></li>";
}else{
echo "<li><a href='login.php'>login</a></li>";
}

答案 2 :(得分:3)

你可以选择。您可以使用双引号(")或单引号(')。区别在于双引号不需要连接:


双引号:

echo "<li><a href='profile.php'>$profile</a></li>";

单引号:

echo '<li><a href="profile.php">' . $profile . '</a></li>';

答案 3 :(得分:2)

逃离翻译。

echo "<li><a href='profile.php'>", $profile ,"</a></li>";

就是这样。

答案 4 :(得分:2)

由于您正在使用双" s,因此将处理字符串而不连接。

echo "<li><a href='profile.php'>$profile</a></li>";

如果您要处理美国货币的价格,您可以连接,您需要将$字符作为字面值。但是除了代码可读性之外真的没有必要。

 echo 'Price: $'.$profile;

这样的代码使您能够对内容进行检查,验证信息并保持PHP的动态功能。然而,如果你混合使用HTML和PHP,那么你将遇到一些问题,你必须重写大的部分,以便将来能够创造一些动态的东西。

理想情况下,您可以在PHP中创建所有内容:

<?php
$mystring = "<ul>";

if(isset($_SESSION['id'])){
    $mystring .= "<li><a href='profile.php'>$profile</a></li>";
}else{
    $mystring .= "<li><a href='login.php'>login</a></li>";
}

$mystring .= "</ul>";
$page .= $mystring;

if ($dynamic_site == 1){
 print $page;
} else {
 //For static caching (much faster)
 fwrite ...
} 
?>

答案 5 :(得分:2)

这是一个多余的答案,因为其他人已经说过了,但你真的应该避免在php中打印html。相反,打破php写html:

<?php if(isset($_SESSION['id'])): ?>
    <li><a href='profile.php'><?php echo $profile ?></a></li>
<?php else: ?>
    <li><a href='login.php'>login</a></li>
<?php endif; ?>

并不是说它不起作用,它只是更干净......根据我想的一般意见。

答案 6 :(得分:2)

还需要一个答案:

<?php
    echo isset($_SESSION['id']) ? '<li><a href="profile.php">' . $profile . '</a></li>' : '<li><a href="login.php">login</a></li>';
?>

答案 7 :(得分:1)

if(isset($_SESSION['id'])){
echo '<li><a href="profile.php">' . $profile . '</a></li>';
}else{
echo '<li><a href="login.php">login</a></li>';
}

答案 8 :(得分:1)

你的错误在于你不能在PHP标签中使用PHP标签。

如果使用双引号,则只需将变量直接包含在字符串中即可。

if(isset($_SESSION['id'])){
    echo "<li><a href='profile.php'>$profile</a></li>";
}else{
    echo "<li><a href='login.php'>login</a></li>";
}

问题解决了。