【问题标题】:How to create sessions using PHP?如何使用 PHP 创建会话?
【发布时间】:2011-07-08 15:32:05
【问题描述】:

我正在android上开发一个应用程序,它有一个Web服务器和一个MySQL数据库。

数据库包含用户名和密码。

我想使用 PHP 实现登录过程并在 android 设备和 web 服务器之间建立会话。

提前谢谢...

【问题讨论】:

    标签: php database session


    【解决方案1】:

    好的...所以对于登录操作,您可以使用...

    session_start();
    
    if(isLoginCorrect())
    {
        $_SESSION['logged_in'] = true;
    }
    

    其中 isLoginCorrect 是一个验证用户名和密码是否正确的函数。 然后你可以在你的模板文件中有一些逻辑,比如这样的东西......

    <?php if($_SESSION['logged_in']): ?>
        You are logged in
    <?php else: ?>
        You aren't logged in
    <?php endif; ?>
    

    然后可以使用 session_destroy() 或 unset($_SESSION['logged_in']);

    注销

    【讨论】:

    【解决方案2】:

    从您的问题看来,您似乎只是想知道如何在 php、android 中执行此操作。您需要将用户和密码(散列)存储在您的数据库中,例如当用户向您注册帐户时。

    session_start(); //Start the session.  Call on every page that will have the login.
    $login = $_POST['login'];
    $pass = $_POST['pass'];  //Get login and password the user has sent.
    
    if (is_valid_user($login, $pass)) {
       //If user is valid, pass them along to the next page.
       $_SESSION['logged_in_user'] = $login; //Keep track of the username in the session
    }
    else echo "Not a valid login";
    

    【讨论】:

    • 您是说您不需要在 Android 端使用 cookie 或其他任何东西来维护此 PHP 会话吗?向服务器执行 http 请求,然后创建会话。那么后续向服务器发出的所有http请求都会自动使用同一个会话?
    • @Jakobud 通常是的,PHP 会自动发出 cookie。如果用户禁用了 cookie,您只需要担心它。然后由您决定是否要使用 GET 维护会话,更重要的是,您需要在重定向之间保留 SID。我认为现在禁用 cookie 非常罕见。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-25
    • 2011-01-16
    • 1970-01-01
    相关资源
    最近更新 更多