|
| BxG | Posté le 24/06/2008 @ 16:50 |
Astucien
1276 Messages
| Bonjour a tous,
alors je me suis lancé dans la création d'un espace membre, seulement après l'inscription, l'utilisateur est bien enregistré mais je ne peut pas m'identifier et on me retourne ce message :
Warning: session_start(): Cannot send session cookie - headers already sent by (output started at d:\site\index.php:4) in d:\site\index.php on line 22 Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at d:\site\index.php:4) in d:\site\index.php on line 22 Warning: Cannot modify header information - headers already sent by (output started at d:\site\index.php:4) in d:\site\index.php on line 24
Quelqu'un sais d'ou cela peut-il venir ?
|
| |
| |
| Publicité |
|
|
| Malcolm | Posté le 24/06/2008 à 17:18 |
Astucien
7097 Messages
| tu envoies du code HTML (ou autre) avant de faire un header, et ça, saimal ! |
| |
|
| BxG | Posté le 24/06/2008 à 17:24 |
Astucien
1276 Messages
| aurais-tu un petit lien pour un tuto m'expliquand exactement ou placé le header, enfin que je m'y retrouve un peu mieux stp? |
| |
|
| Malcolm | Posté le 24/06/2008 à 20:10 |
Astucien
7097 Messages
| Je mets ici une partie de ce que je t'ai répondu en MP :
Header est censé formater un contenu (par exemple, envoyer une image, donc des données binaires, ou bien un entête de mail, etc ...)
l'erreur classique c'est de faire un <?php avec le code qui va bien, puis afficher "bienvenue dugland, vous allez être redirigé"; ?> et là faire un <?php header("Location : profil.php"); ?> or il y a déjà un contenu envoyé au client (en l'occurence le message de bienvenue) et du coup, les headers sont envoyés implicitement (text/html) donc on ne peut plus les changer...
autre erreur classique, c'est de fermer un php : ?> et d'en ouvrir un autre <?php à la ligne ... Il y a un retour à la ligne qui est envoyé au client, puisque ce n'est pas du php ...
|
| |
|
| BxG | Posté le 24/06/2008 à 21:26 |
Astucien
1276 Messages
| POurtant dans mon code j'ai bien: header('Location: membre.php'); dés l'ouverture du code php.
Cette ligne se trouve dans <body>, dois-je la mettre avant le <html> ?
je t'envoi le code par mp, si tu as le temps d'y jeter un coup d'oeil, sa risque de ne pas étre très jolie a voir, mais bon je suis la pour apprendre :) |
| |
|
| Malcolm | Posté le 24/06/2008 à 21:59 |
Astucien
7097 Messages
| tu as mis le header avant le session_start dans ton code, donc dès que cette pahge se charge, tu demandes au serveur d'envoyer la page "membres.php" et tu exécutes ton inscription ... Ce n'est pas vraiment logique ...  |
| |
|
| BxG | Posté le 24/06/2008 à 22:18 |
Astucien
1276 Messages
| donc le header devrait se trouver aprés le start mais dans le php qui se trouve dans l'html ? |
| |
|
| Malcolm | Posté le 24/06/2008 à 23:33 |
Astucien
7097 Messages
| non, bien avant l'HTML !
la session est à commencer dès que le code source de la page commence ... donc avant <html> !
de même le header est à utiliser avant tout envoi HTML au client ... |
| |
|
|
| Haut de la page |