:
$em = $_POST['email'];
$pw = $_POST['password'];
$em = mysql_real_escape_string($em);
$pw = mysql_real_escape_string($pw);
$query = "SELECT * FROM Register WHERE email = '$em' AND pass = '$pw'";
$result = mysql_query($query) or die("Unable to verify user because : " . mysql_error());
if (mysql_num_rows($result) > 0) {
session_start();
// store session data
$_SESSION['login']=$em;
//echo 'Connected';
// Jump to secured page
echo "<script>window.location='http://example.com/secure.php'</script>";
}
ページは私がにリダイレクト。
session_startがページの上部にあることを確認してください。それがベストプラクティスです。
セッションが設定されているときに、$ emに値が設定されていることを確認してください。
使用しているウェブホスティングがSESSIONSをサポートしていることを確認してください。
2ページ目の一番上に、$ _SESSION ['login']は必要ありません。ビット
$ emには値があります。そのページにエコーして確認してください。
これで解決しない場合は、問題の原因を見つけるためにコードを貼り付けてください。
セッションデータを保存する直前に$ emの値を確認しましたか?完全なスクリプトがなければ、その時点で$ emに問題があるかどうかわかりません。また、コードの2番目のブロックでsession_start()の直後に$ _SESSION ['login']を呼び出す必要はなく、問題の原因となる可能性があります。 – kingcoyote
'mysql_num_rows()'の前に何が起こりますか? –
私はこの部分をここで更新しました.. TQ – henrykwl