Mail di avviso quando utente vota

  • Creatore Discussione Creatore Discussione Shyson
  • Data di inizio Data di inizio

Shyson

Utente Attivo
19 Ago 2012
1.179
1
38
Posto questa parte di codice, devo fare in modo che quando l'utente vota il sondaggio, mi arrivi una mail di avviso quando a video esce "Grazie, il tuo voto è stato inserito!"

PHP:
...
if(isset($_POST['puls_invio'])) { 
if(!isset($_COOKIE['votato'])) { //Setta il cookie (2/4), il primo si trova in connessione.php
if(isset($_POST['voto'])) {
    $voto=mysql_real_escape_string($_POST['voto']);
    $q="UPDATE sondaggio SET $voto = $voto + 1 WHERE id=1"; 
    if(mysql_query($q)) { 
    echo "Grazie, il tuo voto è stato inserito!"; 
    echo "<meta http-equiv='Refresh' content='3; URL=".htmlspecialchars($_SERVER['PHP_SELF'])."'>";
    setcookie("votato", "si", time()+5*365*24*60*60); //Dura 5 anni, setta il cookie (3/4)
     }
  } 
else { 
     echo "Devi selezionare una risposta!";  
     echo "<meta http-equiv='Refresh' content='3; URL=".htmlspecialchars($_SERVER['PHP_SELF'])."'>";
   }
}
else { 
    echo "Hai già votato, grazie!";   
    echo "<meta http-equiv='Refresh' content='3; URL=".htmlspecialchars($_SERVER['PHP_SELF'])."'>"; 
   } 
}  
?>
...
 
Ultima modifica:
io la scriverei così....
PHP:
$destinatario = "[email protected]"; 
$oggetto = "hanno votato"; 
$messaggio = "ha votato".$ChiHaVotato.$IlSuoVoto;  
mail($destinatario, $oggetto, $messaggio);
    echo "Grazie, il tuo voto è stato inserito!";
 
io la scriverei così....
PHP:
$destinatario = "[email protected]"; 
$oggetto = "hanno votato"; 
$messaggio = "ha votato".$ChiHaVotato.$IlSuoVoto;  
mail($destinatario, $oggetto, $messaggio);
    echo "Grazie, il tuo voto è stato inserito!";

Ho risolto così:

PHP:
...
  if(mysql_query($q)) { 
    echo "Grazie, il tuo voto è stato inserito!"; 
    echo "<meta http-equiv='Refresh' content='3; URL=".htmlspecialchars($_SERVER['PHP_SELF'])."'>";
    setcookie("votato", "si", time()+5*365*24*60*60); //Dura 5 anni, setta il cookie (3/4)
    
$headers  = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-utf-8\r\n";
$headers .= "X-Mailer: PHP\n"; 
$headers .= "From:me stesso<[email protected]>\r\n"; 

//Invio e-mail di avviso a me
$miaemail = "Me<[email protected]>"; 
$soggetto = "Qualcuno ha fatto il sondaggio";  //Le mail vanno formattate con HTML 
$corpo_messaggio ="<html>
<head>
</head>
<body>
<p>Un visitatore ha votato il sondaggio</p>
</body>
</html>";
//Invio della mail 
mail ($miaemail,$soggetto,$corpo_messaggio,$headers); 
    }
  } 
...
 
se ti funziona ottimo senò attento che gli header ti possono complicare la vita...
 

Discussioni simili