par
ch4rly » 07 mai 2006, 15:48
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
