使用php中的Sessions识别用户页面中的用户

时间:2012-06-21 22:51:07

标签: php session

希望这个董事会的一个简单问题。另外,请记住,我是初学者。所以,如果我有一些巨大的步骤,请告诉我。

我想要做的是设置一个用户页面,以便在用户输入登录页面后识别用户的电子邮件。正如您将看到的,我正在使用FatCow托管,并编辑了我的密码/用户名和任何其他个人数据。这是我的代码,非常感谢您的帮助:

登录页面

<?php

if(isset($_REQUEST['submitted'])) {

    $email = $_POST['email'];
    $password = $_POST['password'];

    $link = mysql_connect('root.fatcowmysql.com', 'username', 'password'); 
    if (!$link) { 
        die('Could not connect: ' . mysql_error()); 
    } 

    if ($email&&$password) 
    { 
        mysql_select_db(lcmembership); 

        $query = mysql_query("SELECT * FROM users WHERE email='$email' && password='$password'");

        $numrows = mysql_num_rows($query);

        if($numrows !=0)
        {
            session_save_path('/home/users/web/b2582/username/phpsessions'); 
            session_start();
            $_SESSION['users'] = "test";
            header("location: users.php");
        }
        else
            echo ("<p style='position: absolute; left: 500px; top: 150px; font-family: arial;color: white; background-color: #F1433F; border-radius: 10px; padding: 10px;'>That email address doesn't exist in our records. </p>");
        }
    } 
    else
    {
        echo ("<p style='position: absolute; left: 500px; top: 150px; font-family: arial;color: white; background-color: #F1433F; border-radius: 10px; padding: 10px; '>Incorrect Password. </p>");
    }
}
?>
<html>Form here with Action="" and Method="Post"</html>

用户页面

<?php
session_start();
echo $_SESSION['users'];
?>

1 个答案:

答案 0 :(得分:0)

如果您设置自定义session_save_path(),那么您还需要在其他页面上调出它。该方法既是getter又是setter。

因此,在您的用户页面上,您需要以下内容:

<?php
    session_save_path(); // Get session path
    session_start(); // Resume session
    echo $_SESSION['users'];
?>

此外,你需要纠正你的其他逻辑。在一个if链中有两个else语句。如果是第一个,则需要执行其他操作,然后您可以使用else默认结束。就个人而言,我会在您的代码中进一步移动电子邮件和密码逻辑。现在基于MySQL查询只查找两者匹配的记录这一事实,它是多余的。