0

誰かがより良いタイトルを作ることができるなら、それを編集してください。

私が抱えている問題は、投稿にユーザー名を表示できないことです。コードのクイックスニップ。

if (isset($_SESSION['username']) )
{ 
$name = $_SESSION['username'];
}
else 
{
$name = $_POST['name']; 
}

ユーザーが投稿したときにセッションがあるかどうかを確認し、投稿に自分の名前を表示するにはどうすればよいですか。

4

3 に答える 3

2

ここで行ったことには特に問題はありません。$ _SESSION ['username']には実際に値がありますか?

また、セッションデータを保存またはプルする前に、session_start()を呼び出すセッションを操作していることを確認してください。

    <?php
    session_start();

    $_SESSION['username'] = 'Greg';

    if (isset($_SESSION['username']) )
    { 
    $name = $_SESSION['username'];
    }
于 2012-05-22T06:36:58.643 に答える
0

以下をお試しください

session_start();

if (isset($_SESSION['username']) )
{ 
    $name = $_SESSION['username'];
}
else 
{
    $name = $_POST['name']; 
    $_SESSION['username'] = $name;
}

次に、ページをリロードします。$ _SESSION['username']にユーザー名が含まれているはずです。

于 2012-05-22T06:41:54.790 に答える
0

ギャレットは、あなたのルートが$_SESSION['name']最初に作成され、ログインしていない場合は関係なく$_SESSION['name']$_SESSION['username']

私が正しく、ログイン時に$ _SESSION ['username']を作成している場合は、$_SESSION['name']=かどうかを確認し、$_SESSION['username']設定が解除されているかどうかを確認するだけです。例:

// YOUR LOGIN CODE TO CHECK ASSUME SQL QUERY OF SOME DESCRIPTION AND 'true' IS YOUR RESULT and 'false' NOT A USER
if(true) {
$_SESSION['username'] = $result;
if($_SESSION['name'] && $_SESSION['name'] == $_SESSION['username'] ){
unset($_SESSION['name'])
}
// ACTION TO GO TO PAGE
} else {
// YOUR ERROR ACTION
}
于 2012-05-22T06:43:50.890 に答える