Ciao a tutti, volevo chiedervi se qualcuno è disponibile ad aiutarmia creare un form mail in php spiegandomi passo a passo le cose da fare (anche a cosa servono)
intanto ringrazio in anticipo
ciao ciao
Ciao a tutti, volevo chiedervi se qualcuno è disponibile ad aiutarmia creare un form mail in php spiegandomi passo a passo le cose da fare (anche a cosa servono)
intanto ringrazio in anticipo
ciao ciao
Allora fai cosi:
Lo invii tramite form..
ovviamente come ai visto tramite sto form invii i dati a mailto.php cosiCodice HTML:<html> <head> <meta http-equiv="Content-Language" content="it"> <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> <title>.::FormEmail::.</title> </head> <h1 align="center"><font color="#FFFFFF"><br> <font size="7">FormEmail</font></font></h1> <p align="center"><font color="#FFFFFF">Contattaci tramite questo form che posteremo sotto.</font></p> <hr> <font color="#FFFFFF"> <br> </font> <form name="form1" method="post" action="mailto.php"> <div align="center"> <font color="#FFFFFF"> <br> Il tuo Nickname: <br> <input name="nick" type="text" id="nick"> <br> Il tuo consiglio <br> <textarea name="testo" cols="30" rows="7" wrap="VIRTUAL" id="testo"></textarea> <br> <input type="submit" name="Submit" value="Invia"> <input type="reset" name="Submit2" value="Reset"></font></div> </form> <hr> </p> </body> </html>
Ps dimmi se va...Codice PHP:
<?
$testo = $_POST['testo'];
$email = $_POST['nick'];
$leo = "ind email";
$testo = stripslashes($testo);
$email = stripslashes($nick);
$subject = "Inviato da ( $nick )";
$message = "$testo";
mail($leo, $subject, $testo);
print"<html>
<head>
<body text=\"#FFFFFF\">
</head>
<body>
</body>
</html>";
echo 'consiglio inviato con successo';
include("contactme.php");
?>
saluti ang
non l'ho provato, ma io vorrei che qualcuno fosse disponibile a spiegarmi il funzionamento di tutte quelle scritte,
poi se io voglio cambiare i campi come faccio ang, saresti disposto ad insegnarmi?
se si ti ringrazio tantissimo
http://weblink.altervista.org/php/index7.php questo dovrebbe spiegarti tutto per bene...
Visto che questa discussione è stata aperta, chiedo al volo se qualcuno conosce un form che permetta agli utenti di inviare email direttamente al gestore del sito/portale (e solo a lui!!!).
Roba del tipo "invia una richiesta al webmaster", "fai una domanda a tizio", e similari...
non ho capito bene ,cosa vuoi dire, inviare dove?
cmq potresti fare 1 pagina con form ke scrive in un txt con fopen ecc
poi fai 1 pagina ke proteggi con sessioni di admin o mod e li ci fai un bel echo del txt
forse non o capito un h
spiegati meglio
copia il codice del post #2 quello scritto da ang e metti la tua email o quella del webmasterOriginalmente inviato da Sindone
nn ho capito molto bene scusate sono alle prime armi e mi sto rifacendo questo sito http://spacevertigo.altervista.org
io volevo creare un form che mi inviasse nella mia casella di posta, che con l'alias nn ce l'ho, le richieste di poesie o immagini... me lo potete spiegare?
Ti consiglio di usare alcuni di quei servizi, già creati, apposta per i webmaster...
EDIT: io uso questo servizio
Ultima modifica di Saturnix : 24-09-2006 alle ore 22.26.26 Motivo: edit
Saturnix
Su php.html.it si trovano delle guide molto interessanti anche per principianti, c'è praticamente di tutto, e la maggior parte degli script proposti hanno della documentazione che spiega come personalizzarli.
ho dato una okkiata al sito e mi sono creato un form...però mi da errore quando faccio invia...
questo è il link http://spacevertigo.altervista.org/form/form2.htm
Che errore ti dà? Che script stai utilizzando?
Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
«Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen
compilando il form intanto c'è un errore nei confronti...Originalmente inviato da spacevertigo
nonostante i campi siano pieni
hai fatto un confronto tipo
if($_POST['nome'] == "")
else
??? o no?
Funcol l'errore è che nn invia l'email
questo è quello che ho fatto io
form2.htm
questo è il codice phpCodice:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>The angel</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> </head> <body background="/sfondi/web-link60.jpg"> <form action="mail.php" enctype="multipart/form-data" method="post" name="form1" id="form1" target="_self"> <div class="title" style="color:#C0C0C0; background-color:#808080">SCRIVI AL WEBMASTER</div> <div class="box" style="color:#808080; background-color:#CCCCCC"> <div style="padding:4px;"> Tuo Nome<br /><input type="text" name="sender_name" size="30" /><br /><br /> Tua Email<br /><input type="text" name="sender_email" size="30" /><br /><br /> Messaggio:<br /><textarea name="msg" rows="40" cols="40"></textarea><br /><br /> <input type="submit" value="INVIA" /> </div> </div> </center> </form> </body> </html>
mail2.php
Codice:<?php if(isset($_POST['email']) && isset($_POST['nome'])){ $header=""; $msg=""; $boundary='--' . md5( uniqid(time()) ); $ctencoding="8bit"; $subject="Invio dedica/poesia"; $body=""; $to="spacevertigosito@hotmail.it"; $from=$_POST['email']; $fromname=$_POST['nome']; $ctype="application/octet-stream"; $header.="From: \"$fromname\" <$from>\nReturn-Path: $from\nX-Priority: 3\nTo: $to\n"; $header.="Mime-Version: 1.0\nContent-Type: multipart/mixed;\n boundary=\"$boundary\"\n"; $header.="Content-Transfer-Encoding: 8bit\n"; $msg .="This is a multi-part message in MIME format.\n--$boundary\n"; $msg .= "Content-Type: text/plain; charset=iso-8859-1\n"; $msg .= "Content-Transfer-Encoding: 8bit\n\n" . $body ."\n"; $msg .="--$boundary\nContent-type: $ctype;\n name=\"$name\"\n"; $msg .="Content-Transfer-Encoding: base64\nContent-Disposition: attachment\n filename=\"$name\"\n"; $linesz= filesize( $basename)+1; $fp= fopen( $basename, 'r' ); $content = chunk_split(base64_encode(fread( $fp, $linesz))); fclose($fp); $msg .= chr(13) . chr(10).$content; $result = @mail($to,$subject,$msg."\n",$header); if($result){ echo "<p>Il tuo messaggio è stato inoltrato con successo!</p><p>Grazie!</p>"; }else{ echo "<p>E' stato riscontrato un errore sul server.<br>Impossibile inviare il messaggio.</p><p>Riprova più tardi.</p>"; } }else{ echo "<p>Non hai compilato tutti i campi del modulo!</p><p>Campi mancanti:</p>"; if(!isset($_POST['nome'])){ echo "Nome<br>";} if(!isset($_POST['email'])){ echo "Indirizzo e-mail<br>";} } ?>
Nel file form2.htm modifica questa riga:
In questo modo:Codice HTML:<input type="text" name="sender_name" size="30" />
E questa riga:Codice HTML:<input type="text" name="nome" size="30" />
In questo modo:Codice HTML:<input type="text" name="sender_email" size="30" />
Codice HTML:<input type="text" name="email" size="30" />
Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
«Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen
ho appena sistemato però ora mi dice campi mancanti nome anche se lo compilo corretamente
EDIT: sto andando via con la testa...ho risistemato il file...funziana però su mail.php vorrei integrare anche le opzioni di <option> e <tetx area> che non riesco a mettere
questo è il codice per intero
vorrei che anche alla fine facesse un refresch dopo 3secondi e mi mandasse alla home della pagina iniziale del sito ovvero http://spacevertigo.altervista.org/index2.htmCodice PHP:
<?php
if(isset($_POST['email']) && isset($_POST['nome'])){
$header="";
$msg="";
$boundary='--' . md5( uniqid(time()) );
$ctencoding="8bit";
$subject="Invio allegato";
$body="In allegato il documento";
$to="spacevertigo87@yahoo.it";
$from=$_POST['email'];
$fromname=$_POST['nome'];
$ctype="application/octet-stream";
$basename=$_FILES['all']['tmp_name'];
$name=$_FILES['all']['name'];
$header.="From: \"$fromname\" <$from>\nReturn-Path: $from\nX-Priority: 3\nTo: $to\n";
$header.="Mime-Version: 1.0\nContent-Type: multipart/mixed;\n boundary=\"$boundary\"\n";
$header.="Content-Transfer-Encoding: 8bit\n";
$msg .="This is a multi-part message in MIME format.\n--$boundary\n";
$msg .= "Content-Type: text/plain; charset=iso-8859-1\n";
$msg .= "Content-Transfer-Encoding: 8bit\n\n" . $body ."\n";
$msg .="--$boundary\nContent-type: $ctype;\n name=\"$name\"\n";
$msg .="Content-Transfer-Encoding: base64\nContent-Disposition: attachment\n filename=\"$name\"\n";
$linesz= filesize( $basename)+1;
$fp= fopen( $basename, 'r' );
$content = chunk_split(base64_encode(fread( $fp, $linesz)));
fclose($fp);
$msg .= chr(13) . chr(10).$content;
$result = @mail($to,$subject,$msg."\n",$header);
if($result){
echo "<p>Il tuo messaggio è stato inoltrato con successo!</p><p>Grazie!</p>";
}else{
echo "<p>E' stato riscontrato un errore sul server.<br>Impossibile inviare il messaggio.</p><p>Riprova più tardi.</p>";
}
}else{
echo "<p>Non hai compilato tutti i campi del modulo!</p><p>Campi mancanti:</p>";
if(!isset($_POST['nome'])){ echo "Nome<br>";}
if(!isset($_POST['email'])){ echo "Indirizzo e-mail<br>";}
}
?>
FunCool: Non fare UP, usa il tasto Edita.
Ultima modifica di funcool : 08-10-2006 alle ore 14.25.06
Per risolvere una volta per tutte.... segue uno script perfettamente funzionante.... sovrascrivi in base alle tue esigenze le parti evidenziate.
File HTML, all'interno dei tag "body" scrivi questo script:
File PHP, DEVE CHIAMARSI contact.php altrimenti non lo trova !!!<form name="mail_form" method="post" action="contact.php">
<p><font color="#FFFFFF"> <br>
Tuo indirizzo mail:
<input name="sender_mail" type="text" id="sender_mail">
</font></p>
<p><font color="#FFFFFF">Oggetto della mail:
<input name="subject" type="text" id="subject">
</font><font color="#FFFFFF"><br>
</font></p>
<p><font color="#FFFFFF">Testo della mail</font><font color="#FFFFFF">:<br>
<textarea name="message_txt" cols="30" rows="7" wrap="VIRTUAL" id="testo"></textarea>
</font></p>
<p><font color="#FFFFFF">
<input type="submit" name="Submit" value="Invia">
<br>
<br>
</font></p>
</form>
Sperando di esserti stato utile.<?
$testo = $_POST['message_txt'];
$sender_mail = $_POST['sender_mail'];
$subject = $_POST['subject'];
$leo = "TUA MAIL QUI";
$testo = stripslashes($testo);
$message = "Hai appenta ricevuto un messaggio dal tuo form di contatti on-line
Mittente: $sender_mail ;
Contenuto: $testo";
mail($leo, $subject, $message);
print"<html>
<head>
<title>Invio riuscito</title>
</head>
<body>
<p>Scrivi qui, ciò che l'utente deve leggere dopo aver inviato il messaggio</p>
</body>
</html>";
?>
Ultima modifica di Saturnix : 08-10-2006 alle ore 17.35.26
Saturnix
Salve ragazzi, scusate se mi intrometto ma volevo chiedere a chi se ne intende un piccolo aiutino....
Ho creato una pagina per inviare una mail con allegato alla mia casella di posta, il codice è il seguente.
contatti.html
mail.phpCodice:<form action="dove si trova lo script mail.php" method="post" enctype="multipart/form-data" name="inviamail" onSubmit="return ControllaMail()" onReset="return azzeraForm()"> <p> <table> <tr> <th> e-mail: <td> <input type="text" name="mail"> <th> Oggetto: <td> <select size="1" name="oggetto"> <option name="seleziona" value="seleziona">seleziona</option> <option>Prodotti</option> <option>Affitti</option> <option>Informazioni</option> <option>Altro</option> </select> <tr> <th> Nome: <td> <input type="text" name="nominativo"> <th> Telefono: <td> <input type="text" name="telefono"> <tr> <th> Indirizzo: <td> <input type="text" name="indirizzo"> <th> Città: <td> <input type="text" name="citta"> </table> <br /> <input type="file" name="allegato" <br /> <textarea name="testo" rows="15" cols="40"> </textarea> <br /> <br /> <button type="submit" name="invia" value="Invia">Invia</button> <button type="reset" name="cancella">Cancella</button> </form>
Codice:<?php // Recupero il valore dei campi del form $nominativo=$_POST['nominativo']; $mail=$_POST['mail']; $oggetto=$_POST['oggetto']; $testo=$_POST['testo']; $telefono=$_POST['telefono']; $indirizzo=$_POST['indirizzo']; $citta=$_POST['citta']; $email_to="mia e-mail"; $page_form="dove si trova contatti.html"; $messaggio="Nome:"."$nominativo"."\n\n"."E-Mail:"."$mail"."\n\n"."Telefono:"."$telefono"."\n\n"."Indirizzo:"."$indirizzo"."\n\n"."Città:"."$citta"."\n\n"."Testo:"."\n\n"."$testo"; // 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: Aziendasannicola"; $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>Mail inviata con successo!</p>"; }else{ echo "<p>Errore!</p>"; }
la mail viene inviata correttamente, tranne per il fatto che l'allegato (di qualsiasi estensione) viene inviato come un file txt vuoto di nome noname......
Cosa SBAGLIO????
Devo attivare qualche opzione sul mio account o è solo un errore nel codice.
vi ringrazio in anticipo della vostra disponibilità.
PS il codice non è mio, L'ho trovato su internet
non l'ho provato...ma ho fatto alcune correzioni:
Codice PHP:
<?php
// Recupero il valore dei campi del form
$nominativo=$_POST['nominativo'];
$mail=$_POST['mail'];
$oggetto=$_POST['oggetto'];
$testo=$_POST['testo'];
$telefono=$_POST['telefono'];
$indirizzo=$_POST['indirizzo'];
$citta=$_POST['citta'];
$email_to="mia e-mail";
$page_form="dove si trova contatti.html";
$messaggio="Nome:"."$nominativo"."\n\n"."E-Mail:"."$mail"."\n\n"."Telefono:"."$telefono"."\n\n"."Indirizzo:"."$indirizzo"."\n\n"."Città:"."$citta"."\n\n"."Testo:"."\n\n"."$testo";
// 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: \"Aziendasannicola\" <$email_to>\n";
$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
$mime_boundary ='--' . md5( uniqid(time()) );
// Aggiungo le intestazioni necessarie per l'allegato
$headers .= "MIME-Version: 1.0\n";
$headers .= "Content-Type: multipart/mixed;\n";
$headers .= " boundary=\"$mime_boundary\"";
$headers.="Content-Transfer-Encoding: 8bit\n";
// Definisco il tipo di messaggio (MIME/multi-part)
$msg .= "This is a multi-part message in MIME format.\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: 8bit\n\n";
$msg .= $messaggio . "\n";
// Metto il separatore
$msg .= "--$mime_boundary\n";
// Aggiungo l'allegato al messaggio
$msg .= "Content-type: application/octet-stream;\n name=\"$allegato_name\"\nContent-Transfer-Encoding: base64\nContent-Disposition: attachment;\n";
$msg .= " filename=\"$allegato_name\"\n";
$msg .= "Content-Transfer-Encoding: base64\n\n";
$msg .= chr(13) . chr(10).$data . "\n\n";
}
else
{
$msg = $messaggio;
}
// Invio la mail
if (mail($destinatario, $oggetto, $msg, $headers))
{
echo "<p>Mail inviata con successo!</p>";
}else{
echo "<p>Errore!</p>";
}
?>