它在我的 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 上的一个问题。建议?