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">&nbsp;</td>
  <td valign="top">&nbsp;</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:

coupons-php-0001

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