0

私はPHPがまったく初めてです。ええ、このコードはまったく意味がないかもしれません。しかし、とにかく。助けを求めたい。誰かが間違っていることを教えてくれたり、正しいコードを書いたりできれば。

基本的に私がコードを作成しようとするのは、ユーザーがログインしているかどうかを確認することです.ログインしていない場合は、ログインしてリンクを登録します.

彼がログインしている場合は、彼のユーザー名を表示します。

PHPコードは次のとおりです。

<?php

    require("common.php");

    if(empty($_SESSION['user']))
    {
        echo("<a href="login.html"><b>Login</b></a>");
        echo("<a>or<a>");
        echo("<a href="register.html"><b>Register</b></a>");
    }

    else
    {
        echo 'Username: ' . $current_user->user_login . "\n";
    }
?>

HTML からのコード:(このコードを含めるために使用するコード。それもあるかどうかはわかりません...)

<header action="php/check.php" method="post">

回答ありがとうございますまだ機能していません:(これが現在のコードです。皆さんのアドバイスを編集しました。

<?php
    session_start()

    require("common.php");

    if(empty($_SESSION['user']))
    {
        echo '<a href="login.html"><b>Login</b></a>';
        echo '<a>or<a>';
        echo '<a href="register.html"><b>Register</b></a>';
    }

    else
    {
        echo 'Username: ' . $current_user->username . "\n";
    }
?>
4

3 に答える 3

2

セッションが自動的に開始されますか? それ以外の場合は、これを追加する必要があります:

編集:また、エコーの周りの括弧を削除します。これは言語に組み込まれており、関数ではありません。引用符もエスケープします。

<?php
    session_start()

    require("common.php");

    if(empty($_SESSION['user']))
    {
        echo "<a href=\"login.html\"><b>Login</b></a>";
        echo "<a>or<a>";
        echo "<a href=\"register.html\"><b>Register</b></a>";
    }

    else
    {
        echo 'Username: ' . $current_user->user_login . "\n";
    }
?>

php.ini を追加して、セッション auto_start を使用することもできます。

http://www.php.net/manual/en/session.configuration.php#ini.session.auto-start

于 2013-06-11T17:15:21.850 に答える
0

これを試して:

if(empty($_SESSION['user']))
{
    echo '<a href="login.html"><b>Login</b></a>';
    echo ' or ';
    echo '<a href="register.html"><b>Register</b></a>';
}
于 2013-06-11T17:15:47.120 に答える
0

まず、次のように、すべてのエスケープ ステートメントで二重引用符をエスケープする必要があります。

echo "<a href=\"login.html\"><b>Login</b></a>";
echo "<a>or<a>";
echo "<a href=\"register.html\"><b>Register</b></a>";

の括弧は必要ありませんecho

次に、$_SESSION変数を使用するには、関数を使用してその前にセッションを開始する必要がありますsession_start()

于 2013-06-11T17:16:25.170 に答える