Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    Scrivere in un db con una chiamata asincrona [ajax + jquery + php]

    Ciao a tutti!

    Ho un problema...

    Ho una pagina con un piccolo form di registrazione... quì l'utente inserisce i suoi dati che vengono passati ad una seconda pagina php tramite ajax. La seconda pagina ha il compito di prendere i dati ed inserirli in un db... il punto è che... non mi scrive nel db...

    Aiuto pleaseeeeee!!

    Vi posto il codice.

    Pagina con il form:
    Codice PHP:


    <body>

    <
    div id="cornice">
      <
    div id="box1">
        <
    h1>Grazie per aver votato!</h1>
        

    Vuoi rimanere informato sul prezzo di finale o iscriverti alla newsletter di TO.LAB?</p>
        

    Compila il form quì sottoti bastano appena 15 secondi.</p>
      <
    form id="form2">
    <
    span id="sprytextfield1">
          <
    label>Indirizzo mail:

            <
    input type="text" name="mail" id="mail" />
          </
    label>
          <
    span class="textfieldRequiredMsg">È obbligatorio specificare un valore.</span><span class="textfieldInvalidFormatMsg">Formato non valido.</span><span class="textfieldMaxCharsMsg">Numero massimo di caratteri superato.</span><span class="textfieldMinCharsMsg">Numero minimo di caratteri non raggiunto.</span></span>
          

          <
    label>
        <
    input name="newsletter" type="checkbox" id="newsletter" value="newsletterOn" checked="checked" />
        
    Simi iscrivo alla newsletter</label>
        

        <
    input name="invia" type="submit" value="" id="invia" />
          
    </
    form>
      </
    div>
    </
    div>



    <
    script type="text/javascript">
    var 
    sprytextfield1 = new Spry.Widget.ValidationTextField("sprytextfield1""email", {maxChars:50minChars:4});


    $(
    document).ready(function(){
            
        $(
    '#invia').click(function(){
            var 
    mail = $('#mail').val();
            var 
    news = $('#newsletter').attr('checked') ? 'si' 'no';
            $.
    ajax({
                
    url'mail.php',
                
    //type: 'GET',
                
    data'mail=' mail '&news=' news,
                
    //dataType: 'html',
                
    success: function(){
                    $(
    '#box1').hide(200);
                    var 
    Cornice2 = $('<div id="cornice2"><h1>Grazie per esserti registrato!</h1></div>');
                    
    Cornice2.appendTo('#cornice');
                    
    alert(mail);
                    
    alert(news);
                },
                
    error: function(){
                    
                }
            });
            return 
    false;
        });
        
    alert('non è un problema javascript');
        

    });

    </script> 
    Pagina che dovrebbe ricevere i dati dalla prima e scriverli sul db:
    Codice PHP:


    $mail 
    $_GET['mail'];
    $news $_GET['news'];

    //definisco le variabili di connesisone
    $host    =    'localhost';            //variabile host
    $user    =    'root';            //variabile username
    $pwd    =    '';            //variabile password
    $nome=    'tolab';        //variabile nome DB

    $connessione mysql_connect($host$user$pwd);
        
    mysql_select_db($nome$connessione);

    $sql "INSERT INTO mail( mail, newsletter )
            VALUES ('"
    .$mail."', '".$news."')";
            
    mysql_query('set names utf8');

    mysql_close($connessione); 

  2. #2
    Era un errore stupido... nel file si occupa di scrivere sul db mancava la stringa di esecuzione del codice sql!

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.