0

セッションで変数 username が返されない理由がわかりません。ユーザーがログインしたら、セッションを開始します。

$username = trim($_POST['username']);
if(!isset($_SESSION)){ session_start(); }
$_SESSION[$this->GetLoginSessionVar()] = $username;

ユーザーのウェルカム ページで echo コマンドを実行すると、適切な変数が返されます。しかし、return ステートメントが機能しない理由がわかりません。私のPHPファイルには次のものがあります:

function UserName()
{

    return  isset($_SESSION['name_of_user']) ? $_SESSION['name_of_user'] : "Unknown User" ;
    //echo $_SESSION['name_of_user'];
}

私のhtmlには、次のものがあります。

Welcome back <?PHP $fgmembersite->UserName(); ?>!

セッションIDも確認しましたが、ちゃんと生成されています。私が間違っていることを理解してもらえますか?

4

5 に答える 5

5

fgmembersiteオブジェクトであり、それを関数と呼びUserNameますか?

はいの場合は、単に見逃すecho

<?PHP echo $fgmembersite->UserName(); ?>
于 2012-05-08T22:07:43.343 に答える
3

echo または print を追加する必要があるため、次のようになります。

<?PHP echo $fgmembersite->UserName(); ?>
于 2012-05-08T22:11:05.247 に答える
2

変数を出力する必要があります。使用する

Echoまたprint

于 2012-05-08T22:07:53.230 に答える
2

おそらく、出力を追加する必要があります。

<?php print $fgmembersite->UserName(); ?>
于 2012-05-08T22:07:59.047 に答える
1

使用していると思われるスクリプトを使用している場合は、次の行で fg_membersite.php を調べる必要があります。

function CheckLoginInDB($username,$password)

その行には、MySQL ステートメントが必要です。

$qry = "SELECT etc...

UserAvatar を追加しようとしたとき、その MySQL 文字列に追加することでそれを行うことができました。

余談ですが、私も UserName の追加に問題があります。私の人生では、以前の回避策とは異なる理由が理解できませんが、どういうわけかそうですが、それでも何かを確信しています。ファイルは最終的にトリックを行います。

編集:

わかりました、これを行うだけです:

echo $fgmembersite->UserName($username);

ユーザー名がすぐに表示されます。理由はわかりません。説明するのに十分なphpを知りませんが、これでうまくいくとしか思えません。

于 2012-11-09T19:01:23.767 に答える