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:
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:
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 src="editest.jpg" align="right" width="150"
height="230">'+ '<br><br>' +
'<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>'+
'<br><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>'+'<br><div
style="font-size: 14px; color: black;">L\'estrazione avrà luogo il
31/08/09</div>'+'<br><br><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("<br />Errore Numero: ".mysql_errno() ."<br
/>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>
</body>
</html>