2012-05-07 32 views
0

セッション変数に問題があります。PHPセッションが最初に登録されていません

私は、ajax呼び出しを使用してユーザー名と電子メールアドレスが既に存在する場合はそれらを確認する簡単なサインアップPHPページを用意しています。また、選択された画像のプレビューを与えるajax画像アップローダもあります。今これは私がセッション変数を設定しています方法です

: - それはちょうどこのスニペットの後に上記のコードにエコーされて

session_start(); 
session_unset(); 
$_SESSION = array(); 

if (ini_get("session.use_cookies")) { 
    $params = session_get_cookie_params(); 
    setcookie(session_name(), '', time() - 42000, 
     $params["path"], $params["domain"], 
     $params["secure"], $params["httponly"] 
    ); 
} 

session_destroy(); 
session_start(); 

$_SESSION['avurl'] = $filename; 

$ filenameが有効です。今、奇妙なことは、これが初めてを実行するたびにセッション変数がどのような値を持っていないということです

session_start(); 

$av_url = $_SESSION['avurl']; 

- :私はこれを持って、このセッション変数を使用する必要があるページで

。しかし、それは2回目です。

これを確認する方法は、私が$ _SESSION ['avurl']をエコーするtest.phpを作成し、初めて2回目は何も表示しないことです。

このセッション変数をエコーすると、値を保存する作業が始まります。

そして、私はその変数を設定するために使用しています、すべてのそのコードはちょうどから編集されています - これも動作しませんでしたし、私はこれが既に存在していると問題になることができると思っているの

session_start(); 

$_SESSION['avurl'] = $filename; 

セッション。

ありがとうございました これは私の問題を解決するのに十分な情報です。

+0

session_start()はコーディングの先頭で1回だけ使用し、session_destroyとsession_unsetを使用してセッションをフラッシュします。 – VibhaJ

+0

session_start()を一度使用してもまだ動作しません。 –

答えて

1
session_start(); 
session_unset(); 

このコードはあなたのセッションを削除します...なぜこれを行うのですか?

+1

正しい。セッションを開始した後、session_unsetを呼び出してANY変数のセッションスコープへの登録を無効にするにはどうしたらいいですか? – verisimilitude

+0

私はそれ以降のセッションをやり直しています。また、2回目は正常に動作し、通常のコードを使用したときも同様です。 session_start(); $ av_url = $ _SESSION ['avurl']; これはまた動作しません.. –

+0

あなたは確かに、そのHTMLコードまたはPHP出力の前にセッションを開始していますか? (各ページ) – YamahaSY

関連する問題