Ciao, ho un overlay fatto con jquery in cui c'č un form per la registrazione
di un utente alla newsletter di un sito
che dovrebbe inserire i dati in un database e inviare un'email di conferma,
una volta compilato il form premendo il pulsante di submit
l'overlay scompare senza dare nessun messaggio e non inserisce i dati nel
database nč invia l'email.
Mi potete aiutare?
Questo č lo script:
</body>codice:<script type="text/javascript" src="jquery-1.3.2.min.js"></script> <script type="text/javascript" src="jquery-impromptu.2.7.min.js"></script> <script type="text/javascript" src="fastinit.js"></script> <script type="text/javascript"> function editUser(id){ var user = $('#userid'+id) var fname = user.find('.fname').text(); var lname = user.find('.lname').text(); var txt = '<div style="border: solid; width: 390px; font-size: 14px; color: black;"><div align="center">Iscriviti e parteciperai all\'estrazione</div><div align="center">dell\'EdiTest Esercizi</div></div>[img]editest.jpg[/img]'+ ' ' + '<div style="border: solid; width: 390px; font-size: 14px; color: black;"><form method="post" action=""><div class="field"><label for="editfname">Nome</label><input type="text" id="editfname" name="nome" /></div><div class="field"><label for="editfname">Cognome</label><input type="text" id="editfname" name="cognome" /></div><div class="field"><label for="editfname">Email </label><input type="text" id="editfname" name="email" /></div>'+ ' <input type=\'checkbox\' name=\'privacy\' value=\'1\' checked /><a href=\'paginaprivacy.htm\' target=\'_blank\' title=\'Documento privacy\'><font size=\'1\' color=\'black\'>ho letto ed accettato l\'informativa per la tutela della privacy</font></a></div>'+' <div style="font-size: 14px; color: black;">L\'estrazione avrà luogo il 31/08/09</div>'+' <div align="center"> <input type="submit" name="submit" value="Registrati"><input type="reset" name="reset" value="Cancella"></div></form>' +'<?php include "config.php"; //Connetti al database $db = mysql_connect($dbhost, $dbuser, $dbpasswd) or die ("Errore nella connessione. Verificare i parametri"); $table = mysql_select_db($dbname, $db) or die ("Errore nella selezione del database"); if(isset($_POST['submit'])) { $nome = $_POST['nome']; $cognome = $_POST['cognome']; $email = $_POST['email']; $privacy = $_POST['privacy']; if($privacy != '1'){ echo "Devi accettare l\'informativa per la tutela della privacy"; } else{ // query d'inserimento $sql = "INSERT INTO registrazione_newsletter (nome, cognome, email, data_iscrizione) VALUES ('$nome', '$cognome', '$email', '" . date("d/m/Y") . "')"; $res = mysql_query($sql) or die(" Errore Numero: ".mysql_errno() ." Descrizione: ". mysql_error()."<hr />"); // messaggio di conferma echo "Grazie per esserti registrato.\nTi č stata spedita un\'email di conferma all\'iscrizione della newsletter."; // email per la conferma // intestazioni $headers = "From: testmedicina@live.it\nreply-To: ".$email." noreply\r\n"; $subject = "Iscrizione newsletter"; //corpo del messaggio $messaggio = "Grazie per esserti iscritto alla newsletter di TestMedicina.com:\n\n"; $messaggio .= "Per confermare l\'iscrizione clicca sul seguente link:\n"; $messaggio .= "http://www.testmedicina.com/conferma_registrazione.php\n"; // invio dell'email mail($email, stripslashes($subject), stripslashes($messaggio), $headers); } } ?>'; $.prompt(txt,{ buttons:{}, submit: function(v,m,f){ //this is simple pre submit validation, the submit function //return true to proceed to the callback, or false to take //no further action, the prompt will stay open. var flag = true; if (v) { if ($.trim(f.editfname) == '') { m.find('#editfname').addClass('error'); flag = false; } else m.find('#editfname').removeClass('error'); if ($.trim(f.editlname) == '') { m.find('#editlname').addClass('error'); flag = false; } else m.find('#editlname').removeClass('error'); } return flag; }, callback: function(v,m,f){ if(v){ //Here is where you would do an ajax post to edit the user //also you might want to print out true/false from your .php //file and verify it has been removed before removing from the //html. if false dont remove, $promt() the error. //$.post('Senzatitolo-1.php',{userfname:f.editfname,userlname:f.editlname}, callback:function(data){ // if(data == 'true'){ user.find('.fname').text(f.editfname); user.find('.lname').text(f.editlname); // }else{ $.prompt('An Error Occured while editing this user'); } //}); } else{} } }); } </script> <script type="text/javascript"> FastInit.addOnLoad(function(){editUser(1)}); </script> </head> <body>
</html>

Rispondi quotando