pb header

Domdom
Invité n'ayant pas de compte PHPfrance

25 avr. 2005, 14:59

Bonjour,

Voici mon script identification.php ayant pour rôle soit d'afficher mon formulaire d'identification si le(s) login / pwd sont faux, soit d'afficher un autre formulaire si l'identification est correct :

<?php
if(!session_is_registered('identifiant'))
{
require ('../inc/config.php');
mysql_connect($serveur,$login,$pass);
mysql_select_db ($base);
if(isset($_POST) && !empty($_POST['identifiant']) && !empty($_POST['motdepasse']))
{
extract($_POST);
$sql = "select pwd from forum_user where login='".$identifiant."'";
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$data = mysql_fetch_assoc($req);
if($data['pwd'] != $motdepasse)
{
$erreur="Identification incorrecte. Veuillez recommencer.";
include('login_reponse.php');
include('inc/footer_erreur.php');
exit;
}
else
{
$expire = 365*24*3600;
setcookie("identifiant",$_POST['identifiant'],time()+$expire);
setcookie("motdepasse",$_POST['motdepasse'],time()+$expire);
$_SESSION['identifiant'] = $identifiant;
include ('insert_reponse.php');
}
}
else
{
$erreur="Pour r&eacute;pondre, vous devez vous identifier.";
include('login_reponse.php');
include('inc/footer_erreur.php');
exit;
}

Mon problème est qu'en ca d'identification correcte j'obtiens les messages d'erreur suivants :
Warning: Cannot add header information - headers already sent by (output started at c:\program files\...\header.php:8) in c:\program files\easyphp\www\...\identification.php on line 24

Warning: Cannot add header information - headers already sent by (output started at c:\program files\...\header.php:8) in c:\program files\easyphp\www\...\identification.php on line 25

Les lignes 24 et 25 sont les 2 lignes setcookie("...

Pou info, voici le début du code de mon header (appelé dans chaque page contenant ma charte) :

<?php
session_start();
?>
<html>
<head>
<title>...

Voyez-vous à quoi est dû mon problème ?

--------------------
Merci d'avance

Mammouth du PHP | 859 Messages

25 avr. 2005, 15:20

Certainement du code HTML avant le header.

JAMAIS DE HTML AVANT UN HEADER ! ;)

Parfois c'est un simple espace qui bloque le header donc vérifie bien tout ça.

Domdom
Invité n'ayant pas de compte PHPfrance

25 avr. 2005, 15:36

Ok, mais si mets les setcookie dans mon fichier header.php, que devient mon fichier identification.php ?

Mammouth du PHP | 859 Messages

25 avr. 2005, 15:39

Setcookie n'est pas du HTML donc il peut rester là.

Tu peux aussi placer ton code PHP tout en haut de ta page si ça ne change rien au bon déroulement de ton code. Tu inverses HTML et PHP comme ça, le header n'est plus précédé par un code de mise en page (HTML)