Script pentru trimitere e-mail ( care nu dea eroare in legatura cu persoana care a trimis e-mail-ul gen "nobody@domeniu", datorita utilizarii incorecte a functiei mail() )
mymail.php:
<?
//----------------- Destinatia mesajului si Subiectul acestuia
$to = "webmaster@nume.com";
$subject = "Formular contact online: {$_POST['ams']['Destinatia']} ";
$from = $_POST['ams']['E-mail'];
//----------------- preiau datele si creez mesajul
$valid=1;
$message ='';
foreach ($_POST['ams'] as $k=>$v){
if (trim($v)=='')$valid=0;
$k = str_replace('_',' ',$k);
$message .="$k : $v<br>";
}
$message .="<hr />IP: {$_SERVER['REMOTE_ADDR']}";
// faza asta cu ip-ul am adaugat`o pentru a putea avea si ip-ul celui care are chef
//de glume si trimite mail-uri aiurea.
//------------------ Functia mail cu HTML support
function sndmail($from,$to,$subject,$message){
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers .= "From:".$from ."\r\n";
mail($to, $subject, $message, $headers);
}
//------------------ Trimit Mailul
if ($valid=='1') {
sndmail($from,$to,$subject,$message);
//------------------ Afisez mesaj de confirmare / incarc pagina de confirmare
header( 'Location:
http://www.nume.com/fisier_confirmare.html' ) ;
}
//------------------ Afisez mesaj de eroare / incarc pagina de eroare
else header( 'Location:
http://www.nume.com/fisier_eroare.html' ) ;
?>
------------------------------------------------------------
In continuare, formularul de contact.
-----------------------------------------------------------
<span class="style1">Toate campurile sunt obligatorii !!! Va rugam sa completati formularul in intregime! </span>
<form action="mymail.php" method="post" name="form1" class="formular">
<strong>Nume:</strong>
<input name='ams[Nume]' type="text" class="textfield" />
<strong>Prenume</strong>:<input name='ams[Prenume]' type="text" class="textfield" /><br /><br />
<strong>Email</strong>:
<input name='ams[E-mail]' type="text" class="textfield" /><strong>Telefon</strong>:<input name='ams[Tel]' type="text" class="textfield" />
<strong>Destinatia</strong> :
<select name='ams[Destinatia]' id="textfield">
<option>Alege departamentul</option>
<option>Vanzari</option>
<option>Asistenta Tehnica</option>
<option>Web Master</option>
<option>Altele</option>
</select><br /><br />
<strong>Mesajul dumneavoastra:</strong><br />
<textarea name='ams[Mesajul_dumneavoastra]' id="textarea" cols="58" rows="10"></textarea>
<br />
<br />
<input name="Submit2" type="reset" value="Anuleaza" class="input" />
<input name="Submit" type="submit" value="Trimite" class="input" />
</center>� �
</form>
-------------------------------------------------------------------------------
Preiau toate informatiile din campuri intr-un vector ( array-ul ams[] ), si astfel in php nu trebuie sa dau $_POST pt fiecare camp in parte, ci le preiau pe toate printr-un FOR.
E mai usor cand ai foarte multe campuri, formulare mari, etc. Nu stai sa preiei fiecare camp, ci pur si simplu le iei pe toate, oricate ar fi

.
In php prin folosirea variabile $From , nu vor mai aparea probleme de genul "sender = nume@somehost.sometld " ci va aparea e-mail-ul completat in campul E-MAIL.
Cam atat.. ca e tarziu si maine am examen. Daca aveti intrebari, just ask. Script-ul asta il folosesc eu la formularele mele de contact. Asa ca.. e oarecum personalizat pentru ceea ce am eu nevoie ( vezi faza cu destinatie si select-ul cu cele 4 optiuni ).