header

Petit nouveau ! | 4 Messages

23 mai 2005, 12:03

Bonjour,

Je souhaite utiliser un header afin deffectuer une redirection mais une erreur apparait :

Warning: Cannot modify header information - headers already sent by (output started at c:\program files\easyphp1-8\www\projet2\inscription.php:1) in c:\program files\easyphp1-8\www\projet2\inscription.php on line 19

Jai rechercher sur le forum, et trouver la solution mais je nais pas tres bien compris.

Voila mon code :
	<?php
		session_start();
		$db = mysql_connect('localhost','root');
		mysql_select_db('project2', $db);
		
		$login = $_SESSION['login'];
		$lesson = $_POST['lesson'];
		
		if( !empty($lesson))
		{
			foreach($lesson as $val)
			{
				$sql = "INSERT INTO `paticipe` ( `etudiant` , `matiere` )
VALUES ('".$login."','".$val."')";
				$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
			}
		}
		header("Location:acceuil.php")
	?>
merci davance

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

23 mai 2005, 12:07

L'erreur que tu voix signifie qu'il y a déjà du code HTML qui a été envoyé au navigateur !!!

Il faut savoir que tu ne peux appeller la fonction header que si il n'y a aucun code qui n' été envoyé au navigateur !!!!

Il faut donc que tu fasse attention à ne pas mettre de <html><body> ... ou même aucun echo ou autre print avant l'appel à ta fonction header()
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Mammouth du PHP | 19672 Messages

23 mai 2005, 12:08

Salut,
ça veut dire que des en-têtes http ont déjà été envoyées au navigateur, du html ou même juste un espace est suffisant pour générer cette erreur.

Fais un tour dans la FAQ ICI
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Invité
Invité n'ayant pas de compte PHPfrance

23 mai 2005, 12:49

ba ba ba cetait vraiment une erreur toute bete!! Javais juste un espace avant <?php .... Cest vraiment trop bete!! Merci