Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP-会话';它不工作了-Safari_Php_Mysql_Session_Safari - Fatal编程技术网

PHP-会话';它不工作了-Safari

PHP-会话';它不工作了-Safari,php,mysql,session,safari,Php,Mysql,Session,Safari,所以,我有一个登录脚本。它做一个简单的工作并创建一个会话(如果正确的话)。出于某种原因,除了Safari之外,它在所有浏览器中都能工作 代码: 上面的代码是用于获取数据并查看数据是否正确的函数 调用它并通过执行以下操作检查登录数据:user\u login($username='admin',$password='123') 如果正确,则保存一个会话。否则返回false 正如我所说的,除了Safari之外,所有浏览器都可以这样做。我在这里发现的其他问题都没有帮助。这些都是常见的错误,比如缺少ex

所以,我有一个登录脚本。它做一个简单的工作并创建一个会话(如果正确的话)。出于某种原因,除了Safari之外,它在所有浏览器中都能工作

代码:

上面的代码是用于获取数据并查看数据是否正确的函数

调用它并通过执行以下操作检查登录数据:
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;

}