「a href ..」で別のページにリダイレクトすると、すべての SESSION 変数が失われます。だから私は header() php 関数を使用してのみリダイレクトしたい。ユーザーが使用すると、header() を使用して別のページにリダイレクトするリンクを作成するにはどうすればよいですか? ありがとうございました
ここに私のコードがあります:ソースページ:
session_save_path("myrootdir/cgi-bin/tmp");
session_start();
....
$id = $_SESSION['id']; //session variable passed succesfully from log in page
$usr = $_SESSION['usr'];//by using header('sourcepage.php');
....
< a href='http://targetpage.php'>target< / a>
対象ページ:
session_save_path("myrootdir/cgi-bin/tmp");
session_start();
...
if(isset($_SESSION['id']) && isset($_SESSION['usr'])) {
echo "success";
}
else{
echo "failed to pass";
}
いつも不合格!
アップデート
今、私は別の奇妙な問題を抱えています...
$_SESSION['id']=$_POST['id'];
$_SESSION['usr']=$_POST['usr'];
if(isset($_SESSION['id']) && isset($_SESSION['usr'])) {
$id = $_SESSION['id'];
$usr = $_SESSION['usr'];
$qry = mysql_query("SELECT * FROM members WHERE id = '". mysql_real_escape_string( $id ) ."' AND usr = '". mysql_real_escape_string( $usr ) ."'");
echo "Welcome ".$usr;
echo "Session id".session_id();
if(mysql_num_rows($qry) != 1) { Destroy(); }
} else { Destroy(); }
誰かがこのようにログインしているかどうかを確認すると、すべてのページで完璧に機能しますが、エコー行を削除すると Destroy() 関数が呼び出されます。