Page 1 sur 1

problème incompréhensible de header

Posté : 07 mai 2006, 15:48
par ch4rly
Bonjour !

Bon je me suis mis au php y'a pas très longtemps et je travaille actuellemnt à la réalisation d'un système d'identification pour créer des comptes sur un site ...
Bref mon problème est le suivant : j'ai une première page avec un formulaire où l'utilisateur entre son pseudo et son password, le tout est envoyé en POST à un un fichier "login.php". Celui-ci doit traiter ces données c'est à dire : se connecter à la table "comptes" qui contient les noms et passwords correspondants, et envoyer l'internaute soit sur la page "compte.php" s'il est identifier correctement soit vers "erreur.php".

Voila le code de "login.php" :
<?php
$host = "***";
$login = "***";
$password = "***";
$database ="***";
$user_name=$_POST['name'];
$user_password=$_POST['password'];
mysql_connect($host,$login,$password);
mysql_selectdb($database);
$sql = 'SELECT password FROM comptes WHERE name=\''.$name.'\''; 
$req = mysql_query($sql);
$a=mysql_fetch_array($req );
if(empty($user_name) or empty($user_password)){
		$page="erreur.php";
}else if( ($a['password'])==($user_password) ){
		$page="compte.php";
}else{
		$page="erreur.php";
};
header("location: ".$page);
?>
Mais alors en testant ce code sur mon espace chez free et en local avec apache j'ai ce message :

Code : Tout sélectionner

Warning: Cannot modify header information - headers already sent by (output started .../login.php:1) in .../login.php on line 20
En me documentant en détail sur "header" j'ai pu lire que la principale erreure était de faire sortir du texte (avec des espaces qui trainent pas exemple ...) avant le header, ce que semble dire ce message pourtant j'ai bien vérifié plsuieurs fois, rien n'y fait ... :(

Donc si quelqu'un a une idée j'aimerais bien enfin comprendre ce qui ne tourne pas rond. Merci :)

Posté : 07 mai 2006, 17:56
par ouckileou
Salut,

quelle est la ligne 20 du script ?
Juste pour voir, enlève ce point-virgule :
}; // <------------------------------
header("location: ".$page); 

Posté : 07 mai 2006, 18:09
par ch4rly
Raaaaah !
Merci pour ton aide ouckileou mais je viens tout juste de comprendre d'où venait le problème : j'utilisais Notepad++ pour coder mes fichiers php et en enregistrant en UTF-8 il m'avait rajouté en début de fichier des symbols inutils que je ne voyait pas ... ce n'est que là en ouvrant mon fichier avec bloc note que j'ai m'en apercevoir et en les supprimant tout rentre déjà dans l'ordre ! :)

Donc désolé pour cette fausse question lol :? :)
(et au passage la morale : vive bloc note la seul vraie valeur sûre du codeur ;) ).

Posté : 07 mai 2006, 18:45
par ouckileou
Alors tu peux clique sur Résolu ;)