8797 sujets

Développement web côté serveur, CMS

Modérateur
Bonjour tout le monde,

J'ai fait un petit script où il y a la fonction header(); Lorsque je lance (pas trop fort) le script, j'ai droit à un joli message d'erreur.


header ("Location:  http://localhost/admin.php");
 



Par avance merci de m'indiquer le soucis.

@+
Modifié par Nolem (14 Mar 2008 - 21:52)
salut nolem,

quelle erreur?

ne serait ce pas dut a une ecriture presente avant, un message d'erreur peut-être ou tout simplement une ligne blanche?
Modifié par CPascal (11 Mar 2008 - 15:41)
Modérateur
Il me met ceci :

Warning: Cannot modify header information - headers already sent by (output started at C:\wamp\www\php5_micro_app\chap8\2\eleve_ajoute.php:40) in C:\wamp\www\php5_micro_app\chap8\2\eleve_ajoute.php on line 45

mon code :

<?php
include ("variables.inc.php");
include ("identification.inc.php");

if ($_REQUEST['enregistre']=="oui"){

	$liensdb=mysql_connect($bddserver,$bddlogin,$bddpassword);
	mysql_select_db($bdd);
	
	$nom=$_REQUEST['nom'];
	$prenom=$_REQUEST['prenom'];
	$adresse=$_REQUEST['adresse'];
	$ville=$_REQUEST['ville'];
	$cp=$_REQUEST['cp'];
	$pays=$_REQUEST['pays'];
	$naissance=$_REQUEST['naissance'];
	$telephone=$_REQUEST['telephone'];
	$sexe=$_REQUEST['sexe'];
	$email=$_REQUEST['email'];
	$lv=$_REQUEST['lv'];
	$taille=$_REQUEST['taille'];
	
		if (empty($nom)||empty($prenom)||empty($adresse)||empty($ville)||empty($cp)||empty($pays)||empty($naissance)||empty($telephone)||empty($lv)){
		die ("ERREUR : Tous les chmaps doivent être saisie correctement.");
		}
		if ($sexe!="masculin" && $sexe!="feminin"){
			die ("ERREUR : choisissez le sexe");
		}
		if (preg_match("#^[a-z0-9._-]+@[a-z0-9._-]+\.[a-z]{2,4}$#",$email)==false){
		die("ERREUR : e-mail pas valide");
		}
		if ($taille<100 || $taille>220){
		die ("ERREUR : Taille pas valide");
		}
		
		
			$sql="INSERT INTO eleve (nom,prenom,adresse,ville,cp,pays,sexe,naissance,taille,email,telephone,lv) VALUES ('$nom','$prenom','$adresse','$ville','$cp','$pays','$sexe','$naissance','$taille','$email','$telephone','$lv')";
			$resultat_sql=mysql_query($sql,$liensdb);
			if ($resultat_sql=true){
			echo "L'élève $nom a été bien enregistré.";
			}else{
			echo "Echec de la requete";
			}
			mysql_close($liensdb);
			header ("Location: admin.php");
}
include ("haut.inc.php");

echo "<p align=\"left\"> ::ajout d'un élève".$_REQUEST['id']."</p>";
?>
<form action="file:///C|/wamp/www/php5_micro_app/chap8/2/eleve_ajoute.php" method="post" name="form1" target="_self" id="form1">
<input type="hidden" name="enregistre" value="oui" />
<p>
	<label>nom</label>
	<input type="text" name="nom" id="nom" />
</p>
<p>
	<label>prenom</label>
	<input type="text" name="prenom" id="prenom" />
</p>
<p>
  <label>adresse</label>
  <input type="text" name="adresse" id="adresse" />
</p>
<p>
  <label>ville</label>
  <input type="text" name="ville" id="ville" />
</p>
<p>
  <label>cp</label>
  <input type="text" name="cp" id="cp" />
</p>
<p>
  <label>pays</label>
  <input type="text" name="pays" id="pays" />
</p>
<p>
  <label>sexe</label>
  <input type="radio" name="sexe" id="sexe" value="masculin" /> M
  <input type="radio" name="sexe" id="sexe" value="feminin" /> F 
</p>
<p>
  <label>date de naissance</label>
  <input type="text" name="naissance" id="naissance" />
</p>
<p>
  <label>taille (cm)</label>
  <input type="text" name="taille" id="taille" />
</p>
<p>
  <label>email</label>
  <input type="text" name="email" id="email" />
</p>
<p>
  <label>téléphone</label>
  <input type="text" name="telephone" id="telephone" />
</p>
<p>
  <label>langues vivantes</label>
  <select name="lv" id="lv">
    <option value="anglais">anglais</option>
    <option value="espagnol">espagnol</option>
    <option value="allemand">allemand</option>
    </select>
</p>
<p>
  <label>photo</label>
  <input type="file" name="photo" id="file" />
</p>
<p>
  <input type="submit" name="submit" id="submit" value="insérer" />
</p>
</form>
<?php

include ("bas.inc.php");

?>
Salut Nolem Smiley smile ,

comme l'indique la traduction de "headers already sent", les entêtes ont déjà été envoyées : en résumé, du code html a déjà été écrit (par exemple par un echo juste avant !) alors que le header doit par défaut être utilisé en tout premier.

A+