8796 sujets

Développement web côté serveur, CMS

salut!
il m'arrive un truc super bizare: toutes mes redirections de type header ne marchent plus Smiley eek Smiley eek
header("location: page.php?create=true");

Avant ça marchait... Qu'est ce qui se passe!? ^^

@+ Merci!
Modifié par Baptiste08 (02 Apr 2010 - 15:30)
Salut,

dans le cas des redirections il y a un bug qu'on va qualifier de classique: celui des espaces blancs.

si tu as le moindre affichage sur ta page , y compris un espace blanc. mais pareil si c'est bleu ou de l'ecriture. la redirection ne marche plus.

si tu codes avec les erreurs actives a fond tu devrais voir un message d'erreur.
CPascal a écrit :
si tu as le moindre affichage sur ta page , y compris un espace blanc. mais pareil si c'est bleu ou de l'ecriture. la redirection ne marche plus.


salut,
je comprends pas trop... du bleu?
Avant la redirection j'ai des vérifications, pas de HTML! Voilà un bout du code... Je comprends pas avant ça marchait nickel!

<?php
	require "../config.php";
	mysql_connect(DB_HOST,DB_LOGIN,DB_PASS);
	mysql_select_db(DB_BDD);
	mysql_query("SET NAMES UTF8"); 
	
	if(!empty($_POST)){
	extract($_POST);

	$valid = true;
	
	if(empty($prenom)){
		$valid=false;
		$erreurprenom="Vous n'avez pas rempli de prénom!";
	}
	if(empty($nom)){
		$valid=false;
		$erreurnom="Vous n'avez pas rempli de nom!";
	}
	if(empty($pass)){
		$valid=false;
		$erreurpass="Vous n'avez pas rempli de mot de passe!";
	}
	if(!preg_match("/^[a-z0-9\-_.]+@[a-z0-9\-_.]+\.[a-z]{2,3}$/i",$mail)){
		$valid=false;
		$erreurmail="L'email rempli n'est pas valide";
	}
	if(empty($mail)){
		$valid=false;
		$erreurmail="Vous n'avez pas rempli d'email";
	}
		if($valid){
			$sql="INSERT INTO choristes (prenom,nom,mail,pass) VALUES ('$prenom','$nom','$mail','$pass')";
			mysql_real_escape_string($prenom);
			mysql_real_escape_string($nom);
			mysql_real_escape_string($mail);
			mysql_real_escape_string($pass);
			$req = mysql_query($sql) or die('Erreur SQL!<br/>'.$sql.'<br/>'.mysql_error());
			header('location: choristes.php?create=true');
		}
	}
?>

merci!
@+
Modifié par Baptiste08 (01 Apr 2010 - 20:06)
Re!
en fait j'ai compris: faut retirer les espace entre les lignes! Par contre je comprends pas pourquoi avant ça marchait! ^^

merci!
@+
ah ok^^

le saut de ligne est pas interdit. t'avais pas une ligne avant le <?php
Modifié par CPascal (01 Apr 2010 - 20:21)
au fait si tu repasses par ici

peux-tu s'il te plait mettre le titre du post en [résolu] (en editant le premier message) ?

Merci
Modifié par CPascal (02 Apr 2010 - 12:25)
salut!
voilà c'est fait!
oui avant <?php effectivement j'avais effectiveent une autre ligne <?php ?>


++