Form con invio mail

  • Creatore Discussione Creatore Discussione _LAIL_
  • Data di inizio Data di inizio

_LAIL_

Utente Attivo
19 Set 2013
57
0
6
Buona sera ragazzi ho trovato in giro questo script con raccolta dati tramite form e invio mail

ha una sezione per allegato file vorrei eliminare quella parte mi aiutate??

PHP:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Form Pubblicita</title>
<link href="css/style.css" rel="stylesheet" type="text/css">
<!--[if lt IE 9]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->

</head>

<body>

<div class="container">
  <header>
  <div>
   <div align="center">
    <img src="css/logo.png" alt="logo_gestione" width="800" height="120" id="Insert_logo" style="background-color: #; display:block;" />
   </div>
   </div>
  </header>
 <div id="main" align="center">
 <fieldset class="orange">

<?php
// Recupero il valore dei campi del form
$destinatario = $_POST['destinatario'];
$nome = $_POST['nome'];
$mittente = $_POST['mittente'];
$oggetto = $_POST['oggetto'];
$Link_VWW = $_POST['Link/VWW'];
$messaggio = $_POST['messaggio'];
$ID  = $_POST['ID'];
$prezzo  = $_POST['prezzo'];
$durata  = $_POST['durata'];

// Valorizzo le variabili relative all'allegato
$allegato = $_FILES['allegato']['tmp_name'];
$allegato_type = $_FILES['allegato']['type'];
$allegato_name = $_FILES['allegato']['name'];

// Creo 2 variabili che riempirò più avanti...
$headers = "From: " . $mittente;
$msg = "";

// Verifico se il file è stato caricato correttamente via HTTP
// In caso affermativo proseguo nel lavoro...
if (is_uploaded_file($allegato))
{
  // Apro e leggo il file allegato
  $file = fopen($allegato,'rb');
  $data = fread($file, filesize($allegato));
  fclose($file);

  // Adatto il file al formato MIME base64 usando base64_encode
  $data = chunk_split(base64_encode($data));

  // Genero il "separatore"
  // Serve per dividere, appunto, le varie parti del messaggio.
  // Nel nostro caso separerà la parte testuale dall'allegato
  $semi_rand = md5(time());
  $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";
  
  // Aggiungo le intestazioni necessarie per l'allegato
  $headers .= "\nMIME-Version: 1.0\n";
  $headers .= "Content-Type: multipart/mixed;\n";
  $headers .= " boundary=\"{$mime_boundary}\"";

  // Definisco il tipo di messaggio (MIME/multi-part)
  $msg .= "This is a multi-part message in MIME format.\n\n";

  // Metto il separatore
  $msg .= "--{$mime_boundary}\n";

  // Questa è la parte "testuale" del messaggio
  $msg .= "Content-Type: text/plain; charset=\"iso-8859-1\"\n";
  $msg .= "Content-Transfer-Encoding: 7bit\n\n";
  $msg .= $nome . "\n\n";
  $msg .= $mittente . "\n\n";
  $msg .= $Link_VWW . "\n\n";
  $msg .= $messaggio . "\n\n";
  $msg .= $ID . "\n\n";
  $msg .= $prezzo . "\n\n";
  $msg .= $durata . "\n\n";
  
  
  // Metto il separatore
  $msg .= "--{$mime_boundary}\n";

  // Aggiungo l'allegato al messaggio
  $msg .= "Content-Disposition: attachment;\n";
  $msg .= " filename=\"{$allegato_name}\"\n";
  $msg .= "Content-Transfer-Encoding: base64\n\n";
  $msg .= $data . "\n\n";

  // chiudo con il separatore
  $msg .= "--{$mime_boundary}--\n";
}
else
{
  $msg = $messaggio;
}

// Invio la mail
if (mail($destinatario, $oggetto, $msg, $headers))
{
  echo "<p>Grazie $nome! abbiamo ricevuto il tuo ordine</p><p>le ricordiamo di effettuare il pagamento del $prezzo nella pagina che si apre fra 10 secondi.</p><p>Distinti saluti.</p>";
}else{
  echo "<p>Errore!</p><p>Email non inviata!</p>";
}
?>


 <fieldset>
 </div>
  <footer>
    <p></p>
    <address>
      
    </address>
  </footer>
  <!-- end .container --></div>
</body>
</html>
 
CIao, devi semplicemente commentare tutto quello che riguarda il file, ma , perchè incasinarsi la vita per una cosa cosi semplice?
PHP:
<?php
if (isset($_POST['invia']) && $_POST['invia'] == "Invia") {
    $destinatario = "[email protected]";
    $oggetto = "oggetto";
    $messaggio = "Ciao " . $_POST['nome'];
    if (mail($destinatario, $oggetto, $msg)) {
        echo "<p>Email inviata</p>";
    } else {
        echo "<p>Email non inviata</p>";
    }
}
?>
<html>
    <head>
        <title>Invio mail</title>
    </head>
    <body>
        <form action="<?php echo $_SERVER['PHP_SELF'] ?>">
            <input type="text" name="nome"/>
            <input type="submit" name="" value="Invia"/>
        </form>
    </body>
</html>
 

Discussioni simili