Hirdetés

Keresés

Új hozzászólás Aktív témák

  • Sk8erPeter

    nagyúr

    válasz Sk8erPeter #9158 üzenetére

    Amúgy attól függ, mit küldesz PHP felől.
    Példa:
    test.php

    <?php

    $response = array();
    $response['user_exists'] = TRUE;
    $response['pass_ok'] = TRUE;
    $response['auth_ok'] = TRUE;
    $response['auth_ok_2'] = 'true';

    echo json_encode($response);

    erre a response pedig (a data objektumban) ez lesz a fentebbi módszerrel:

    {"user_exists":true,"pass_ok":true,"auth_ok":true,"auth_ok_2":"true"}

    Ebből jól látható, hogy a
    (data.auth_ok == true)
    igaz lesz, a
    (data.auth_ok == 'true') hamis,
    aztán a _2-nél pedig fordítva:
    (data.auth_ok_2 == true)
    hamis
    (data.auth_ok_2 == 'true')
    igaz.

    Jim-Y: azt javaslom egyébként, hogy használd a console.log()-ot, ez mondjuk IE-nél nem működik, ha nincs megnyitva a fejlesztőkonzol (értelemszerűen régebbiekben, ahol ez még nincs is, még annyira sem működik), de Chrome-nál nagyon szépen kiíratja az értékeket (meg Firebugban is jó), egyszerű példa:

    $.post('ajax/test.html', function(data) {
    console.log('data after POSTing:');
    console.log(data);
    $('.result').html(data);
    });

  • Jim-Y

    veterán

    válasz Sk8erPeter #9158 üzenetére

    Ezeket én is kipróbáltam, volt, hogy a php-ban "true", tehát string értékeket tároltam, és olyan is volt, hogy boolean-ként adtam tovább, de úgy sem ment, most szuper minden, így oldottam meg végül:

    javascript:

    $(document).ready(function(){
    $("#form_container").hide();
    $("#content :button").click(function(){
    $('#result_container').hide();
    $.post('http://localhost/wimyn/server.php/', { phpaction: form.action.value}, function(data){
    $('#result_container').html(data).fadeIn(1000);
    });
    });

    // events
    $("#auth_container").bind("keyup",function(){
    if ($("#username").val() !== "" && $("#password").val() !== "") {
    $("#auth_container :button").show();
    }
    });

    // input "hide"
    $("#username,#password").bind("click",function(){
    $(this).val("");
    });

    // handle input
    $("#password").bind("keydown",function(e){
    var code = (e.keyCode || e.which);
    if(code == 13) {
    $("#login").trigger("click");
    }
    });

    // login
    $("#login").click(function(){
    $.post('http://localhost/wimyn/login.php/', { user: auth.username.value, pass: auth.password.value }, function(data){
    if(data == "success"){
    $("#form_container").fadeIn(1000);
    } else if(data == "incorrect_pass"){
    $("#password").val("Invalid password!");
    } else if(data == "no_such_user"){
    $("#username").val("Invalid username!");
    $("#password").val("");
    } else {
    alert("Hiba az autentikáció során.");
    }
    });
    });
    });

    php:

    <?php
    include("mysql_connect.php");

    $user = mysql_real_escape_string($_POST['user']);
    $pass = mysql_real_escape_string($_POST['pass']);
    $cc = "";
    $pass_query = mysql_query("SELECT password FROM test.login WHERE username='$user'");
    $pass_query_rows = mysql_num_rows($pass_query);
    if($pass_query_rows >= 1) {
    $response['user_exist']="true";
    if(md5($pass)==$pass_query){
    $cc = "success";
    } else {
    $cc = "incorrect_pass";
    }
    } else {
    $cc = "no_such_user";
    }
    //echo mysql_result($pass_query,0);
    echo $cc;

Új hozzászólás Aktív témák