- Home
- Categorie
- Coding e Sistemistica
- PHP
- Pagina di saluto in form
-
Pagina di saluto in form
salve....allora... questo è il codice del file php che mi fa prende dati da un form in htm e li manda....
<?php
// Recupero il valore dei campi del form
$destinatario = $_POST['destinatario'];
$mittente = $_POST['mittente'];
$oggetto = $_POST['oggetto'];
$messaggio = $_POST['messaggio'];
// 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 .= $messaggio . "\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>Richiesta inviata con successo! Grazie per aver visitato ....</p>";
}else{
echo "<p>Errore!</p>";
}
?>Se la mail è inviata correttamente lo script risponde solo con il testo "Rischiesta inviata con successo bla bla...."
adesso arriva il domandone...e se volessi far in modo che non compaia un messaggio ma che carichi una pagina html (es. inviata.html) ??
Grazie a tutti!!
-
if (mail($destinatario, $oggetto, $msg, $headers))
{
header ("Location: percorso_della_pagina.hmtl");
}
-
@massy said:
if (mail($destinatario, $oggetto, $msg, $headers))
{
header ("Location: percorso_della_pagina.hmtl");
}Ok...grazie mille!FUNZIONA!!!
Bye Bye...
-
Sposto in php...