5160 sujets

Le Bar du forum

Bonjour,
J'ai un petit souci j'ai utilisé un formulaire de contact en php
mais j'aimerais redirigé la page vers une nouvelle page aprés l'envoie de l'e-mail.
Cependant je ne vois pas trop ou je dois mettre le code de redirection (if($envoi) header("location:merci.html");)

Pouvez vous me donner un coup de main?


<?php
// Couleur du texte des champs si erreur saisie utilisateur
$color_font_warn="#15BEF0";
// Couleur de fond des champs si erreur saisie utilisateur
$color_form_warn="#FFF";
// Ne rien modifier ci-dessous si vous n'êtes pas certain de ce que vous faites !
if(isset($_POST['submit'])){
	$erreur="";
	// Nettoyage des entrées
	while(list($var,$val)=each($_POST)){
	if(!is_array($val)){
		$var=strip_tags($val);
	}else{
		while(list($arvar,$arval)=each($val)){
				$var[$arvar]=strip_tags($arval);
			}
		}
	}
	// Formatage des entrées
	$f_1=trim(ucwords(eregi_replace("[^a-zA-Z0-9éèàäö\ -]", "", $f_1)));
	$f_2=strip_tags(trim($f_2));
	// Verification des champs
	if(strlen($f_1)<2){
		$erreur.="<li><span class='txterror1'>Le champ &laquo; Nom Prénom &raquo; n'est pas correctement rempli.</span>";
		$errf_1=1;
	}
	if(strlen($f_2)<2){
		$erreur.="<li><span class='txterror1'>Le champ &laquo; E-mail &raquo; n'est pas correctement rempli.</span>";
		$errf_2=1;
	}else{
		if(!ereg('^[-!#$%&\'*+\./0-9=?A-Z^_`a-z{|}~]+'.
		'@'.
		'[-!#$%&\'*+\/0-9=?A-Z^_`a-z{|}~]+\.'.
		'[-!#$%&\'*+\./0-9=?A-Z^_`a-z{|}~]+
,
$f_2)){
$erreur.="<li><span class='txterror1'>La syntaxe de votre E-mail n'est pas correctement rempli.</span>";
$errf_2=1;
}
}
if(strlen($f_3)<2){
$erreur.="<li><span class='txterror1'>Le champ &laquo; Objet &raquo; n'est pas correctement rempli.</span>";
$errf_3=1;
}
if(strlen($f_4)<2){
$erreur.="<li><span class='txterror1'>Le champ &laquo; Message &raquo; n'est pas correctement rempli.</span>";
$errf_4=1;
}

if($erreur==""){
// Création du message
$titre="Message de votre site";
$tete="From:Site@Tiffanypoirier.fr\n";
$corps.="Nom Prénom : ".$f_1."\n";
$corps.="E-mail : ".$f_2."\n";
$corps.="Objet : ".$f_3."\n";
$corps.="Message : ".$f_4."\n";
if(mail("tiffanysbook@gmail.com", $titre, stripslashes($corps), $tete)){
$ok_mail="true";
}else{
$erreur.="<li><span class='txterror'>Une erreur est survenue lors de l'envoi du message, veuillez refaire une tentative.</span>";
}
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>Écrivez-moi</title>
<script src="js/jquery.min.js" language="javascript" type="text/javascript"></script>

<link rel="stylesheet" media="screen" href="css/ecran-full.css" />


<link rel="shorcut icon" href="images/design/favicon.png"/>

<meta name="author" lang="fr" content="Tiffany Poirier" />

<meta name="keywords" lang="fr" content=" tiffany, poirier, édition, book, portfolio, publicité, graphisme, graphiste, éxécutant, créatif, création, éxécution, réalisation, projet, print, imprimerie, PAO, infographie, formulaire, e-mail, mail, contact, devis, renseignements, écrivez-moi," />

<meta name="reply-to" content="tiffanysbook@gmail.com" />
<meta name="robots" content="index,follow" />
<meta name="identifier-url" content="http://www.tiffanypoirier.fr" />
<meta name="Description" content=" Tiffany Poirier, graphiste créatif et éxécutant à Paris : Formulaire" />

<style type="text/css" media="screen"><!--
INPUT { color: #000; font-size: 12px; font-family: 'CaviarDreamsBold'; background-color: #FFF }
SELECT { color: #000; font-size: 12px; font-family: 'CaviarDreamsBold'; background-color: #FFF }
TEXTAREA { color: #000; font-size: 12px; font-family: 'CaviarDreamsBold'; background-color: #FFF }

.txterror { color: #797C82; font-size: 20px; font-family: 'CaviarDreamsBold' }
.txterror1 { color: #797C82; font-size: 15px; font-family: 'CaviarDreamsBold' }
.txtform { color: #797C82; font-size: 15px; font-family: 'CaviarDreamsBold' }
--></style>
</head>

<body>
<div id="height">
<div id="page" class="fond_large">
<div id="header">

<div id="bandeau">

<a href="index.html"><img src="images/design/header.png" align="right" style="margin-right:30px;"
alt="Tiffany's Book Graphisme - Édition - Publicité"/></a>

<img src="images/design/header1.png" alt="logo tiffany poirier" style="height:100%;" onmouseover=
"this.src='images/design/header2.png'" onmouseout="this.src='images/design/header1.png'"/>
</div>

<div id="filet"></div>
</div>


<div id="conteneur_menu">

<div id="menu">
<ul>
<li>
<a href="presentation.html" class="presentation">Présentation</a>
</li>
<li>
<a href="book.html" class="book">Book</a>
</li>
<li>
<a href="cv.html" class="cv">CV</a>
</li>
<li class="last">
<a href="contact.php" class="contact">Contact</a>
</li>
</ul>
</div>
</div>

<div id="conteneur">

<div id="banner-vertical1">
<div id="form">
<form action='<? echo $PHP_SELF ?>' method='post' name='formulaire'id='formulaire'>
<? if($ok_mail=="true"){ ?>
<table>

<tr>
<td>
<span class='txtform'>Le message ci-dessous nous a bien été transmis, et nous vous en remercions.</span>
</td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><tt><?echo nl2br(stripslashes($corps));?></tt></td></tr>
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td>
<span class='txtform'>Nous allons y donner suite dans les meilleurs délais.<br>A bientôt.</span>
</td>
</tr>
</table>

<? }else{ ?>

<table>
<? if($erreur){ ?>
<tr>
<td colspan="2">


<span class='txterror'><font color='#15BEF0'>
<b>&nbsp;Votre message n'a pas été envoyé</b>
</font></span>
</td>
</tr>
<tr>
<td colspan='2'>
<ul><?echo$erreur?></ul>
</td>
</tr>
<?}?>

<tr>
<td colspan="2">
<div id="ecrivez">Écrivez-moi!</div>
</td>
</tr>
<tr>
<td colspan='2'>
<span class='txterror1'>Les champs marqué d'un * sont obligatoires</span>
</td>
</tr>
<tr>
<td style="width:140px;">Nom Prénom :* </td>
<td><input type='text' style='width:325px <?if($errf_1==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_1' value='<?echo stripslashes($f_1);?>' size='30' border='0'/></td>
</tr>

<tr>
<td>E-mail :* </td>
<td><input type='text' style='width:325px <?if($errf_2==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_2' value='<?echo stripslashes($f_2);?>' size='30' border='0'/></td>
</tr>

<tr>
<td>Objet :*</td>
<td><input type='text' style='width:325px <?if($errf_3==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_3' size='30' border='0'/></td>
</tr>
<tr>
<td valign="top">Message :*
<br/>
<br/>
Suivez-moi:
<br/>
<div id="reseau" style="margin-top:5%;">
<a href="http://www.facebook.com/profile.php?id=100003535492818" style="text-decoration:none"><img src="images/boutons/facebook1.png" alt="facebook"/></a>
<a href="http://fr.viadeo.com/fr/profile/tiffany.poirier" style="text-decoration:none"><img src="images/boutons/viadeo1.png" alt="video"/></a>
<a href="http://www.linkedin.com/pub/tiffany-poirier/23/691/3a4" style="text-decoration:none"><img src="images/boutons/likedin1.png" alt="linkedin"/></a>
</div>

</td>
<td><textarea style='height:250px; width:325px <?if($errf_4==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_4'><?echo$f_4?></textarea></td>
</tr>

<tr>
<td></td>
<td style="text-align:center;">
<input type='submit' name='submit' value='' border='0' alt='Envoyer' id="send">
</td>
</tr>
</table>
</form>
<? } ?>
</div>
</div>
<div id="form-img"></div>
</div>
<footer>
<div id="filet1"></div>
<div id="bandeau1">
<br />
<div id="copyright2" align="center">
©2012 - tous droits réservés <span class="separation">|</span> <a href="mentions.html" class="legal">Mentions Légales</a>
</div>
</div>
</footer>
</div>
</div>
</body>
</html>[/code]
Tu le mets au milieu de tout ce bordel et t'espère que ça marche. Smiley lol

Et la version sérieuse : c'est samedi les gens sont à la plage donc les "up" au bout de 15 minutes ça ne sert à rien. Et accessoirement t'as posté dans le mauvais forum.
Modifié par jb_gfx (21 Jul 2012 - 18:25)
juste avant le

?>
<!DOCTYPE html PUBLIC "-//W3C//DT


Pense aussi à initialiser $ok_mail=false; en début de script.
Hello,

Même si c'est pas dans la bonne section, ça ne m'empêche pas de répondre à ta question. Et au passage c'est inutile de coller tout le code de la page à part pour rendre le sujet illisible.

A mon avis, ceci est à souligner :

$PHP_SELF /* Pas bien ! */

$_SERVER['PHP_SELF'] /* Bien ! */


Regarde le code source généré par ta page, ça m'étonnerais pas qu'un message d'erreur se cache dans ton attribut "action" de ton formulaire.

Sinon, la redirection tu la fait quand tu as vérifié et traité toutes les données. Et c'est pas l'envoi que tu dois tester avant de rediriger, mais la présence d'erreurs.