Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it L'avatar di lukezz
    Registrato dal
    Feb 2010
    Messaggi
    494

    Jquery non riesce a inviare a php

    Salve a tutti, ho scaricato un template per amministrazione, originalmente nella pagina login.php è un file jquery che prende i dati dal form e li invia ad un'altra pagina che si connette al db e da un risultato.
    Bando alle ciance.

    login.php:
    codice HTML:
    <form method="post" role="form" id="form_login">
                                    <div class="form-group">
                                            <div class="input-group">
                            <div class="input-group-addon">
                                <i class="entypo-user"></i>
                            </div>
    <input type="text" class="form-control" name="username" id="username" placeholder="Username" autocomplete="off" />
                        </div>
                                        </div>
                                    <div class="form-group">
                                            <div class="input-group">
                            <div class="input-group-addon">
                                <i class="entypo-key"></i>
                            </div>
    <input type="password" class="form-control" name="password" id="password" placeholder="Password" autocomplete="off" />
                        </div>
                                    </div>
                                    <div class="form-group">
                        <button type="submit" class="btn btn-primary btn-block btn-login">
                            <i class="entypo-login"></i>
                            Login In                    </button> 
                   </div>       
                                     </form>
    
    <script src="<?php echo ADMIN_URL; ?>assets/js/neon-login.js"></script>
    neon-login.js:
    codice HTML:
    var neonLogin = neonLogin || {};
    ;(function($, window, undefined){ 
       "use strict";  
          $(document).ready(function()    { 
           neonLogin.$container = $("#form_login"); 
                           // Login Form & Validation
            neonLogin.$container.validate({ 
               rules: { 
                  username: { 
                       required: true
                        },
                                    password: {
                        required: true 
                   },
                                },
                            highlight: function(element){
      $(element).closest('.input-group').addClass('validate-has-error'); 
               },
                            unhighlight: function(element) { 
                   $(element).closest('.input-group').removeClass('validate-has-error');
                }, 
                           submitHandler: function(ev) 
               { 
                   /* Login form now processes the login data */
                                    $(".login-page").addClass('logging-in');
     // This will hide the login form and init the progress bar
    // Hide Errors 
                   $(".form-login-error").slideUp('fast');
                    // We will wait till the transition ends
                                    setTimeout(function()
                    { 
                       var random_pct = 25 + Math.round(Math.random() * 30);
                                            // The form data are subbmitted, we can forward the progress to 70%
                        neonLogin.setPercentage(40 + random_pct);
                                                                    // Send data to the server
                        $.ajax({
                            url: 'heart/RYVAjax.php',
                            method: 'POST',
                            dataType: 'json',
                            data: { 
                               username: $("input#username").val(),
                               password: $("input#password").val(),
                            },
                            success: function(response)
                            {
                                // Login status [success|invalid]
                                var login_status = response.login_status;
    // Form is fully completed, we update the percentage
                                neonLogin.setPercentage(100);                                                                           // We will give some time for the animation to finish, then execute the following procedures
                                    setTimeout(function()
                                {
                                    // If login is invalid, we store the 
                                    if(login_status == 'true')
                                    {
                                        window.location = "index.php";
                                    }
                                    else
                                                                    {
                                        // Redirect to login page
                                        setTimeout(function()
                                        { 
                                        $(".login-page").removeClass('logging-in');
                                        neonLogin.resetProgressBar(true);
                                        }, 400);
                                    }
                                                                },1000);
                            } 
                       }); 
                                                               }, 650);
                }
            });
    RYVAjax.php
    Codice PHP:
    $action $_POST['action'];
    switch (
    $action) {
        case 
    'checkLogin':
            
    $logged $login->userLogin($_POST['username'], $_POST['password']);
            if(
    $logged === true)
            echo 
    json_encode("true");
            break; 

    RYVAjax.php fa il controllo su un altro file che si connette al db ecc, quindi se logged is true mi restituisce true

    Se provo a fare il login su login.php mi carica la barra fino al 70% e si blocca non mi da ne l'errore ne niente.

    Grazie anticipatamente.

    Mi scuso per il codice disordinato ma non riesco a sistemarlo.
    Ultima modifica di lukezz; 06-12-2014 a 20:17

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,131
    Quote Originariamente inviata da lukezz Visualizza il messaggio
    Mi scuso per il codice disordinato ma non riesco a sistemarlo.
    Prova a togliere tutti gli spazi e dare un invio ad ogni ; (fine riga) più il codice è difficile da leggere meno risposte avrai
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it L'avatar di lukezz
    Registrato dal
    Feb 2010
    Messaggi
    494
    Sistemato, grazie ^^

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,131
    Quote Originariamente inviata da lukezz Visualizza il messaggio
    Se provo a fare il login su login.php mi carica la barra fino al 70% e si blocca non mi da ne l'errore ne niente.
    - Vorresti fare un login con barra progressiva?
    - Hai almeno identificato dove potrebbe essere il problema se php o ajax?
    - Eseguendo l'operazione senza ajax funziona?
    - La console del browser da errori?
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    Utente di HTML.it L'avatar di lukezz
    Registrato dal
    Feb 2010
    Messaggi
    494
    - Il template che ho scaricato è questo http://demo.neontheme.com/extra/login/ (ha già la barra progessiva)
    - Il problema è quasi al 100% ajax
    - Senza ajax funziona
    - La console non da errori

  6. #6
    Utente di HTML.it L'avatar di lukezz
    Registrato dal
    Feb 2010
    Messaggi
    494
    Sul template che ho scaricato mi dava un esempio di php per processare i dati

    esempio.php:
    Codice PHP:
    <?php
    /* 
    Sample Processing of Forgot password form via ajax    Page: extra-register.html
    */
    # Response Data Array
    $resp = array();

    // Fields Submitted
    $username $_POST["username"];$password $_POST["password"];

    // This array of data is returned for demo purpose, see assets/js/neon-forgotpassword.js
    $resp['submitted_data'] = $_POST;

    // Login success or invalid login data [success|invalid]
    // Your code will decide if username and password are correct
    $login_status 'invalid';
    if(
    $username == 'demo' && $password == 'demo')
    {    
    $login_status 'success';}
    $resp['login_status'] = $login_status;

    // Login Success URL
    if($login_status == 'success')
    {   
    // If you validate the user you may set the user cookies/sessions here
    #setcookie("logged_in", "user_id");       
    #$_SESSION["logged_user"] = "user_id";       
    // Set the redirect url after successful login   
    $resp['redirect_url'] = '';}

    echo 
    json_encode($resp);
    Quello che ho fatto io invece è molto di verso, perchè sto usando le sessioni.
    Ultima modifica di lukezz; 06-12-2014 a 20:51

  7. #7
    Utente di HTML.it L'avatar di lukezz
    Registrato dal
    Feb 2010
    Messaggi
    494
    Potrebbe essere quel json?

  8. #8
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    ma il codice che stai usando è quello di RYVAjax.php?
    perché per prima cosa ti manca un input di nome "action"...

    il json lo restituisci ad ajax, da qualche parte dovresti avere una funzione che gestisce l'output json e fa qualcosa (potrebbe chiamarsi "response" tale funzione)

  9. #9
    Utente di HTML.it L'avatar di lukezz
    Registrato dal
    Feb 2010
    Messaggi
    494
    Si il codice che uso io è su RYVAjax.php

    Qui c'è l'input output:

    Codice PHP:
    $action $_POST['action'];
    switch (
    $action) {
        case 
    'checkLogin':
            
    $logged $login->userLogin($_POST['username'], $_POST['password']);
            if(
    $logged === true)
            echo 
    json_encode("true");
            break; 
    Che lo richiamo dal file neon-login.js:

    codice HTML:
    $.ajax({
                            url: 'RYVAjax.php',
                            method: 'POST',
                            dataType: 'json',
                            data: {
                                action: "checkLogin",
                                username: $("input#username").val(),
                                password: $("input#password").val(),
                            },
                            success: function(response)
                            {                            
    // Login status [success|invalid]
                                var login_status = response.login_status;
    Ultima modifica di lukezz; 09-12-2014 a 18:09

  10. #10
    Utente di HTML.it L'avatar di lukezz
    Registrato dal
    Feb 2010
    Messaggi
    494
    Ho corretto:

    codice HTML:
    $.ajax({
                            url: 'RYVAjax.php',
                            type: 'POST',
                            data: {
                                action  : "checkLogin",
                                username: $("input#username").val(),
                                password: $("input#password").val(),
                                id : {
                                    username: $("input#username").val(),
                                    password:$("input#password").val()
                                } 
                                                       },
                            success: function(result)
                            {
                                                         neonLogin.setPercentage(100);
      setTimeout(function() 
                               {
                                                                    if(result == 'true') 
                                   {
                                        window.location = "index.php";
                                    }                                
    Cosi riesce a caricare ma ovviamente mi da invalid login, mi sa che passo i dati in maniera errata
    Ultima modifica di lukezz; 09-12-2014 a 19:49

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.