How to Generate Coupon Codes
It is a simple script that generates a Coupon Code and sends it to the user’s email.
We do not use databases.
gimme-code-2014-0007.zip
DOWNLOAD
We code 2 files in the same folder:
1. contatti.html -> it sends data to -> send_form_email.php
2. send_form_email.php -> a) it renders an HTML page with the coupon code b) it sends a email with the coupon code
HTML form: contatti.html
It gets data from users and it sends to ‘send_form_email.php’
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta name="KeyWords" content="luce, digitale">
<meta name="Classification" content="luce, digitale">
<meta name="Description" content="luce, digitale">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
<title>Codice sconto - test</title>
<!-- INIZIO VALIDAZIONE PRIVACY -->
<script type="text/javascript">
function validate(form) {
// Checking if at least one period button is selected. Or not.
if (!document.contactform.acconsento.checked) {
alert( "Per procedere acconsentire al trattamento dei dati");
return false;
}
return true;
}
</script>
<!-- FINE VALIDAZIONE PRIVACY -->
<!-- INIZIO CONTENUTI -->
Contenuto di esempio: <br />IMMAGINE TESSERA - IMMAGINE OGGETTI DESIDERABILI <br /> Ottieni la tua tessera sconto! Compila i dati qui sotto e ti sarà inviato gratuitamente il tuo codice personale per ottenere la tessera sconto presso i nostri punti vendita!<br /><br />
<!-- FINE CONTENUTI -->
<!-- INIZIO CONTACT FORM -->
<form name="contactform" method="post" action="send_form_email.php" onsubmit='return validate(this)'>
<table width="581">
<tr>
<td width="144" valign="top">
<label for="first_name">Username *</label>
</td>
<td width="425" valign="top">
<input type="text" name="first_name" maxlength="50" size="30">
</td>
</tr>
<tr>
<td valign="top"">
<label for="last_name">Password *</label>
</td>
<td valign="top">
<input type="text" name="last_name" maxlength="50" size="30">
</td>
</tr>
<tr>
<td valign="top">
<label for="email">Indirizzo Email *</label>
</td>
<td valign="top">
<input type="text" name="email" maxlength="80" size="30">
</td>
</tr>
<tr>
<td valign="top">
<label for="telephone">Cellulare</label>
</td>
<td valign="top">
<input type="text" name="telephone" maxlength="30" size="30">
</td>
</tr>
<tr>
<td valign="top"> </td>
<td valign="top"> </td>
</tr>
<tr>
<td valign="top">PRIVACY</td>
<td valign="top"><textarea name="comments" cols="43" rows="5" readonly="readonly">Informativa ai sensi dell'art. 13, d. lgs 196/2003. I dati forniti, verranno trattati e custoditi da xxxxx & C s.a.s. PIVA xxxxx - DL. 196/2003. I dati potranno essere diffusi tra le sole società; controllate, affiliate, consociate e collegate al fine di fornirVi informazioni commerciali, per iniziative promozionali, per attività di ricerca e statistica ed al fine di consentire un migliore servizio. Voi avete diritto di rettificare, integrare o richiedere cancellazione dei dati forniti - DL. 196/2003.</textarea>
</td>
</tr>
<tr>
<td colspan="2" valign="top"><br>
</td>
</tr>
<tr>
<td colspan="2" valign="top">Manifestazione di consenso:</td>
</tr>
<tr>
<td colspan="2" valign="top"><input type="checkbox" name="acconsento" value="acconsento">
Acconsento al trattamento dei miei dati personali.</td>
</tr>
<tr>
<td colspan="2" style="text-align:center">
<div align="left">
<input type="submit" value="I n v i a i l M e s s a g g i o">
</div></td>
</tr>
</table>
</form>
<!-- FINE CONTACT FORM -->
</body>
</html>
The result:
PHP Engine: send_form_email.php
<?php
if(isset($_POST['email'])) {
// EDIT THE 2 LINES BELOW AS REQUIRED
// la linea sotto sarò la email a cui rispondere in caso di problemi con il codice tessera
$email_to = "myemail@lucedigitale.com";
$email_subject = "Il tuo codice sconto da myweb.com";
function died($error) {
// your error code can go here
echo "Ci sono degli errori nel Form che hai compilato!<br>";
echo "Gli errori appaiono sotto:<br /><br />";
echo $error."<br />";
echo "Torna indietro e correggi questi errori.<br /><br />";
die();
}
// validation expected data exists
if(!isset($_POST['first_name']) ||
!isset($_POST['last_name']) ||
!isset($_POST['email']) ||
!isset($_POST['telephone']) ||
!isset($_POST['comments'])) {
died('Ci sono degli errori nel Form che hai compilato');
}
$first_name = $_POST['first_name']; // required
$last_name = $_POST['last_name']; // required
$email_from = $_POST['email']; // required
$telephone = $_POST['telephone']; // not required
$comments = $_POST['comments']; // required
$error_message = "";
$email_exp = '/^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/';
if(!preg_match($email_exp,$email_from)) {
$error_message .= 'Indirizzo email non valido.<br />';
}
$string_exp = "/^[A-Za-z .'-]+$/";
if(!preg_match($string_exp,$first_name)) {
$error_message .= 'Username non valido<br />';
}
if(!preg_match($string_exp,$last_name)) {
$error_message .= 'Password non valida<br />';
}
if(strlen($comments) < 2) {
$error_message .= 'Campo Richieste non valido<br />';
}
if(strlen($error_message) > 0) {
died($error_message);
}
$email_message = "Form details below.\n\n";
function clean_string($string) {
$bad = array("content-type","bcc:","to:","cc:","href");
return str_replace($bad,"",$string);
}
// **************************
//Generazione del codice sconto - inizio
// **************************
//Creo 5 variabili numeriche random di 2 cifre, il codice sconto finale avrà quindi 10 cifre
$a=rand(11,20);
$b=rand(21,30);
$c=rand(31,40);
$d=rand(41,50);
$e=rand(51,60);
// Creo il codice sconto concatenando le variabili random
$codice=$a.$b.$c.$d.$e;
// **************************
//Generazione del codice sconto - fine
// **************************
$email_message .= "Username: ".clean_string($first_name)."\n";
$email_message .= "Password: ".clean_string($last_name)."\n";
$email_message .= "Email: ".clean_string($email_to)."\n";
$email_message .= "Cellulare: ".clean_string($telephone)."\n";
// invio il codice sconto
$email_message .= "Grazie per la tua registrazione, il tuo codice sconto: ".clean_string($codice)."\n";
// la riga sotto non la utilizzo perchè altrimenti arriverebbe in email tutto il testo della privacy
// $email_message .= "Privacy: ".clean_string($comments)."\n";
// aggiungo comunque un testo di commento standard alla email
$email_message .= "Messaggio importante: Stampa questa email e presentati presso i nostri negozi per ricevere la tessera sconto";
// create email headers
// invio l'email all'indirizzo specificato nel form html cioè la variabile $email_from proveniente dal proprietario del sito della variabile $email_to specificata all'inizio del codice
$headers = 'From: '.$email_to."\r\n".
'Reply-To: '.$email_to."\r\n" .
'X-Mailer: PHP/' . phpversion();
@mail($email_from, $email_subject, $email_message, $headers);
// Visualizzo il codice sconto nella pagina in caso l'email non arrivi
// o il provider blocchi le email al superamento del limite giornaliero
echo "<center>Grazie per la registrazione! Stampa questa pagina ed esibiscila al punto vendita. Il tuo codice sconto: ".$codice."<center>";
?>
<!-- include your own success html here -->
<center>Torna al sito <a href="http://www.lucedigitale.com" target="_self">www.lucedigitale.com</center>
<?php
}
?>
The HTML page – coupon code message:
Grazie per la registrazione! Stampa questa pagina ed esibiscila al punto vendita.
Il tuo codice sconto: 1329374260
Torna al sito www.lucedigitale.com
The final email content:
Form details below.
Username: blabla
Password: blabla
Email: myemail@lucedigitale.com
Cellulare: 123 456 7890
Grazie per la tua registrazione, il tuo codice sconto: 1329374260
Messaggio importante: Stampa questa email e presentati presso i nostri negozi per ricevere la tessera sconto