1

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コードをエコーできますか?

4

9 に答える 9

4

次のように、連結演算子 を使用するだけ.です。

echo "<li><a href='profile.php'>" . $profile . "</a></li>";
于 2013-05-24T17:54:42.840 に答える
3

選択肢があります。二重引用符 ( ") または単一引用符( ) を使用できます'。違いは、二重引用符は連結を必要としないということです:


二重引用符:

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

一重引用符:

echo '<li><a href="profile.php">' . $profile . '</a></li>';
于 2013-05-24T17:58:19.633 に答える
3
if(isset($_SESSION['id'])){
echo "<li><a href='profile.php'>$profile</a></li>";
}else{
echo "<li><a href='login.php'>login</a></li>";
}
于 2013-05-24T17:55:24.907 に答える
2

もう1つ答えが必要です:

<?php
    echo isset($_SESSION['id']) ? '<li><a href="profile.php">' . $profile . '</a></li>' : '<li><a href="login.php">login</a></li>';
?>
于 2013-05-24T18:02:38.783 に答える
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; ?>

他の方法では機能しないというわけではありません。この方法の方がクリーンです...一般的な意見によると、私はそう思います。

于 2013-05-24T17:57:26.077 に答える
2

通訳から逃げる。

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

それで全部です。

于 2013-05-24T17:54:48.590 に答える
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>";
}

問題が解決しました。

于 2013-05-24T18:36:40.830 に答える
1
if(isset($_SESSION['id'])){
echo '<li><a href="profile.php">' . $profile . '</a></li>';
}else{
echo '<li><a href="login.php">login</a></li>';
}
于 2013-05-24T17:58:25.707 に答える