PHP-会话';它不工作了-Safari
所以,我有一个登录脚本。它做一个简单的工作并创建一个会话(如果正确的话)。出于某种原因,除了Safari之外,它在所有浏览器中都能工作 代码: 上面的代码是用于获取数据并查看数据是否正确的函数 调用它并通过执行以下操作检查登录数据:PHP-会话';它不工作了-Safari,php,mysql,session,safari,Php,Mysql,Session,Safari,所以,我有一个登录脚本。它做一个简单的工作并创建一个会话(如果正确的话)。出于某种原因,除了Safari之外,它在所有浏览器中都能工作 代码: 上面的代码是用于获取数据并查看数据是否正确的函数 调用它并通过执行以下操作检查登录数据:user\u login($username='admin',$password='123') 如果正确,则保存一个会话。否则返回false 正如我所说的,除了Safari之外,所有浏览器都可以这样做。我在这里发现的其他问题都没有帮助。这些都是常见的错误,比如缺少ex
user\u login($username='admin',$password='123')代码>
如果正确,则保存一个会话。否则返回false
正如我所说的,除了Safari之外,所有浏览器都可以这样做。我在这里发现的其他问题都没有帮助。这些都是常见的错误,比如缺少exit()、逗号、e.t.c
我感谢你的帮助 我在任何地方都看不到会话\u start()。。始终提供证据证明它存在,否则你会被否决,并且你的问题没有好的答案。是的,它就在那里,我上面的代码只是使用的主要代码。@johncode
//Create a new function named fetch;
function fetch($sql = false,$bind = false,$obj = false) {
//Prepare The SQL Query;
$query = Connect()->prepare($sql);
//Execute Binded Query;
$query->execute($bind);
//While Fetching Results;
while($result = $query->fetch(PDO::FETCH_ASSOC)) {
//Add a row to the results respectiveley;
$row[] = $result;
}
//If there are no rows;
if(!empty($row)) {
//Make it an object;
$row = ($obj)? (object) $row : $row;
} else {
//Else row is false;
$row = false;
}
//If no errors happened Make $row true;
return $row;
}
//Create a new function named user_login;
function user_login($username = false, $password = false) {
//Fetch for the username and password applied;
$st = fetch("SELECT username,password,email,image FROM users WHERE username = :username",array(":username"=>$username));
//If a row was found continue
if($st != 0) {
$storedhash = $st[0]['password'];
if (password_verify($password, $storedhash)) {
//Set a new username session and set it the username;
$_SESSION['username'] = $username;
$_SESSION['email'] = $st[0]['email'];
$_SESSION['image'] = $st[0]['image'];
if($username == 'admin') {
$_SESSION['role'] = 'admin';
} else {
$_SESSION['role'] = 'user';
}
}
}
//If no errors happened Make the $valid true;
return true;
$dontaddtry = true;
}