Мой логин jquery неправильно вызывает php-файл - PullRequest
0 голосов
/ 14 марта 2012

Эй, я пытаюсь написать код для системы входа в систему, это мой первый раз, и я использовал учебник в Интернете. Исходный Javascript работает нормально, и ошибки появляются, когда входные данные остаются пустыми. Однако, когда я ввожу текст в поля ввода и нажимаю кнопку «Войти», ничего не происходит. Мне кажется, что он не вызывает файл PHP, но я не вижу никакой причины, почему это не так, как на него ссылаются правильно? Любая помощь будет принята с благодарностью!

<?php
    include ("Includes/dbConnect.php");
    $u=$_POST['u'];
    $p=$_POST['p'];

    //Strip slashes
    $u = stripslashes($u);
    $p = stripslashes($p);

    //Strip tags 
    $u = strip_tags($u);
    $p = strip_tags($p);


    $check = mysqli_query("SELECT * FROM Login WHERE login_user ='$u' AND login_pass='$p'")      or die(mysqli_error());
    $check = mysqli_num_rows($check);
    if($check !=="0"){
    $results = mysqli_query("SELECT * FROM Login WHERE login_user = '$u'") or die(mysqli_error());
        while ($row = mysqli_fetch_assoc($results)) {
            $login_user=$row['login_user'];
            session_register('login_user');
            $_SESSION['login_user'] = $Login_user;
            echo "1";
    }
    }
?>

и вот javascript

<script type="text/javascript">
    $(document).ready(function () {
        $(".sign_b_btn").live("click", function () {
            var u = $("#u").val();
            var p = $("#p").val();

            if (u == "") {
                $("#u").css("border-color", "red");
                $("#un").css("color", "red");
                $(".error").show().html("Please enter your username!");
                $("#p").css("border-color", "#606060");
                $("#up").css("color", "#333333");
            } else if (p == "") {
                $("#u").css("border-color", "#606060");
                $("#un").css("color", "#606060");
                $(".error").show().html("Please enter your Password!");
                $("#p").css("border-color", "red");
                $("#up").css("color", "red");
            } else {

                dataString = 'u=' + u + '&p=' + p;
                $.ajax({
                    type: "POST",
                    url: "Ajax/login_php.php",
                    data: dataString,
                    cache: false,
                    success: function (html) {
                        if (html == "") {
                            $(".error").show().html("The username or password you entered is incorrect!");
                            $("#p,#u").css("border-color", "red");
                            $("#up,#un").css("color", "red");
                        } else if (html == "1") {
                            $(".error").fadeOut(1000);
                            $("#u").css("border-color", "#606060");
                            $("#un").css("color", "#333333");
                            $("#p").css("border-color", "#606060");
                            $("#up").css("color", "#333333");
                            $(".center").animate({
                                opacity: 0.25,
                                left: '+=900',
                                height: 'toggle'
                            }, 5000, function () {
                                $(".done").slideDown(200).html("Welcome " + u);
                                setTimeout(function () {
                                    var u = $("#u").val("");
                                    var p = $("#p").val("");
                                    window.location = "index.php";
                                }, 5000);
                            });
                        }
                    }
                });
            }
        });
    });
</script>

Ответы [ 2 ]

0 голосов
/ 20 марта 2012

спасибо за помощь, ребята, очень помогли мне разобраться. Готовый код, если кто-то заинтересован:

<?php

include ("../Includes/dbConnect.php");
$u=$_POST['u'];
$p=$_POST['p'];

//Strip slashes
$u = stripslashes($u);
$p = stripslashes($p);

//Strip tags 
$u = strip_tags($u);
$p = strip_tags($p);



$query = "SELECT * FROM Login WHERE login_user ='$u' AND login_pass='$p'";
$check = mysqli_query($cxn,$query) or die("Couldn't execute query!");
$check = mysqli_num_rows($check);
if($check !=="0"){
$results = mysqli_query($cxn,"SELECT * FROM Login WHERE login_user = '$u' AND login_pass='$p'") or die("Couldn't execute query2!");
    while ($row = mysqli_fetch_assoc($results)) {
        $username= $u;
        session_register('Login');
        $_SESSION['user'] = $username;
        echo "1";
}
}


?>
0 голосов
/ 16 марта 2012

Ответ на вашу проблему сеанса:

отредактируйте ваш php-код так, чтобы ваш скрипт начинался с вызова session_start ();

например:

<?php session_start();
 //rest of your php code

замените строки:

session_register('login_user');
$_SESSION['login_user'] = $Login_user;

на:

$_SESSION['login_user'] = $Login_user;

Вы получили сообщение об ошибке, которое вы упомянули, потому что функция session_register ();устарел в PHP версии 5.3.0 и УДАЛЕН из PHP версии 5.4.0.$ _SESSION - это глобальный массив, который доступен для вас после session_start ();вызов.

Удачного программирования:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...