php用户登录系统

标签 php mysql session authentication

到目前为止,我已成功注册成员(member),但无法使用其中任何一个登录。它不会在标题上写用户名。即使我已经登录,也只是说“欢迎客人”。我不知道问题是否出在 session 上。

login.php

session_start();
include ("connection.php");

if(isset($_POST["username"], $_POST["pw"])){

$username = mysql_real_escape_string($_POST["username"]);
$pw = mysql_real_escape_string(md5($_POST["pw"]));

$sql = mysql_query("SELECT * FROM uye WHERE kullanici_adi = '$username' AND sifre = '$pw'");

if(mysql_num_rows($sql) == 1){

    $_SESSION["loggedIn"] = 1;
    $_SESSION["username"] = $username;
}
else{
    $_SESSION["loggedIn"] = "";
}
}

loginValidation.js

$(document).ready(function(){

var form = $("#loginForm");

$("#loginButton").click(function(){

    form.validate({

       rules:{
           loginUsername:{
               required: true
           },
           loginPassword:{
               required: true
           }
       },
        messages:{
            loginUsername:{
                required: "Lütfen kullanıcı adınızı giriniz."
            },
            loginPassword:{
                required: "Lütfen şifrenizi giriniz."
            }
        },
        highlight: function(element) {
            $(element).closest('.form-group').addClass('has-error');
        },
        unhighlight: function(element) {
            $(element).closest('.form-group').removeClass('has-error').addClass('has-success');
        }
    });

    var username = $("#loginUsername").val();
    var pw = $("#loginPassword").val();

    $.ajax({
        type: "post",
        url: "login.php",
        data: "username=" + username + "&pw=" + pw
    });

    if(form.valid() == true){

        form.submit();
    }
});
});

header.php

if (isset($_SESSION['loggedIn'], $_SESSION['username']) && $_SESSION['loggedIn'] == 1) {

    session_start();
    echo "Hoşgeldin" . $_SESSION['username'] . "!";
}
else{
    echo "Hoşgeldin Ziyaretçi";
}

最佳答案

您必须将 session_start(); 放在 header.php 文件的顶部。

session_start();
if (isset($_SESSION['loggedIn'], $_SESSION['username']) && $_SESSION['loggedIn'] == 1) {
    echo "Hoşgeldin" . $_SESSION['username'] . "!";
}
else{
    echo "Hoşgeldin Ziyaretçi";
}

关于php用户登录系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21547404/

相关文章:

php - 如何在 PHPUnit 中 stub 更复杂的方法

mysql - 如何在MySQL中加载文件

python - 在 django.test.client 中保留 session ID

java - 新 session 是在 Applet 和托管 bean 的连续 servlet 请求之间创建的吗?

php - 为什么要编译 PHP 文件?

PHP Mongo 查询不为空

php - 无法显示 MySQL 表中的数据

java - 有什么方法可以在tomcat中的不同应用程序之间共享 session 状态?

PHP:将数组数据插入 MySQL 数据库

php - MySQL 上的多个 INSERT/UPDATE