pb header location

pb header location - PHP - Programmation

Marsh Posté le 08-10-2008 à 21:18:47    

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&eacute;geant la balise html
 $message = "Nom : ";
 $message .= htmlspecialchars($_POST['nom']);
 //Pour afficher le pr&eacute;nom en prot&eacute;geant la balise html
 $message .= "\nPrenom : ";
 $message .= htmlspecialchars($_POST['prenom']);
 //Pour afficher l'adresse en prot&eacute;geantla balise html
 $message .= "\nAdresse : ";
 $message .= htmlspecialchars($_POST['adresse']);
 //Pour afficher le T&eacute;l&eacute;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&eacute;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&eacute;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&eacute;l&eacute;phone </h6></td>
            <td &nbsp;><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&eacute;rieures" class="champ"/>
                  Interventions ext&eacute;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>&nbsp;</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&eacute;initialiser" value="R&eacute;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&eacute;s" alt="Actualit&eacute;s" />
        <area shape="rect" coords="391,111,449,153" href="ateliers_enfants.htm" target="_parent" title="Activit&eacute;s" alt="Activit&eacute;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&eacute;s" alt="Actualit&eacute;s" />
  <area shape="rect" coords="391,111,449,153" href="ateliers_enfants.htm" target="_parent" title="Activit&eacute;s" alt="Activit&eacute;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.

Reply

Marsh Posté le 08-10-2008 à 21:18:47   

Reply

Marsh Posté le 08-10-2008 à 23:19:50    

Mets ton php au debut du code
un header php ne peut etre écrit sur la page après du texte brut donc quelque soit le caractère interprété le precédent .
 
Meme un espace avant le <?php peut faire apparaitre cette erreur !!!


---------------
Recette cookeo Recette de cuisine
Reply

Marsh Posté le 09-10-2008 à 05:02:05    

Merci, j'ai déjà essayé cette solution, mais quand je veux ouvrir la page contact.php, à partir du lien hypertexte de la page contact.htm cela me renvoie vers cette page cad que je clique sur le lien qui doit ouvrir mon formulaire et je reste sur cette page au lieu d'ouvrir le formulaire. Or je voudrais, qu'après l'envoie du formulaire et l'apparition du message d'alerte, lorsque l'on clique sur OK, la redirection se fasse. vers la page contact.htm.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed