pb header

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : pb header

par flitox » 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)

par Domdom » 25 avr. 2005, 15:36

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

par flitox » 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.

pb header

par Domdom » 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