Keresés

Hirdetés

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

  • Randomized

    csendes tag

    Sziasztok!
    Egy kis segítségre lenne szükségem jQuery-AJAX-PHP kombinációban, remélem jó helyen járok. :D
    Szóval fejlesztek egy weboldalt, minden okénak tűnt. Windows-on tesztelem XAMPP programcsomaggal, localhost-on szoktam tesztelni. Megpróbáltam havernak megmutatni, hogy tesztelje le a dolgokat, hátha talál benne hibát, de neki nem volt jó egy része (mindjárt írok részleteket is). Szóval megpróbáltam én is, nálam jó volt (megint csak localhoston próbáltam). Utána megpróbáltam én is úgy, hogy beírtam az IP-címemet, azzal nekem sem volt jó.

    Egy olyan dolgot akartam megcsinálni, hogy például regisztrációkor a script elküldi a form tartalmát egy PHP-nak, ami feldolgozza az adatokat, és értesíti a felhasználót az oldal újratöltése nélkül az eredményről.
    Bejelentkezésnél is hasonló a helyzet. Kiírja, hogy sikerült bejelentkezni, de mégsem működik a dolog.

    $_SESSION-al oldanám meg, ha ez számít.

    Tehát ha "localhost" címen próbálkozok, akkor jó, de ha bármilyen IP-címen próbálkozok (pl. 127.0.0.1, 192.168.1.109) akkor a PHP-tól megkapja a választ, a php temp mappájában látszik is, hogy létrehozza a session adatait tároló fájlt, megnyitom és valóban benne vannak, a dolgok, amiknek ott kell lenniük.

    Remélem valaki tudja, hogy miért csak akkor működik, ha localhoston nyitom meg az oldalt. Előre is köszi a segítséget :)

  • Randomized

    csendes tag

    válasz martonx #3283 üzenetére

    Remélem tudsz olvasni, és észre vetted, hogy azzal kezdtem, hogy "emélem jó helyen járok." :)
    Egyébként azért gondoltam, hogy ide tartozik, mert a PHP résszel nincs gondom, a jQuery-ben nem vagyok biztos. De a kedvedért átírom oda is. :)

  • Randomized

    csendes tag

    válasz Sk8erPeter #3285 üzenetére

    Script:
    $(document).ready(function(){
    var alert = $('#alert');

    $("form:not('#regis'):not('#ranglista')").submit(function(e){
    e.preventDefault();
    var triggeredform = $(this);
    $.ajax({
    type: 'POST',
    url: pageurl+$(this).attr('action'),
    data: $(this).serialize(),
    dataType: 'json',
    encode: true
    })
    .done(function(data){
    console.log(data);

    if(!data.success){
    //Ha nem sikerül
    var errormessage = '';
    $.each(data.errors,function(index,value){
    errormessage = errormessage + value + '<br/>';
    })
    alert.css("background","#990000").html(errormessage).fadeTo(500,0.8).delay(3000).fadeOut();
    }
    else
    {
    //Ha sikerül
    alert.css("background","#00FF00").html(data.message).fadeIn().delay(2500).fadeOut();
    console.log(this);
    // triggeredform.fadeOut();
    if(data.reload == true)
    {
    window.setTimeout(function(){
    window.location.href = pageurl+data.tourl;
    },data.timeout * 1000)
    }
    }



    }).fail(function(data){
    alert.css("background","#FF0000").html("Szerver oldali hiba").fadeTo(500,0.8).delay(5000).fadeOut();
    });

    });


    });

    Feldolgozó PHP:
    <?php

    error_reporting(0);

    require("config.php");
    require("functions.php");
    session_name("MyHomePage");
    session_start();
    $conn = mysqli_connect($conf_host, $conf_user, $conf_password);
    $errors = array();
    $data = array();

    if(empty($_POST['userid']))
    {
    $errors['user'] = 'Nem adtál meg felhasználó nevet!';
    }

    if(empty($_POST['userpass']))
    {
    $errors['pass'] = 'Nem adtál meg jelszót!';
    }

    if(!isset($errors['user']) && !isset($errors['userpass']))
    {
    $user = mysqli_real_escape_string($conn,$_POST['userid']);
    $pass = mysqli_real_escape_string($conn,$_POST['userpass']);
    $query = mysqli_query($conn,"SELECT * FROM hp.users WHERE name LIKE '$user' AND password=PASSWORD('$pass') LIMIT 1");
    if(mysqli_num_rows($query) != 1)
    {
    $errors['login'] = 'Hibás felhasználó név vagy jelszó!';
    }
    }

    if(!empty($errors))
    {
    $data['success'] = false;
    $data['errors'] = $errors;
    }
    else
    {
    $userinfo = mysqli_fetch_object($query);
    $_SESSION['user_id'] = $userinfo->id;
    $_SESSION['user_name'] = $userinfo->name;
    $_SESSION['user_rank'] = $userinfo->rank;
    $data['success'] = true;
    $data['message'] = "Sikeres bejelentkezés!";
    $data['reload'] = true;
    $data['tourl'] = "/?oldal=felhasznalo";
    $data['timeout'] = 0.5;

    }

    echo json_encode($data);
    ?>

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