Redirection après envoi du formulaire

Fermé
tango95190 Messages postés 3 Date d'inscription vendredi 26 octobre 2007 Statut Membre Dernière intervention 27 octobre 2007 - 26 oct. 2007 à 22:09
 Utilisateur anonyme - 27 oct. 2007 à 18:27
Bonjour,
je me suis fait un formulaire voici le code

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<title>Contacter DandH</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<style type="text/css" media="all">
body {background-image : url("images/neige.png");}
th {font-size: 2em; color: navy; padding: 0;}
td {font-weight: bold; text-align: right;}
.reponse {font-size: 8em;}
</style></head>
<body>
<?php

if($Click == 'on') { // On a donc cliqué sur "Envoyer"
$MonEmail = 'monemail@monemail.fr' ;

if(trim($nom) == '') $Erreur['nom'] = 'Veuillez saisir votre nom' ;
if(trim($prenom) == '') $Erreur['prenom'] = 'Veuillez saisir votre prénom' ;
if (ereg ('@', $email)) { // Vérification de l'email
$domaine = split ('@', $email, 2);
$domaine = str_replace('>', '', trim ($domaine[1]));
if (!checkdnsrr($domaine) OR $domaine == '') $Erreur["email"] = 'L\'email saisie n\'existe pas !' ;
}
else $Erreur['email'] = 'Veuillez saisir votre email correctement' ;
if(trim($nom) == '') $Erreur['nom'] = 'Veuillez saisir une url de site Internet' ;
if(trim($adresse) == '') $Erreur['adresse'] = 'Veuillez saisir une adresse' ;
if(trim($cdp) == '') $Erreur['cdp'] = 'Veuillez saisir un Code Postale' ;
if(trim($ville) == '') $Erreur['ville'] = 'Veuillez saisir une Ville' ;
if(trim($pays) == '') $Erreur['pays'] = 'Veuillez saisir un pays' ;
if(trim($tel) == '') $Erreur['tel'] = 'Veuillez saisir un numéro de Téléphone' ;
if(trim($nom) == '') $Erreur['nom'] = 'Veuillez saisir un numéro de Fax' ;
if(trim($ObjetEmail) == '') $Erreur['ObjetEmail'] = 'Veuillez saisir un Objet' ;
if(trim($commentaire) == '') $Erreur['commentaire'] = 'Veuillez saisir votre commentaire' ;

if(!isset($Erreur)) { // il n'y a pas d'erreur
$SujetEmail = $SujetEmail ; // sujet du formulaire
$MsgEmail = "Bonjour,\n" // contenu du email
."Une demande d'information vient d'etre remplis sur le site dandh.fr,\n"
."------------------ Contenu -------------------\n"
."Nom - Prémon : ".$nom." ".$prenom."\n"
."Adresse : ".$adresse."\n"
."Code Postale - Ville : ".$cdp." ".$ville."\n"
."Pays : ".$pays."\n"
."Téléphone : ".$tel."\n"
."Fax : ".$fax."\n"
."Email : ".$email."\n"
."Site Web : ".$web."\n"
."Objet : ".$ObjetEmail."\n"
."----------------------------------------------\n"
."Commentaire* : \n"
." ".$commentaire."\n"
."----------------------------------------------\n"
."" ;
$HeaderEmail = "From: ".$email."" ;
mail($MonEmail, $SujetEmail, $MsgEmail, $HeaderEmail); //envoi d'un email au client
$Confirmation= TRUE ; // création pour écrire un message de confirmation
} // fermeture de (il n'y a pas d'erreur)
} // fermture de (On a donc cliqué sur "Envoyer")
?>

<FORM ACTION="<?php echo $PHP_SELF ; ?>" METHOD="post" NAME="MonFormulaire">
<INPUT TYPE="hidden" NAME="Click" VALUE="on">
<TABLE CELLSPACING=0 CELLPADDING=1>
<tr><th colspan="2">Contacter DandH</th>
</tr>
<?php
if($Confirmation == TRUE) { // Il y a une confirmation
echo '<TR>'
.'<TD class= "reponse" COLSPAN=2> </TD>'
.'</TR>' ;
}
if($Erreur['nom'] !='') { // le champ nom est vide
echo '<TR>'
.'<TD></TD>'
.'<TD>'.$Erreur['nom'].'</TD>'
.'</TR>' ;
}
?>
<TR>
<TD>Votre nom* : </TD>
<TD><INPUT TYPE="text" NAME="nom" VALUE="<?php echo $nom ; ?>" SIZE="65"></TD>
</TR>
<?php
if($Erreur['prenom'] !='') { // le champ prénom est vide
echo '<TR>'
.'<TD></TD>'
.'<TD>'.$Erreur['prenom'].'</TD>'
.'</TR>' ;
}
?>
<TR>
<TD>Votre prénom* : </TD>
<TD><INPUT TYPE="text" NAME="prenom" VALUE="<?php echo $prenom ; ?>" SIZE="65"></TD>
</TR>
<?php
if($Erreur['email'] !='') { // le champ email est vide
echo '<TR>'
.'<TD></TD>'
.'<TD>'.$Erreur['email'].'</TD>'
.'</TR>' ;
}
?>
<TR>
<TD>Votre adresse email* : </TD>
<TD><INPUT TYPE="text" NAME="email" VALUE="<?php echo $email ; ?>" SIZE="65"></TD>
</TR>
<?php
if($Erreur['web'] !='') { // le champ Adresse Internet est vide
echo '<TR>'
.'<TD></TD>'
.'<TD>'.$Erreur['web'].'</TD>'
.'</TR>' ;
}
?>
<TR>
<TD>Votre adresse Internet : </TD>
<TD><INPUT TYPE="text" NAME="web" VALUE="<?php echo $web ; ?>" SIZE="65"></TD>
</TR>
<?php
if($Erreur['adresse'] !='') { // le champ Adresse est vide
echo '<TR>'
.'<TD></TD>'
.'<TD>'.$Erreur['adresse'].'</TD>'
.'</TR>' ;
}
?>
<TR>
<TD>Votre adresse : </TD>
<TD><INPUT TYPE="text" NAME="adresse" VALUE="<?php echo $adresse ; ?>" SIZE="65"></TD>
</TR>
<?php
if($Erreur['cdp'] !='') { // le champ Code Postal est vide
echo '<TR>'
.'<TD></TD>'
.'<TD>'.$Erreur['cdp'].'</TD>'
.'</TR>' ;
}
?>
<TR>
<TD>Votre Code Postal* : </TD>
<TD><INPUT TYPE="text" NAME="cdp" VALUE="<?php echo $cdp ; ?>" SIZE="65"></TD>
</TR>
<?php
if($Erreur['ville'] !='') { // le champ Ville est vide
echo '<TR>'
.'<TD></TD>'
.'<TD>'.$Erreur['Ville'].'</TD>'
.'</TR>' ;
}
?>
<TR>
<TD>Votre Ville* : </TD>
<TD><INPUT TYPE="text" NAME="ville" VALUE="<?php echo $ville ; ?>" SIZE="65"></TD>
</TR>
<?php
if($Erreur['pays'] !='') { // le champ pays est vide
echo '<TR>'
.'<TD></TD>'
.'<TD>'.$Erreur['pays'].'</TD>'
.'</TR>' ;
}
?>
<TR>
<TD>Votre Pays* : </TD>
<TD><select name="pays">
<option value="None" selected>(Selectionner votre Pays)</option>
<option value="AF">Afghanistan</option><option value="AL">Albania</option><option value="DZ">Algeria</option><option value="AD">Andorra</option><option value="AO">Angola</option><option value="AI">Anguilla</option><option value="AQ">Antarctica</option><option value="AG">Antigua/Barbuda</option><option value="AR">Argentina</option><option value="AM">Armenia</option><option value="AW">Aruba</option><option value="AU">Australia</option><option value="AT">Austria</option><option value="AZ">Azerbaijan</option><option value="BS">Bahamas</option><option value="BH">Bahrain</option><option value="BD">Bangladesh</option><option value="BB">Barbados</option><option value="BE">Belgium</option><option value="BZ">Belize</option><option value="BJ">Benin</option><option value="BM">Bermuda</option><option value="BT">Bhutan</option><option value="BO">Bolivia</option><option value="BA">Bosnia Herzeg.</option><option value="BW">Botswana</option><option value="BR">Brazil</option><option value="VG">Brit. Virgin Islands</option><option value="BN">Brunei</option><option value="BG">Bulgaria</option><option value="BF">Burkina Faso</option><option value="BU">Burma</option><option value="BI">Burundi</option><option value="KH">Cambodia</option><option value="CM">Cameroon</option><option value="CA">Canada</option><option value="CV">Cape Verdian</option><option value="KY">Cayman Islands</option><option value="CF">Centr. Afr. Rep.</option><option value="TD">Chad</option><option value="CL">Chile</option><option value="CN">China</option><option value="CX">Christmas Islnd</option><option value="CC">Cocos Islands</option><option value="CO">Columbia</option><option value="KM">Comoro Is.</option><option value="CG">Congo</option><option value="CK">Cook Islands</option><option value="CR">Costa Rica</option><option value="HR">Croatia</option><option value="CU">Cuba</option><option value="CY">Cyprus</option><option value="CZ">Czech Republic</option><option value="DK">Denmark</option><option value="DJ">Djibouti</option><option value="DM">Dominica</option><option value="DO">Dominican Rep.</option><option value="AN">Dutch Antilles</option><option value="EC">Ecuador</option><option value="EG">Egypt</option><option value="SV">El Salvador</option><option value="GQ">Equatorial Gui.</option><option value="EF">Estonia</option><option value="ET">Ethiopia</option><option value="FK">Falkland Islnds</option><option value="FO">Faroe Islands</option><option value="FJ">Fiji</option><option value="FI">Finland</option><option value="FR">France</option><option value="PF">French Polynesia</option><option value="GF">French Guinea</option><option value="GA">Gabon</option><option value="GM">Gambia</option><option value="GE">Georgia</option><option value="DE">Germany</option><option value="GH">Ghana</option><option value="GI">Gibraltar</option><option value="UK">Great Britain</option><option value="GR">Greece</option><option value="GL">Greenland</option><option value="GD">Grenada</option><option value="GP">Guadeloupe</option><option value="GU">Guam</option><option value="GT">Guatemala</option><option value="GN">Guinea</option><option value="GW">Guinea-Bissau</option><option value="GY">Guyana</option><option value="HT">Haiti</option><option value="HN">Honduras</option><option value="HK">Hong Kong</option><option value="HU">Hungary</option><option value="IS">Iceland</option><option value="IN">India</option><option value="ID">Indonesia</option><option value="IR">Iran</option><option value="IQ">Iraq</option><option value="IE">Ireland</option><option value="IL">Israel</option><option value="IT">Italy</option><option value="CI">Ivory Coast</option><option value="JM">Jamaica</option><option value="JP">Japan</option><option value="JO">Jordan</option><option value="KZ">Kazakhstan</option><option value="KE">Kenya</option><option value="KG">Kirghizstan</option><option value="KI">Kiribati</option><option value="KW">Kuwait</option><option value="LA">Laos</option><option value="LV">Latvia</option><option value="LB">Lebanon</option><option value="LS">Lesotho</option><option value="LR">Liberia</option><option value="LY">Libya</option><option value="LI">Liechtenstein</option><option value="LT">Lithuania</option><option value="LU">Luxembourg</option><option value="MO">Macau</option><option value="MG">Madagascar</option><option value="MW">Malawi</option><option value="MY">Malaysia</option><option value="MV">Maldives</option><option value="ML">Mali</option><option value="MT">Malta</option><option value="MH">Marshall island</option><option value="MQ">Martinique</option><option value="MR">Mauritania</option><option value="MU">Mauritius</option><option value="XM">Mayotte</option><option value="MX">Mexico</option><option value="FM">Micronesia</option><option value="UM">Minor Outl.Ins.</option><option value="MD">Moldavia</option><option value="MC">Monaco</option><option value="MN">Mongolia</option><option value="MS">Montserrat</option><option value="MA">Morocco</option><option value="MZ">Mozambique</option><option value="NA">Namibia</option><option value="NR">Nauru</option><option value="NP">Nepal</option><option value="NL">Netherlands</option><option value="NC">New Caledonia</option><option value="NZ">New Zealand</option><option value="NI">Nicaragua</option><option value="NG">Nigeria</option><option value="NE">Nigeria</option><option value="NU">Niue</option><option value="NF">Norfolk Island</option><option value="KP">North Korea</option><option value="MP">North Mariana</option><option value="YE">North Yemen</option><option value="NO">Norway</option><option value="OM">Oman</option><option value="PK">Pakistan</option><option value="PW">Palau</option><option value="PA">Panama</option><option value="PG">Papua Nw Guinea</option><option value="PY">Paraguay</option><option value="PE">Peru</option><option value="PH">Philippines</option><option value="PL">Poland</option><option value="PT">Portugal</option><option value="PR">Puerto Rico</option><option value="QA">Qatar</option><option value="RE">Reunion</option><option value="RO">Romania</option><option value="RW">Ruanda</option><option value="RU">Russian Fed.</option><option value="ST">S.Tome, Principe</option><option value="AS">Samoa,American</option><option value="SM">San Marino</option><option value="SA">Saudi Arabia</option><option value="SN">Senegal</option><option value="SC">Seychelles</option><option value="SL">Sierra Leone</option><option value="SG">Singapore</option><option value="SI">Slovenia</option><option value="SK">Slowakia</option><option value="SB">Solomon Islands</option><option value="SO">Somalia</option><option value="ZA">South Africa</option><option value="KR">South Korea</option><option value="YD">South Yemen</option><option value="ES">Spain</option><option value="LK">Sri Lanka</option><option value="SH">St. Helena</option><option value="LC">St. Lucia</option><option value="VC">St. Vincent</option><option value="KN">St.Chr., Nevis</option><option value="PM">St.Pier, Miquel.</option><option value="STL">Stateless</option><option value="SD">Sudan</option><option value="SR">Suriname</option><option value="SZ">Swaziland</option><option value="SE">Sweden</option><option value="CH">Switzerland</option><option value="SY">Syria</option><option value="TJ">Tadschikistan</option><option value="TW">Taiwan</option><option value="TZ">Tanzania</option><option value="TH">Thailand</option><option value="TG">Togo</option><option value="TO">Tonga</option><option value="TT">Trinidad, Tobago</option><option value="TN">Tunisia</option><option value="TR">Turkey</option><option value="TM">Turkmenistan</option><option value="TC">Turks Caicos Is</option><option value="TV">Tuvalu</option><option value="VI">US Virgin Is.</option><option value="US">USA</option><option value="UG">Uganda</option><option value="UA">Ukraine</option><option value="AE">Unit. Arab Emir.</option><option value="UK">United Kingdom</option><option value="UY">Uruguay</option><option value="UZ">Uzbekistan</option><option value="VU">Vanuatu</option><option value="VA">Vatikanstadt</option><option value="VE">Venzuela</option><option value="VN">Vietnam</option><option value="WF">Wallis, Futuna</option><option value="WS">Western Samoa</option><option value="BY">White Russia</option><option value="YU">Yugoslavia</option><option value="ZR">Zaire</option><option value="ZM">Zambia</option><option value="ZW">Zimbabwe</option>
</select></td>
</TR>
<?php
if($Erreur['tel'] !='') { // le champ Téléphone est vide
echo '<TR>'
.'<TD></TD>'
.'<TD>'.$Erreur['tel'].'</TD>'
.'</TR>' ;
}
?>
<TR>
<TD>Votre N° de Téléphone* : </TD>
<TD><INPUT TYPE="text" NAME="tel" VALUE="<?php echo $tel ; ?>" SIZE="65"></TD>
</TR>
<?php
if($Erreur['fax'] !='') { // le champ Fax est vide
echo '<TR>'
.'<TD></TD>'
.'<TD>'.$Erreur['fax'].'</TD>'
.'</TR>' ;
}
?>
<TR>
<TD>Votre N° de Fax : </TD>
<TD><INPUT TYPE="text" NAME="fax" VALUE="<?php echo $fax ; ?>" SIZE="65"></TD>
</TR>
<?php
if($Erreur['SujetEmail'] !='') { // le champ email est vide
echo '<TR>'
.'<TD></TD>'
.'<TD>'.$Erreur['SujetEmail'].'</TD>'
.'</TR>' ;
}
?>
<TR>
<TD>Le motif de votre message*: </TD>
<TD><INPUT TYPE="text" NAME="ObjetEmail" VALUE="<?php echo $SujetEmail ; ?>" SIZE="65"></TD>
</TR>
<?php
if($Erreur['commentaire'] !='') { // le champ commentaire est vide
echo '<TR>'
.'<TD></TD>'
.'<TD>'.$Erreur['commentaire'].'</TD>'
.'</TR>' ;
}
?>
<TR>
<TD>Votre message* : </TD>
<TD><TEXTAREA NAME="commentaire" ROWS="20" COLS="50"><?php echo $commentaire ; ?>

5 réponses

Utilisateur anonyme
26 oct. 2007 à 22:50
Bonsoir,

Quelle est la question posée ?
redirection après envoi du formulaire

ai-je bien compris ?

l'utilisateur remplit un formulaire,
on vérifie les infos, on envoit le message et ...

ci après le code utilisé sur a2xsonorisation.org pour une demande de devis


envoi.php
<html>

<head>
<meta http-equiv="Content-Language" content="fr">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1152">
<LINK REL="stylesheet" HREF="monstyle.css" TYPE="text/css">

<title>Contact</title>
</head>
<SCRIPT LANGUAGE="JavaScript">
/*
SCRIPT EDITE SUR L'EDITEUR JAVASCRIPT
http://www.editeurjavascript.com
*/
function VerifForm(formulaire)
{
adresse = formulaire.expediteur.value;
zonemessage = formulaire.message.value;
var place = adresse.indexOf("@",1);
var point = adresse.indexOf(".",place+1);

if (zonemessage == "" ){
alert('zone texte du message invalide!!');
return(false);
}

if ((place > -1)&&(adresse.length >2)&&(point > 1))
{
formulaire.submit();
return(true);
}
else
{
alert('Entrez une adresse e-mail valide!!');
return(false);
}
}
</SCRIPT>

<body background="fond.jpg" >
<!--fichier mail.php-->
<?php
$envoi=$_POST['envoi'];
$destinataire="xxx"."@"."wanadoo.fr";
$expediteur=$_POST['expediteur'];
$sujet="sujet - contact";
$message=$_POST['message'];

if (! isset($envoi)) {
?>
<center><b>Contact </b></center>
<form name="formulaire" method="post" action="mail.php" onSubmit="return(VerifForm(this));">
<table border=0 width=80% cellspacing=3 cellpadding=3 align='center'><tr>
<td> Destinataire </td>
<td><input readonly type=text name='destinataire' size=30 value='xxx'></td>
</tr><tr>
<td> Expéditeur </td>
<td><input type=text name='expediteur' size=30 value=''> (entrez votre adresse électronique).</td>
</tr><tr>
<td> Sujet </td>
<td><input readonly type=text name='sujet' size=30 value='A2x Sonorisation - contact'></td>
</tr><tr>
<td> Votre message </td>
<td><textarea rows=10 cols=50 name='message' value='Voici mon message\n'></textarea></td>
</tr><tr>
<td>Validation : </td>
<td><input type='submit' name='envoi' value='Envoyer' ></td>
</tr>
<tr> <td colspan='2'>Aucune des informations entrées ici n'est conservée dans une base.
</td></tr>
</table>
</form>
<?php
}
else {

/* pour neutraliser les \ ajoutés à la transmission devant les ' et les " */
$message=stripslashes($message);
$sujet=stripslashes($sujet);
$entete="From: $expediteur\r\nReply-To: $expediteur\r\nX-Mailer: PHP/";

/* expédition et compte-rendu */
$ok=mail($destinataire, $sujet,$message,$entete);
if ($ok){
echo "Envoi du message à xxx réussi !";
echo "<br><input type='button' value=' Terminer ' onclick='javascript:window.close()'>";
}
else {
echo "L'envoi a échoué ..";
echo "<br><input type='button' value=' Terminer ' onclick='javascript:window.close()'>";
}
}
?>

----------------------------------------------------
envoi.php
<?

$adressemail = $_GET["adresse_email"];
$zone = $_GET["zone"];
$nompre = $_GET["nompre"];
echo "<body background='fond.jpg'>";
echo "<font color='blue'>";
echo "xxx vous remercie de votre confiance et met tout en oeuvre pour ";
echo "satisfaire votre demande dans les plus brefs délais</font>";
//---------------------------------

$message= "";
$message .= "<html>";
$message .= "<meta http-equiv='Content-Type' content='text/html; charset=windows-1152'>";
$message .= "<body background='fond.jpg' >";

$message .= "<font color='blue'><br><br><b>Contact</b></font>";
$message .= "<br>";
$message .= "<hr size=2 align=center color='#0000FF'>";
$message .= "<table>";
$message .= "<tr>";
$message .= "<td width=50%>";

$message .= "E-mail : $adressemail<br>";
$message .= "</tr>";
$message .= "</table>";
$message .= "<hr size=2 align=center color='#0000FF'>";


$message .= "$zone<br>";
$message .= "</td></tr></table>";
$message .= "<hr size=2 width='100%' align=center color='#0000FF'>";
$message .= "</html> ";
//-------------------------------
include('class.mail.php');

$mail = new simplemail;

$mail -> addrecipient(xxx@ihotmail.fr','qqq');
$mail -> addfrom('.$adressemail.','xxx');
$mail -> addsubject(' - Contact');

// le message text
//$mail -> text = 'Demande de devis';

// le message format html
$mail -> html = "$message";

if ( $mail -> sendmail() ) { echo "<br>Votre message a été envoyé"; } else { echo "<br>erreur dans l'envoi du message"; echo $mail->error_log; }
echo "<br>";
echo "<input type='button' value=' Terminer ' onclick='javascript:window.close()'>";
---------------------------------
class.mail.php

<?php

class simplemail {

var $recipientlist;
var $subject;
var $hfrom;
var $hbcc;
var $hcc;

var $Xsender;
var $ErrorsTo;
var $XMailer = 'PHP';
var $XPriority = 3;

var $set_mode='php';

var $text;
var $html;
var $attachement;
var $htmlattachement;

var $recipient;

var $body;
var $headers;
var $error_log;
var $connect;

var $default_charset = 'iso-8859-1';

var $B1B = "----=_001";
var $B2B = "----=_002";
var $B3B = "----=_003";


function simplemail() {
$this -> attachement = array();
$this -> htmlattachement = array();
}

function checkaddress($address) {
if ( preg_match('`(:alnum:([-_.]?:alnum:)*@:alnum:([-_.]?:alnum:)*\.([a-z]{2,4}))`', $address) ) {
return TRUE;
} else {
$this->error_log("l'adresse $address est invalide"); return FALSE;
}
}

function checkname($name) {
if ( preg_match("`[0-9a-zA-Z\.\-_ ]*`" , $name ) ) {
return TRUE;
} else {
$this->error_log(" le pseudo $name est invalide\n"); return FALSE;
}
}

function makenameplusaddress($address,$name) {
if ( !$this->checkaddress($address) ) return FALSE;
if ( !$this->checkname($name) ) return FALSE;
if ( empty($name) ) { return $address; }
else { $tmp=$name." <".$address.">"; return $tmp; }
}

function addrecipient($newrecipient,$name='') {
$tmp=$this->makenameplusaddress($newrecipient,$name);
if ( !$tmp ) { $this->error_log(" To: error"); return FALSE; }
$this->recipientlist[] = array( 'mail'=>$newrecipient, 'nameplusmail' => $tmp );
return TRUE;
}

function addbcc($bcc,$name='') {
$tmp=$this->makenameplusaddress($bcc,$name);
if ( !$tmp ) { $this->error_log(" Bcc: error"); return FALSE; }
if ( !empty($this->hbcc)) $this->hbcc.= ",";
$this->hbcc.= $tmp;
return TRUE;
}

function addcc($cc,$name='') {
$tmp=$this->makenameplusaddress($cc,$name);
if ( !$tmp ) { $this->error_log(" Cc: error\n"); return FALSE; }
if (!empty($this->hcc)) $this->hcc.= ",";
$this->hcc.= $tmp;
return TRUE;
}

function addsubject($subject) {
if (!empty($subject)) $this->subject = $subject;
}

function addfrom($from,$name='') {
$tmp=$this->makenameplusaddress($from,$name);
if ( !$tmp ) { $this->error_log(" From: error"); return FALSE; }
$this->hfrom = $tmp;
return TRUE;
}

function addreturnpath($return) {
$tmp=$this->makenameplusaddress($return,'');
if ( !$tmp ) { $this->error_log("Return-Path: error"); return FALSE; }
$this->returnpath = $return;
return TRUE;
}

function addreplyto($replyto) {
$tmp=$this->makenameplusaddress($replyto,'');
if ( !$tmp ) { $this->error_log(" Reply-To: error"); return FALSE; }
$this->returnpath = $tmp;
return TRUE;
}


// les attachements
function addattachement($filename) {
array_push ( $this -> attachement , array ( 'filename'=> $filename ) );
}

// les attachements html
function addhtmlattachement($filename,$cid='',$contenttype='') {
array_push ( $this -> htmlattachement ,
array ( 'filename'=>$filename ,
'cid'=>$cid ,
'contenttype'=>$contenttype )
);
}

function writeattachement(&$attachement,$B) {
$message = '';
if ( !empty($attachement) ) {
foreach($attachement as $AttmFile){
$patharray = explode ("/", $AttmFile['filename']);
$FileName = $patharray[count($patharray)-1];

$message .= "\n--".$B."\n";

if (!empty($AttmFile['cid'])) {
$message .= "Content-Type: {$AttmFile['contenttype']};\n name=\"".$FileName."\"\n";
$message .= "Content-Transfer-Encoding: base64\n";
$message .= "Content-ID: <{$AttmFile['cid']}>\n";
$message .= "Content-Disposition: inline;\n filename=\"".$FileName."\"\n\n";
} else {
$message .= "Content-Type: application/octetstream;\n name=\"".$FileName."\"\n";
$message .= "Content-Transfer-Encoding: base64\n";
$message .= "Content-Disposition: attachment;\n filename=\"".$FileName."\"\n\n";
}

$fd=fopen ($AttmFile['filename'], "rb");
$FileContent=fread($fd,filesize($AttmFile['filename']));
fclose ($fd);

$FileContent = chunk_split(base64_encode($FileContent));
$message .= $FileContent;
$message .= "\n\n";
}
$message .= "\n--".$B."--\n";
}
return $message;
}

function BodyLineWrap($Value) {
return wordwrap($Value, 78, "\n ");
}

function makebody() {
$message='';
if ( !$this->html && $this->text && !empty($this->attachement) ) {

//Messages start with text/html alternatives in OB
$message ="This is a multi-part message in MIME format.\n";
$message.="\n--".$this->B1B."\n";

$message.="Content-Type: text/plain; charset=\"iso-8859-1\"\n";
$message.="Content-Transfer-Encoding: quoted-printable\n\n";
// plaintext goes here
$message.=$this->BodyLineWrap($this->text)."\n\n";

$message.=$this->writeattachement($this->attachement,$this->B1B);

}
elseif ( !$this->html && $this->text && empty($this->attachement) ) {

// plaintext goes here
$message.=$this->BodyLineWrap($this->text)."\n\n";
}
elseif ( $this->html ) {

//Messages start with text/html alternatives in OB
$message ="This is a multi-part message in MIME format.\n";
$message.="\n--".$this->B1B."\n";

$message.="Content-Type: multipart/related;\n\t boundary=\"".$this->B2B."\"\n\n";
//plaintext section
$message.="\n--".$this->B2B."\n";

$message.="Content-Type: multipart/alternative;\n\t boundary=\"".$this->B3B."\"\n\n";
//plaintext section
$message.="\n--".$this->B3B."\n";

$message.="Content-Type: text/plain; charset=\"iso-8859-1\"\n";
$message.="Content-Transfer-Encoding: quoted-printable\n\n";
// plaintext goes here
$message.=$this->BodyLineWrap($this->text)."\n\n";

// html section
$message.="\n--".$this->B3B."\n";
$message.="Content-Type: text/html; charset=\"iso-8859-1\"\n";
$message.="Content-Transfer-Encoding: base64\n\n";
// html goes here
$message.=chunk_split(base64_encode($this->html))."\n\n";

// end of text
$message.="\n--".$this->B3B."--\n";

// attachments html
if (empty($this->htmlattachement)) {
$message.="\n--".$this->B2B."--\n";
} else {
$message.=$this->writeattachement( $this->htmlattachement,$this->B2B);
}

// attachments
if (empty($this->attachement)) {
$message.="\n--".$this->B1B."--\n";
} else {
$message.=$this->writeattachement($this->attachement,$this->B1B);
}

}

$this->body = $message;

return $message;

}

// Mail Headers Methods

function MakeHeaderField($Field,$Value) {
return wordwrap($Field.": ".$Value, 78, "\n ")."\r\n";
}

function AddField2Header($Field,$Value) {
$this->headers .= $this->MakeHeaderField($Field,$Value);
}

function makeheader() {

$this->headers = '';

if ( empty($this->recipientlist) ) { $this->error_log("destinataire manquant"); return FALSE; }
// else { $this->AddField2Header("To",$this->recipient); }

if ( empty($this->subject) ) {
$this->error_log("sujet manquant");
return FALSE;
} else {
if ($this->set_mode!='php' ) {
$this->AddField2Header("Subject", $this->subject);
}
}


# Date: Mon, 03 Nov 2003 20:48:06 +0100
$this->AddField2Header("Date", date ('r'));

if ( !empty($this->Xsender) ) { $this->AddField2Header("X-Sender",$this->Xsender); }
else { $this->AddField2Header("X-Sender",$this->hfrom); }

if ( !empty($this->ErrorsTo) ) { $this->AddField2Header("Errors-To",$this->ErrorsTo); }
else { $this->AddField2Header("Errors-To",$this->hfrom); }

if ( !empty($this->XMailer) ) $this->AddField2Header("X-Mailer",$this->XMailer);

if ( !empty($this->XPriority) ) $this->AddField2Header("X-Priority",$this->XPriority);

if ( !empty($this->hfrom) ) $this->AddField2Header("From",$this->hfrom);

if ( !empty($this->returnpath) ) $this->AddField2Header("Return-Path",$this->returnpath);

if ( !empty($this->replyto) ) $this->AddField2Header("Reply-To",$this->replyto);

$this->headers .="MIME-Version: 1.0\r\n";

if ( !$this->html && $this->text && !empty($this->attachement) ) {
$this->headers .= "Content-Type: multipart/mixed;\r\n\t boundary=\"".$this->B1B."\"\r\n";
} elseif ( !$this->html && $this->text && empty($this->attachement) ) {
$this->headers .="Content-Type: text/plain; charset=us-ascii; format=flowed\r\n";
$this->headers .="Content-Transfer-Encoding: 7bit\r\n";
} elseif ( $this->html ) {
if ( !$this->text ) { $this->text="HTML only!"; }
$this->headers .="Content-Type: multipart/mixed;\r\n\t boundary=\"".$this->B1B."\"\r\n";
}

if ( !empty($this->hcc) ) $this->AddField2Header("Cc",$this->hcc);
if ( !empty($this->hbcc) ) $this->AddField2Header("Bcc",$this->hbcc);

return $this->headers;
}

function sendmail() {
$this->makebody();
$this->makeheader();
switch($this->set_mode) {
case 'php' : $this->phpmail(); break;
case 'socket': $this->socketmailloop(); break;
}
return TRUE;
}

// Mail send by PHPmail

function phpmail() {
while ( list($key, $to) = each($this->recipientlist) ) {
$this->recipient = $to['mail'];
if ( mail($to['mail'], $this->subject, $this->body, $this->makeheader() ) ) {
$this->error_log("envoie vers {$to['nameplusmail']} réussi");
} else {
$this->error_log("envoie vers {$to['nameplusmail']} echoué");
}
}
return TRUE;
}

// Socket Function

function SocketStart() {
if (!$this->connect = fsockopen (ini_get("SMTP"), ini_get("smtp_port"), $errno, $errstr, 30)) {
$this->error_log("Could not talk to the sendmail server!"); return FALSE;
};
return fgets($this->connect, 1024);
}

function SocketStop() {
fclose($this->connect);
return TRUE;
}

function SocketSend($in,$wait='') {
fputs($this->connect, $in, strlen($in));
echo "-"; flush();
if(empty($wait)) {
$rcv = fgets($this->connect, 1024);
return $rcv;
}
return TRUE;
}

// Mail Socket

function socketmailstart() {

$this->SocketStart();
if (!isset($_SERVER['SERVER_NAME']) || empty($_SERVER['SERVER_NAME'])) { $serv = 'unknown'; }
else { $serv = $_SERVER['SERVER_NAME']; }
$this->SocketSend("HELO $serv\r\n");
}

function socketmailsend($to) {

$this->recipient = $to;
$this->error_log("Socket vers $to");

$this->SocketSend( "MAIL FROM:{$this->hfrom}\r\n" );
$this->SocketSend( "RCPT TO:$to\r\n" );
$this->SocketSend( "DATA\r\n" );
$this->SocketSend( $this->CleanMailDataString($this->headers)."\r\n", 'NOWAIT' );
$this->SocketSend( $this->CleanMailDataString($this->body)."\r\n", 'NOWAIT' );
$this->SocketSend( ".\r\n" );
$this->SocketSend( "RSET\r\n" );

$this->error_log("Fin de l'envoi vers $to");

return TRUE;
}

function socketmailstop() {
$this->SocketSend("QUIT\r\n");
$this->SocketStop();
return TRUE;
}

function socketmailloop() {
$this->socketmailstart();
while ( list($key, $to) = each($this->recipientlist)) {
$this->recipient = $to['mail'];
$this->makeheader();
$this->socketmailsend($to['mail']);
}
$this->socketmailstop();
}

// Misc.

function error_log($msg='') {
if(!empty($msg)) {
$this->error_log .= $msg . "\r\n--\r\n";
return TRUE;
}
return " --- Error Log --- \r\n\r\n".$this->error_log;
}

function CleanMailDataString($data) {
$data = preg_replace("/([^\r]{1})\n/", "\\1\r\n", $data);
$data = preg_replace("/\n\n/", "\n\r\n", $data);
$data = preg_replace("/\n\./", "\n..", $data);
return $data;
}
}
?>
0
tango95190 Messages postés 3 Date d'inscription vendredi 26 octobre 2007 Statut Membre Dernière intervention 27 octobre 2007
27 oct. 2007 à 00:11
Bonjour ,
Pouvez vous me dire si je peux faire une redirection après que le visiteur est envoyer le mail a mon adresse email via le formulaire , en incluant une séquence dans mon formulaire
0
Utilisateur anonyme
27 oct. 2007 à 14:49
Bonjour,

sur la page qui dit votre mail a bien été envoyé on peut mettre :

<script language="javascript">
document.location="url.htm";
</script>
0
tango95190 Messages postés 3 Date d'inscription vendredi 26 octobre 2007 Statut Membre Dernière intervention 27 octobre 2007
27 oct. 2007 à 16:52
Bonjour,
jes que un fichier contacT regarder le ses le code du début je peux intégrer sa dessus ou pas , Met ou ????
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
27 oct. 2007 à 18:27
ce script s'executera dans la séquence, là où il aura été mis.
0