Bonsoir,
j'ai créé le formulaire suivant en php et html . Le but est qu'après l'apparition du message d'alerte, la page soit redirigée vers une autre page. Je voudrais savoir si cela est possible et si je peux utiliser un header('location'); et dans l'affirmative, où je dois le placer. Le code de mon formulaire est le suivant:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!-- saved from url=(0014)about:internet -->
<html xmlns="http://www.w3.org/1999/xhtml"><!-- InstanceBegin template="/Templates/page.dwt" codeOutsideHTMLIsLocked="false" -->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Document sans nom</title>
<link href="stylepeps.css" rel="stylesheet" type="text/css" />
<script type="text/JavaScript">
<!--
function MM_findObj(n, d) { //v4.01
var p,i,x; if(!d) d=document; if((p=n.indexOf("?" ))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
if(!x && d.getElementById) x=d.getElementById(n); return x;
}
function MM_validateForm() { //v4.0
var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);
if (val) { nm=val.name; if ((val=val.value)!="" ) {
if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
if (p<1 || p==(val.length-1)) errors+='- '+nm+' doit contenir une adresse email.\n';
} else if (test!='R') { num = parseFloat(val);
if (isNaN(val)) errors+='- '+nm+' doit contenir un nombre.\n';
if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
min=test.substring(8,p); max=test.substring(p+1);
if (num<min || max<num) errors+='- '+nm+' doit contenir un nombre compris entre '+min+' et '+max+'.\n';
} } } else if (test.charAt(0) == 'R') errors += '- '+nm+' est nécessaire.\n'; }
} if (errors) alert('Nous vous demandons de bien vouloir remplir tous les champs obligatoires. Merci\n'+errors);
document.MM_returnValue = (errors == '');
}
//-->
</script>
</head>
<body>
<!-- InstanceBeginEditable name="Tableau" -->
<table width="800" align="left" bgcolor="#FFFFFF" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><div class="texte-fenetre" id="Layer1">
<div align="center">
<?php
if (isset($_POST['envoie']))
{
//Pour afficher le Nom en protégeant la balise html
$message = "Nom : ";
$message .= htmlspecialchars($_POST['nom']);
//Pour afficher le prénom en protégeant la balise html
$message .= "\nPrenom : ";
$message .= htmlspecialchars($_POST['prenom']);
//Pour afficher l'adresse en protégeantla balise html
$message .= "\nAdresse : ";
$message .= htmlspecialchars($_POST['adresse']);
//Pour afficher le Téléphone
$message .= "\nTelephone : ";
$message .= $_POST['telephone'];
//Pour afficher l'email
$message .= "\nEmail : ";
$message .= $_POST['email'];
//Pour afficher l'objet de la demande
$message .= "\nObjet : ";
//$r = count ($obj);
foreach ($_REQUEST['objet'] as $obj)
$message .= ' '. $obj;
//Pour afficher le descriptif de la demande en protégeant la balise html
$message .= "\nDescriptif : ";
$message .= htmlspecialchars($_POST['descriptif']);
//permet l'envoi du contenu du formulaire dans le corps d'un mail avec indication du sujet du message (email, objet, message)
$ret = mail("monnom@mondomaine.fr", "Demande d'information", $message);
if ($ret === true)
echo "<script>alert('Votre demande d\'\information a bien été prise en compte. Nous vous répondrons le plus rapidement possible.');</script>";
}
else
Header("Location: http://localhost/contact.htm" );
{
?>
<strong><font color="#999999"></font></strong> <br />
<br />
</div>
<form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post" onsubmit="MM_validateForm('nom','','R','prenom','','R','email','','RisEmail','descriptif','','R');return document.MM_returnValue">
<table width="450" border="0" cellpadding="0" cellspacing="0">
<tr>
<td height="20" colspan="2"><div align="center">
<p align="center"><span class="Style6"><strong>Vous souhaitez nous contacter</strong></span><br />
<br />
<span class="Style3"><strong>
<b>
<font size="4">
<SCRIPT language="JavaScript" title="G1SCRIPT">
//by Matt Hedgecoe (c) 2002
var text="Merci d'utiliser le formulaire ci-dessous" // YOUR TEXT
var speed=80 // SPEED OF FADE
// ********** LEAVE THE NEXT BIT ALONE!
if (document.all||document.getElementById){
document.write('<span id="highlight">' + text + '</span>')
var storetext=document.getElementById? document.getElementById("highlight" ) : document.all.highlight
}
else
document.write(text)
var hex=new Array("00","14","28","3C","50","64","78","8C","A0","B4","C8","DC","F0" )
var r=1
var g=1
var b=1
var seq=1
function changetext(){
rainbow="#"+hex[r]+hex[g]+hex[b]
storetext.style.color=rainbow
}
function change(){
if (seq==6){
b--
if (b==0)
seq=1
}
if (seq==5){
r++
if (r==12)
seq=6
}
if (seq==4){
g--
if (g==0)
seq=5
}
if (seq==3){
b++
if (b==12)
seq=4
}
if (seq==2){
r--
if (r==0)
seq=3
}
if (seq==1){
g++
if (g==12)
seq=2
}
changetext()
}
function starteffect(){
if (document.all||document.getElementById)
flash=setInterval("change()",speed)
}
starteffect()
</SCRIPT>
</font></b> </strong></span></p>
<br />
</div></td>
</tr>
<tr>
<td width="150" class="Style5"><h6 class="Style7">Nom </h6></td>
<td width="300"><h6>
<input name="nom" type="text" size="40" class="champ" />
<span class="Style7"> (* )</span> </h6></td>
</tr>
<tr>
<td class="Style5"><h6 class="Style7">Prénom </h6></td>
<td><h6>
<input name="prenom" type="text" size="40" class="champ" />
<span class="Style7"> (* )</span> </h6></td>
</tr>
<tr>
<td><h6 class="Style7">Adresse </h6></td>
<td><textarea name="adresse" cols="40"></textarea>
</td>
</tr>
<tr>
<td><h6 class="Style7">Téléphone </h6></td>
<td ><h6 class="Style7">
<input name="telephone" type="text" size="15" class="champ"/>
</h6></td>
</tr>
<tr>
<td><h6 class="Style7">Mail </h6></td>
<td><h6>
<input name="email" type="text" size="40" class="champ"/>
<span class="Style7">(* ) </span></h6></td>
</tr>
<tr>
<td><h6 class="Style7">Objet de votre demande (* )</h6></td>
<td><h6 class="Style7">
<input type="checkbox" name="objet[]" value="Ateliers hebdo enfants" class="champ"/>
Ateliers hebdo enfants
<input type="checkbox" name="objet[]" value="Ateliers hebdo adultes" class="champ"/>
Ateliers hebdo adultes
<p></p>
</h6>
<h6 class="Style7">
<input type="checkbox" name="objet[]" value="Stages" class="champ"/>
Stages
<input type="checkbox" name="objet[]" value="Interventions extérieures" class="champ"/>
Interventions extérieures
<input type="checkbox" name="objet[]" value="Autres" class="champ"/>
Autres </h6></td>
</tr>
<tr>
<td><h6><span class="Style7">Descriptif de votre demande (*) </span></h6></td>
<td><textarea name="descriptif" cols="55" class="champ"></textarea>
</td>
</tr>
<tr>
<td> </td>
<td><input name="envoie" type="hidden" value="1" />
<input type="submit" name="Submit" value="Envoyer" />
<input name="button" type="button" onclick="window.print()" value="Imprimer cette page" />
<input type="reset" name="Réinitialiser" value="Réinitialiser" />
</td>
</tr>
<tr>
<td colspan="2"><div align="center">
<h6 class="Style7">(*) Champs obligatoires </h6>
<p><a href="contact.htm" target="_parent" class="Style3">Retour</a></p>
</div></td>
</tr>
</table>
</form>
<?php }?>
</div>
<img name="contact" src="images/contact.gif" border="0" id="contact" usemap="#m_contactMap" alt="" />
<map name="m_contactMap" id="m_contactMap">
<area shape="rect" coords="632,111,703,153" href="partenaires.htm" target="_parent" title="Partenaires" alt="Partenaires" />
<area shape="rect" coords="564,111,614,153" href="contact.htm" target="_parent" title="Contact" alt="Contact" />
<area shape="rect" coords="477,111,539,153" href="galeries_photos.htm" target="_parent" title="Actualités" alt="Actualités" />
<area shape="rect" coords="391,111,449,153" href="ateliers_enfants.htm" target="_parent" title="Activités" alt="Activités" />
<area shape="rect" coords="290,111,367,153" href="accueil.htm" target="_parent" title="L'Association" alt="L'Association" />
</map></td>
</tr>
</table>
<map name="m_contact" id="m_contact">
<area shape="rect" coords="632,111,703,153" href="partenaires.htm" target="_parent" title="Partenaires" alt="Partenaires" />
<area shape="rect" coords="563,111,613,153" href="contact.html" target="_parent" title="Contact" alt="Contact" />
<area shape="rect" coords="477,111,539,153" href="galeries_photos.htm" target="_parent" title="Actualités" alt="Actualités" />
<area shape="rect" coords="391,111,449,153" href="ateliers_enfants.htm" target="_parent" title="Activités" alt="Activités" />
<area shape="rect" coords="290,111,367,153" href="accueil.htm" target="_parent" title="L'Association" alt="L'Association" />
</map>
<!-- InstanceEndEditable -->
</body>
<!-- InstanceEnd --></html>
Or au moment du chargement de la page, ce message d'erreur s'affiche:
Warning: Cannot modify header information - headers already sent by (output started at c:\program files\easyphp1-8\www\contact2.php:7) in c:\program files\easyphp1-8\www\contact2.php on line 79
Par contre malgré ce message d'alerte, le contenu du formulaire est bien envoyée.
Où peut être le problème et que pourrais-je modifier.
Merci d'avance pour tout conseil, suggestion ou information et bonne soirée à tous.