Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1871 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  pb header location

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

pb header location

n°1797455
gri1ton
Posté le 08-10-2008 à 21:18:47  profilanswer
 

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.

mood
Publicité
Posté le 08-10-2008 à 21:18:47  profilanswer
 

n°1797511
ionik
Posté le 08-10-2008 à 23:19:50  profilanswer
 

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
n°1797521
gri1ton
Posté le 09-10-2008 à 05:02:05  profilanswer
 

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.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  pb header location

 

Sujets relatifs
Petite erreur de rien du tout , header('location"header location:" est laxiste
Header (location) et Robots...Header dans un popup
Erreur header(sprintf("Location: %s", $deleteGoTo));Etrangetée header location
Faire passer une variable par un header("Location: ...")Temporiser un header("Location: ***");
exit apres location header ? 
Plus de sujets relatifs à : pb header location


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR