2012-01-18 5 views
0

非常に奇妙な問題が発生しています。ユーザーがセッションにログインしている場合はメインページにリダイレクトすると、セッション変数が失われる

<ul> 
<li><a href='http://www.mysite.com'>Homepage</a></li> 
<li><a href='forums.php'></a>Forums</li> 
<li><a href='projects.php'></a>Projects</li> 
</ul> 

されています
私は3ページあります。すべてのページ
home.php
forums.php
projects.php

は、このようなメニューがあります設定され、トップユーザー名のすべてのページに表示されます。
プロジェクトページにあり、私がログインしているときに私のユーザー名が一番上にあり、メインページに行きたいときは、プロジェクトとフォーラムを繰り返して、ユーザー名が一番上にあり、セッションは失われません。私がホームページをクリックすると、メインページのセッションが失われ、ユーザー名が失われます。

問題は最初のリンクであると思われますホームページ。 私がそれをするときindex.phpすべてがうまくいきますが、このhttp://でうまくいきません。実際にはセッションはまだそこに表示されていません。


UPDATE
は、私はこの

<ul> 
<li><a href='http://www.mysite.com'>Homepage</a></li> 
<li><a href='http://www.mysite.com/forums.php'></a>Forums</li> 
<li><a href='http://www.mysite.com/projects.php'></a>Projects</li> 
</ul> 

ようなHTTPだけでなく、PHPファイルをフルリンクにすべてのメニューのリンクを変換する問題
を見つけたと思うし、すべてが正常に動作します。
私は興味があり、私は自分の知識を広げたいと思っています。なぜ起こっているのか分かっている人は、私に知らせてください。

+0

どのコードを使用してセッションを設定していますか? – animuson

+0

php申し訳ありませんが、私はphpファイルを使用してリンクを参照してください 私はセッションを格納するためにPHP関数を使用します。 もちろんsession_start()を使用します。 $ _SESSION ['username']でセッションを取得します。 – aygeta

+0

作業中のページから作業中のページに移動するときにドメイン名が変更されますか?すなわち、wwwは常にそこにありますか? – takteek

答えて

0

はフルリンク

http://www.mysite.comにすべてのメニューのリンクを変換する有効なURLではありません、いくつかのウェブサーバは、パスは「/」で、いくつかのブラウザはパスを仮定しますと仮定しますです'/'しかし、ほとんどのブラウザはそのままURLを送信し、ウェブサーバーは通常、ブラウザにリダイレクトを返します。

あなたが期待する限り、ホストがすべてのケースで同じか省略されて、その後、コードは動作します - しかし、あなたは本当に微妙なセマンティック問題は

<ul> 
<li><a href='http://www.mysite.com/'>Homepage</a></li> 
<li><a href='http://www.mysite.com/forums.php'></a>Forums</li> 
<li><a href='http://www.mysite.com/projects.php'></a>Projects</li> 
</ul> 

か、すなわち避けるために適切なURLを使用する必要があります。.. 。

<ul> 
<li><a href='/'>Homepage</a></li> 
<li><a href='/forums.php'></a>Forums</li> 
<li><a href='/projects.php'></a>Projects</li> 
</ul> 
+0

あなたはhttpp://www.mysite.com/ iinすべてのリンクを使用するべきだと言います。また、私はURLをくすくすPHPファイルをプログラミングしました URLバーにmysite.comだけを入力した場合 このphpファイルはforums.phpというページに基づいています のようなページの名前をパラメータとして使用しますthis checkUrl( 'forums.php')urlがmysite.com/forums.phpの場合、この関数は httpp://www.mysite.com/forums.phpを追加します。これは非常にうまく動作しています。 はこの解決策ですか?リンクに余分なpがあるのを防ぐために追加されました リンクのcreatiion – aygeta

関連する問題