1

它在我的 iPhone 3GS 上工作得很好,但是一些使用 iPhone 4 及更高版本的员工无法通过 safari 登录我的网站,因为他们的登录凭据没有保存到 $_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