Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2008
    Messaggi
    24

    Problemi Per Ajax Con Xampp

    Salve,
    prima di tutto faccio le mie scuse se questo mio post è nella sezione sbagliata. Ho da poco installato XAMPP per inziare a lavorare in PHP e mysql. Di recente ho deciso di affacciarmi alla tecnologia AJAX. A questo proposito (giusto per iniziare) ho deciso di approcciarmi a questa tecnologia tramite un semplice pocket. Il problema che sto riscontrando è il seguente:
    ho a che fare con um modulo di autentificazione che non esegue l'invio del modolo al clic ma viene intercettato dal gestore dell'evento associato ad onclick (come sotto indicato):

    function valida() {
    var oXHR = new XMLHttpRequest();

    oXHR.open("post", "login.php", true );
    oXHR.setRequestHeader("Content-type", "application/x-www-form-urlencoded");

    oXHR.onreadystatechange = function() {
    if (oXHR.readyState == 4) {
    var message = document.getElementById("message");

    if (oXHR.responseText == 'OK') {
    message.innerHTML = "<h1>Benvenuto!</h1>";
    } else {
    message.innerHTML = "<h1>Tu non puoi entrare!</h1>";
    }
    }
    }

    var params = "utente=" + encodeURIComponent(document.forms[0].utente.value) +
    "&password=" + encodeURIComponent(document.forms[0].password.value);

    oXHR.send(params);
    }

    La pagina login.php fà i dovuti controlli confrontando i dati inseriti nel modulo con i dati che sono in un file. I dati l'inserisco correttamente solo che non si verifica mai la condizione
    if (oXHR.responseText == 'OK') {
    message.innerHTML = "<h1>Benvenuto!</h1>";
    }
    e quindi nel div dall'id message viene stampato "Tu non puoi entrare". Siccome non penso che gli autori del pocket abbiano sbagliato a scrivere gli script secondo voi devo fare qualche impostazione in xampp... Scusatemi per la mia ignoranza e vi ringrazio anticipatamente per aver preso in considerazione questo mio post.

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Con che browser lo testi, per ie devi usare new ActiveXObject("MSXML2.XMLHTTP") al posto di new XMLHttpRequest() pertanto devi rilevare il browser, non usare password come nome del campo (parola riservata), per ultimo php ti stampa solo ed esclusivamente OK in maiuscolo senza spazi o altro?
    Per quanto concerne xampp non so cose
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2008
    Messaggi
    24
    Lo script l'avevo testato sia su IE che Firefox con l'oggetto ActiveXObject("MSXML2.XMLHTTP") ottengo lo stesso risultato. Ho anche modificato la parola chiave password in pass ma nulla. XAMPP è una distribuzione Apache contenente MySQL, PHP e Perl. Se vuoi sapere qualcosa in più a riguardo visita questo sito http://www.apachefriends.org/it/xampp.html. Ti posso dire che ha funzioni limitare rispetto Web Server Apache ma per quello che sto facendo io va più che bene. Cmq ora per curiosità installo Apache, php e mysql singolarmente e vedo un pò che succede. Poi ti faccio sapere. Grazie per avermi risposto. Ciao

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2008
    Messaggi
    24
    Per quanto riguarda la tua domanda per come stampa php OK ti posso dire che tramite il debug di NetBeans ho notato che nella pagina di login non vengono nemmeno effettuati i dovuti controlli. Cmq sia penso che la pagina di login.php dovrebbe stampare OK in maiuscolo senza spazi e senza nulla. Ora ti posto lo script:

    login.php:
    <?
    $utente = $_POST['utente'];
    $password = $_POST['pass'];

    $utenti = file ("utenti");
    $trovato = false;

    //echo '$utente '; echo var_dump($utente);
    //echo '$password '; echo var_dump($password);
    //echo '$utenti '; var_dump($utenti); echo '

    ';

    for ($i = 0; $i < count($utenti); $i++) {
    $linea = $utenti[ $i ];
    //echo '$linea '; var_dump($linea); echo '
    ';

    $dati = split(";", $linea);
    //echo '$dati '; var_dump($dati); echo '

    ';

    if ($utente == $dati[ 0 ] && $password == trim($dati[ 2 ])) {
    $trovato = true;
    //echo 'OK';
    break;
    }
    }
    if ($trovato) {
    echo 'OK';
    } else {
    echo 'KO';
    }
    ?>

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2008
    Messaggi
    24
    Non cambia nulla nemmeno con apache! :-(

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2008
    Messaggi
    24

    Risolto

    All'apertura dello script login.php andava scritto php dopo la parentesi angolare e il punto interrogativo di apertura dello script in questo modo: <?php, inizialmente era così <? soltanto. Grazie per l'interessamento. A quanto pare non c'entrava il nulla il web server!! Ciao

  7. #7
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    E non centrava niente ajax e js come spesso accade l'errore e lato server.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  8. #8
    Utente di HTML.it
    Registrato dal
    Mar 2008
    Messaggi
    24
    Ok grazie... Cmq meglio APACHE di XAMPP anche se quest'ultimo oltre il web server apache ha già dentro incorporato php e mysql! Ciao andrea, grazie ancora

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 © 2025 vBulletin Solutions, Inc. All rights reserved.