1

私の iPhone 3GS では問題なく動作しますが、iPhone 4 以降を使用している何人かの従業員は、ログイン資格情報が $_SESSION に保存されていないため、サファリ経由で私のサイトにログインできません。Chrome を自分の携帯電話にダウンロードすると機能します。

これを機能させる方法はありますか?

ユーザーがログインを試みると、最初に認証情報が正確であることが検証され、認証されると次の宛先に送信されます。

validate_login.php

<?php
session_start();

// sent from the login form
// employee id and username
$employeeId = $_POST['employee_id'];
$password = $_POST['password'];

//make connection to database, bail if no connection
$connection = odbc_pconnect('workorders','','');
if (!$connection) { exit("Connection Failed: " . $connection); }

//retrieve usernames and passwords
$sql = "SELECT * FROM LoginTable WHERE EmployeeID='$employeeId' and Password='$password'";
$rs = odbc_exec($connection, $sql);
if (!$rs) { exit("Error in SQL"); }

if(odbc_fetch_row($rs)) {
    // register employeeId and password in session cookie and redirect to homepage
    $_SESSION['employee_id'] = $employeeId;
    header("location:../../home.php");
}
else {
    header("location:../../login.php?error=0");
}

//close connection
odbc_close($connection);

?>

これはあなたができる限り簡単です...なぜそれが機能しないのでしょうか?ログインしているすべてのページの上部でチェックを行うと、次のようになります。

<?php
session_start();

//validate user logged in; if not, redirect to login
if(!isset($_SESSION['employee_id'])){
    header("location:login.php");
}

?>

ログインしていないと判断し、login.php に戻します。

繰り返しますが、これは私が知る限り、新しい iPhone の Safari の問題です。提案?

4

0 に答える 0