私のウェブサイトにはログインページがあります。私のコンピュータではSafariとChromeの両方で動作しますが、iPhoneでは動作しません。何が間違っているかを確認するためにいくつかのコードを試してみました。セッションはSafariで動作していません。私がやっていることは、一度ログインすれば、彼らのセッションは$_SESSION['logged'] = true;
で、アカウントページにリダイレクトされます。私はクッキーを受け入れています。どんな助けもありがとうございます。ありがとうiPhoneで動作しないセッション(Safari、Chrome)
<?php
session_start();
$db = mysqli_connect(#,#,#,#);
if (isset($_POST['submit'])) {
$username = mysqli_real_escape_string($db, $_POST['username']);
$password = mysqli_real_escape_string($db, $_POST['password']);
$sql = "SELECT * FROM users WHERE username='$username' AND password='$password'";
$result = mysqli_query($db, $sql);
if (mysqli_num_rows($result) == 1) {
$_SESSION['username'] = $username;
$_SESSION['logged'] = true;
echo '<script type="text/javascript">
window.location = "http://example.com/index.php?page=account"
</script>';
} else {
echo '<script>';
echo "Alert.render('Incorrect Username or Password.');";
echo '</script>';
}
}
?>
これは、あなたが http://stackoverflow.com/questions/41787597/sessions-not-working-in-safari どのようにこのサイトをホストしていると、上のサイトを立ち上げ、ここで求めたものと類似の質問のようですあなたのデスクトップ対あなたのiPhone? AWS上のプライベートDNSでホストされているのですか、または誰でもアクセスできるようになっていますか、またはネットワーク内のローカルマシン上でホストされていますか? また、完全なセッションの詳細とフォームの詳細(パスワードやコンテンツのハッシュを保つことができます)をvar_dump()することができますか? – Dom
@DomDaFonte私は自分の質問にセッションの詳細を入れました。パブリックアクセスのため、ネットワーク上のローカルマシン上でホストされていません。 –
@DomDaFonteまた、var_dump()を実行すると、window.locationを無効にしたときにbool(true)と表示されます。 –