Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1726 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [Resolu]Header already sent : Je ne trouve pas malgré mes recherches

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Resolu]Header already sent : Je ne trouve pas malgré mes recherches

n°1156553
hyptnos
GT : Gui iom
Posté le 21-07-2005 à 21:38:31  profilanswer
 

Bonjour à tous
 
Je précise que je poste ici après avoir longuement cherché sur le net et avoir fouillé dans mon code
 
Donc ma premiere question vient de ma constatation que je ne comprend pas.
Tout d'abors avant de mettre en ligne je developpe en local bonne ou mauvaise habitude (je sais pas) mais je fais toujours comme ca. Une fois que cela fonctionne je met en ligne.
Le souci est que la j'ai developper un système de logg utilisateur avec session. En local tout fonctionne j'ai up sur un espace perso FREE cela ne fonctionne plus. Quand je dis fonctionne plus je parle de problème de Header , de size exeeded etc...
Donc pourquoi une tel difference entre local et internet (local = easy php 1.7)
DOnc
Après quelques recherche j'ai vu qu'il fallait créer un répertoire "sessions" sous la racine du site. JE le fais et HAaaaa déjà c'est mieu une grand nombre de message d'erreur ont disparue. Mais il en reste encore. Je cherche encore un peu et je vois qu'il faut pas de code d'affichage avant le header (donc pas d'echo ni de Html) je fouille les codes je modifie quelque petit chose et l'affichage est niquel. Content cela a ete laborieux mais plus de message.
 
Trop bo pour etre vrai j'essai de me logger et lors de la redirection après avoir ete accepter (redirection vers l'index) il me met encore ce message de header already sent. Je fouille je fouille mais la je ne trouve plus.
 
http://img315.imageshack.us/img315/5629/page4ar.jpg
 
Et pour le code de la page identification.php
 

Code :
  1. <?
  2. // Définition de la connexion à la base donné
  3. require("include/connection-inc.php" );
  4.  if (isset($_POST['pseudo'])){ // execution apres envoi du formulaire
  5.  $pseudo = $_POST['pseudo']; // mise en variable du nom d'utilisateur
  6.  $password = MD5($_POST['password']); // mise en variable du mot de passe crypté
  7. // requete sur la table Utilisateur (on récupère les infos de la personne)
  8. mysql_select_db($sql_bdd, $db_link);
  9. $verif_query=sprintf("SELECT * FROM xperience_users WHERE pseudo like '$pseudo' AND password like '$password'" ); // requête sur la base administrateurs
  10. $verif = mysql_query($verif_query, $db_link) or die(mysql_error());
  11. $row_verif = mysql_fetch_assoc($verif);
  12. $user = mysql_num_rows($verif); //retourne le nombre de rang à partir du résultat  
  13. if ($user) { // On test s'il y a un utilisateur correspondant
  14.     session_register("authentification" ); // enregistrement de la session  
  15.  // déclaration des variables de session
  16.  $_SESSION['admin'] = $row_verif['admin'];
  17.  $_SESSION['nom'] = $row_verif['nom'];
  18.  $_SESSION['prenom'] = $row_verif['prenom'];
  19.  $_SESSION['pseudo'] = $row_verif['pseudo'];
  20.  $_SESSION['password'] = $row_verif['password'];
  21. header("Location:index.php?" ); // redirection si OK
  22. }
  23. else {
  24. header("Location:index.php?erreur=login" ); // redirection si utilisateur non reconnu
  25. }
  26. }
  27. ?>
  28. <Body>
  29. <form action="" method="post" name="auth">
  30.        <a> Login </a><br>
  31.          <input type="text" name="pseudo"  size="15" id="pseudo"><br>
  32. <a> Password </a><br>
  33.          <input type="password"name="password"  size="15" id="password"><br>
  34.          <input type="submit" name="Submit"  value="Valider"><br>
  35. </FORM>
  36. </body>


 
Et le debut de Index
 

Code :
  1. <?php
  2. session_start();
  3. if (session_is_registered("authentification" )){ // vérification sur la session authentification (la session est elle enregistrée ?)
  4. // ici les éventuelles actions en cas de réussite de la connexion
  5. echo '<a href="chat/index.php"> Dialoguer en direct </a>';
  6. }
  7. // Définition de la feuille de style
  8. echo '<link href="fiblack3d.css" rel="stylesheet" type="text/css">';
  9. // Définition de la connexion à la base donné
  10. require("include/connection-inc.php" );
  11. include("include/header.php" );
  12. ?>
  13. // gestion des erreurs lors de l'authentification
  14. <?php if(isset($_GET['erreur']) && ($_GET['erreur'] == "login" )) { ?>
  15. <script langage = "javascript">alert("Nom d'utilisateur ou mot de passe incorrect" );</script>  <? } ?>
  16. <?php if(isset($_GET['erreur']) && ($_GET['erreur'] == "delog" )) { // Affiche l'erreur ?>
  17. <script langage = "javascript">alert("Déconnexion réussie" );</script>  <?php } ?>
  18. <?php if(isset($_GET['erreur']) && ($_GET['erreur'] == "intru" )) { // Affiche l'erreur ?>
  19. <script langage = "javascript">alert("Echec d'authentification aucune session n'est ouverte. Ou vous n'avez pas les droits pour afficher cette page" );</script>  <?php } ?>
  20. ...
  21. ...
  22. Le reste n'est que table td et tr
  23. ...
  24. ...


 
J'ai d'autre erreur semblable dans d'autre partie du site genre la redirection après s'être inscrit mais bon si deja on résout celle ci peut etre que j'arriverais à me debrouillé après.
 
Merci d'avance


Message édité par hyptnos le 25-07-2005 à 19:39:00
mood
Publicité
Posté le 21-07-2005 à 21:38:31  profilanswer
 

n°1156573
sielfried
Posté le 21-07-2005 à 21:59:05  profilanswer
 

Ca m'étonnerait que t'ais bien cherché sur ce même forum, mais bon, bref.
 
Il ne doit y avoir aucun HTML avant header(), même pas un espace avant le premier <?php.


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°1156575
hyptnos
GT : Gui iom
Posté le 21-07-2005 à 22:02:13  profilanswer
 

Bas oui c'est que j'ai di mais il n'y a que la tabulation d'avant le header de la ligne 29
Or j'ai essayé de le supprimé et cela fait la meme chose
si tu vois ce dit espace merci de me l'indiqué  
Merci

n°1156577
sielfried
Posté le 21-07-2005 à 22:05:55  profilanswer
 

Désolé, j'avais lu ton post en verticale.
 
Ce que t'as collé pour identification.php, c'est exactement le contenu de ton fichier, ni +, ni - ?
 
Dans include/connection-inc.php, aucun html ?


Message édité par sielfried le 21-07-2005 à 22:06:33

---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°1156578
hyptnos
GT : Gui iom
Posté le 21-07-2005 à 22:06:49  profilanswer
 

Oui c'est vraiment un copier coller de ce qu'il y actuellement
et y a pas de mal ^^

n°1156583
sielfried
Posté le 21-07-2005 à 22:12:39  profilanswer
 

Fait voir include/connection-inc.php


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°1156585
hyptnos
GT : Gui iom
Posté le 21-07-2005 à 22:15:28  profilanswer
 

Code :
  1. <?
  2. // SERVEUR SQL
  3. $sql_serveur="sql.free.fr";
  4. // LOGIN SQL
  5. $sql_user="************";
  6. // MOT DE PASSE SQL
  7. $sql_passwd="**********";
  8. // NOM DE LA BASE DE DONNEES
  9. $sql_bdd="***********";
  10. // ETABLISSEMENT DE LA CONNEXION AVEC LA BASE DE DONNEES
  11. $db_link = mysql_connect($sql_serveur,$sql_user,$sql_passwd);
  12. ?>

n°1156587
sielfried
Posté le 21-07-2005 à 22:16:18  profilanswer
 

Aucun espace/tabulation ni avant le <? ni après le ?> ?


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°1156591
hyptnos
GT : Gui iom
Posté le 21-07-2005 à 22:18:26  profilanswer
 

non

n°1156599
sielfried
Posté le 21-07-2005 à 22:23:57  profilanswer
 

Mwarf, j'avais pas lu ton message d'erreur, c'est écrit noir sur blanc (enfin blanc sur noir, bref [:figti] ).
 
index.php ligne 5, ton echo, voilà, il te le dit en plus.


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
mood
Publicité
Posté le 21-07-2005 à 22:23:57  profilanswer
 

n°1156600
hyptnos
GT : Gui iom
Posté le 21-07-2005 à 22:26:12  profilanswer
 

Arf

n°1156601
Natopsi
☄️Just end it already!☄️
Posté le 21-07-2005 à 22:26:14  profilanswer
 

Sinon, j'avais ca quand j'ai eu l'idée de supprimer le répertoire sessions à la racine du site...


---------------
ACH/VDSHFRCoin◈1435mm⚡
n°1156603
hyptnos
GT : Gui iom
Posté le 21-07-2005 à 22:26:59  profilanswer
 

Cmment je peux faire pour affichier le lien alors? puisque le lien apparait seulement lrosque l'on es logger
idem pour la feuille de style
et encore idem pour le header
 
c'est pas possible lol je fais comment pour afficher tout ca moi lol
 
Et d'ailleur comment cela se fait il qu'en local tout fonctionne?


Message édité par hyptnos le 21-07-2005 à 22:39:51
n°1156652
hyptnos
GT : Gui iom
Posté le 21-07-2005 à 23:21:29  profilanswer
 

J'ai fait un essai
j'ai tout mis sur mon serveur Perso (un Easy pHP qui a une acces web)
et tout fonctionne parfaitement sans rien faire (juste a modifier le fichier de configuration d'acces a mysql)
mais le reste niquel
comprend pas pourquoi la comande header merde a ce point chez free alors que sur Easy Php c niquel
cela ne serai pas un truc dans PHP.ini
 
donc sinon ma question na pas changer dans mon cas comment je peux faire?
 
merci encore

n°1156661
Natopsi
☄️Just end it already!☄️
Posté le 21-07-2005 à 23:35:41  profilanswer
 

sielfried à raison !
[:roi]
Honorons le...


---------------
ACH/VDSHFRCoin◈1435mm⚡
n°1156750
hyptnos
GT : Gui iom
Posté le 22-07-2005 à 08:00:34  profilanswer
 

Oui je suis d'accord
mais comment contourner le probleme comment faire pour mettre ma banniere, ma feuille de style et différent truc qui generalement ne peux que se mettre dans l'index et lrosque je fait une redirection sa coince
franchement je ne vois vraiment pas
 
et je vois encore moins pourquoi en local sa marche et non pas sur les serveur de free

n°1156789
sielfried
Posté le 22-07-2005 à 09:29:56  profilanswer
 

identification.php est appelée directement ou inclue dans une autre page ?


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°1156802
hyptnos
GT : Gui iom
Posté le 22-07-2005 à 09:49:13  profilanswer
 

Identification.php est inclu dans le index
 
je vois ce que tu vas me dire. Mettre le identification directement en code dans Index c ca?
 
Mais cela ne me dit pas pourquoi en local avec Easy PHP tout fonctionne niquel c'est pourtant un serveur apache ave cune base Mysql tout comme Free.

n°1156809
sielfried
Posté le 22-07-2005 à 09:54:24  profilanswer
 

Ca veut surtout dire que ton truc tente d'afficher echo '<a href="chat/index.php"> Dialoguer en direct </a>'; avant même d'avoir vérifié la bonne authentification.
 
Déjà vire ces session_is_registered et ces session_register et utilise $_SESSION.
 
http://fr.php.net/session


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°1156847
FlorentG
Posté le 22-07-2005 à 10:18:08  profilanswer
 

sielfried a écrit :

Ca veut surtout dire que ton truc tente d'afficher echo '<a href="chat/index.php"> Dialoguer en direct </a>'; avant même d'avoir vérifié la bonne authentification.


+1, erreur de conception du script [:spamafote]

n°1156935
hyptnos
GT : Gui iom
Posté le 22-07-2005 à 11:09:51  profilanswer
 

Je suis d'accord avec pour ceci
mais j'ai essayé de virer la ligne après il me dit la meme chose mais cette fois si avec la feuille de style puisque j'ai un echo pour appliqué le CSS. De meme que si je vire la ligne du CSS alors après jai la meme erreur avec mon Header.php (la banniere) je n'ai pas de echo dedans mais du HTML avec un <img src"......">
Donc bon j'ai l'impression que c'est sans fin.
Je désespère

n°1157019
sielfried
Posté le 22-07-2005 à 12:07:33  profilanswer
 

Débrouille-toi juste pour que le script d'identification s'appelle avant tout le reste dans ton index.php.


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°1157088
hyptnos
GT : Gui iom
Posté le 22-07-2005 à 12:47:46  profilanswer
 

Euh ca va faire bof d'avoir un cadre d'identification juste avant banniere tu trouve pas?
Sinon personne ne sait pourquoi en local sa marche sinon? je sais je suis chiant avec ca mais j'aimerais vraiment comprendre

n°1157091
sielfried
Posté le 22-07-2005 à 12:51:45  profilanswer
 

J'ai pas parlé du formulaire d'identification mais du bout de script qui vérifie les login/pass.


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°1157186
hyptnos
GT : Gui iom
Posté le 22-07-2005 à 14:13:28  profilanswer
 

Ok j'avais mal compris ta réponse  :)  
 
Donc voila le code index.php après modification (j'ai tout repris de zero)
 

Code :
  1. <?
  2. //*******************************************************************
  3. // Ci après seront les fichiers script (function et autres)
  4. //*******************************************************************
  5. // Script d'identification
  6. require('identification.php');
  7. // Définition de la connexion à la base donné
  8. require("include/connection-inc.php" );
  9. // Ouverture ou reveil de la session
  10. session_start();  
  11. if (session_is_registered("authentification" )){  
  12. // Si session réussite alors création d'un cookie
  13.  
  14. setcookie(pseudo,$_SESSION['pseudo'],time()-30);
  15. setcookie(nom,$_SESSION['nom'],time()-30);
  16. setcookie(prenom,$_SESSION['prenom'],time()-30);
  17. }
  18. //*******************************************************************
  19. // Gestion des erreurs suite à l'identification
  20. //*******************************************************************
  21. ?>
  22. <?php if(isset($_GET['erreur']) && ($_GET['erreur'] == "login" )) { ?>
  23. <script langage = "javascript">alert("Nom d'utilisateur ou mot de passe incorrect" );</script>  <? } ?>
  24. <?php if(isset($_GET['erreur']) && ($_GET['erreur'] == "delog" )) { // Affiche l'erreur ?>
  25. <script langage = "javascript">alert("Déconnexion réussie" );</script>  <?php } ?>
  26. <?php if(isset($_GET['erreur']) && ($_GET['erreur'] == "intru" )) { // Affiche l'erreur ?>
  27. <script langage = "javascript">alert("Echec d'authentification aucune session n'est ouverte. Ou vous n'avez pas les droits pour afficher cette page" );</script>  <?php } ?>
  28. <?
  29. //*******************************************************************
  30. // Ci après seront les fichiers visuel  
  31. //Attention les includes des pages des scripts devront se faire avant.
  32. //*******************************************************************
  33. // Définition de la feuille de style
  34. echo '<link href="fiblack3d.css" rel="stylesheet" type="text/css">';  
  35. // Affichage de la bannière
  36. include("include/header.php" );
  37. // Tableau d'identification
  38. ?>
  39. <table width="150" border="0" cellspacing="0" cellpadding="0">
  40. <tr>
  41.  <td><img src="images/tnav_tl.gif" width="14" height="23" alt="" /></td>
  42.  <td width="100%" class="tbltop">&nbsp;</td>
  43.  <td><img src="images/tnav_tr.gif" width="15" height="23" alt="" /></td>
  44. </tr>
  45. <tr>
  46.  <td class="tblleft">&nbsp;</td>
  47.  <td align="center"><table  border="0" cellspacing="0" cellpadding="0">
  48.    <tr>
  49.     <td align="center" width="100%" height="120">
  50.  
  51.  
  52.   <form action="" method="post" name="auth">
  53.           <a> Login </a><br>
  54.             <input type="text" name="pseudo"  size="15" id="pseudo"><br>
  55.    <a> Password </a><br>
  56.             <input type="password"name="password"  size="15" id="password"><br>
  57.             <input type="submit" name="Submit"  value="Valider"><br>
  58.   </fORM>
  59.    
  60.  </td>
  61.     </tr>
  62.    </table></td>
  63.  <td class="tblright">&nbsp;</td>
  64. </tr>
  65. <tr>
  66.  <td><img src="images/tnav_bl.gif" width="14" height="26" alt="" /></td>
  67.  <td class="tblbot">&nbsp;</td>
  68.  <td><img src="images/tnav_br.gif" width="15" height="26" alt="" /></td>
  69. </tr>
  70. </tr>  
  71. </table>


 
Dans identification il n'y a que le code de gestion de l'identification le formulaire se trouve comme vous pouvez le voir dans l'index.
 
Je suis au boulot la donc je ne peux pas faire d'essai grandeur nature mais seulement sur mon local. Et en local biensur cela fonctionne mais est ce que cela vous parait correcte?

n°1157189
FlorentG
Posté le 22-07-2005 à 14:16:02  profilanswer
 

Haaaaaaaaaaaaaan fait gaffe à tes commentaires ;) Généralement on les faits comme ça :

/*
 *
 *
 *
 */


Mais jamais de //***** ;)

n°1157190
The-Shadow
Développeur
T'as été voir dans ton profil?
Posté le 22-07-2005 à 14:17:03  profilanswer
 

Pourquoi ?  

n°1157194
FlorentG
Posté le 22-07-2005 à 14:19:38  profilanswer
 

Ca fout la merde sur plein de parseurs buggés. Aussi, pour faire un bloc de commentaires, on fout pas de // sur chaque ligne. On englobe dans un /* */. Enfin pour finir, un p'tit tour à la moulinette de PhpDoc pour obtenir une doc format HTML, on écrira les commentaires par exemple avec :

/**
 * Fonction qui retourne un truc si on lui file quelque chose
 *
 * @param string $plop Le machin à filer
 * @return mixed Le machin retourné
 */


Et tu te retrouves avec une super doc style javadoc [:dawa]


Message édité par FlorentG le 22-07-2005 à 14:20:16
n°1157237
The-Shadow
Développeur
T'as été voir dans ton profil?
Posté le 22-07-2005 à 14:38:59  profilanswer
 

Ha okey, je savais pas.
 

n°1157324
hyptnos
GT : Gui iom
Posté le 22-07-2005 à 15:38:45  profilanswer
 

Merci pour la lecon :-) moi non plus je savais pas :-)
 
Sinon personne ne sait vraiment pas pour la difference entre local et serveur Free concernenant les header?
 
Je sais je sais je suis chiant lol

n°1157581
hyptnos
GT : Gui iom
Posté le 22-07-2005 à 19:45:11  profilanswer
 

Up pour ma question  sur la différence de l'excution du script en local avec Easy php ou tout est foncitonnel
et sur le serveur Free ou rien n'est fonctionnel

n°1157596
Natopsi
☄️Just end it already!☄️
Posté le 22-07-2005 à 19:56:14  profilanswer
 

Ya une question de buffer: easyphp envoie la page une fois tout le script terminé alors que free envoie la page des qu'il voit un truc à envoyer au navigateur.
 :)


---------------
ACH/VDSHFRCoin◈1435mm⚡
n°1157758
The-Shadow
Développeur
T'as été voir dans ton profil?
Posté le 23-07-2005 à 04:12:23  profilanswer
 

Ha bon ?
C'est vraiment une daube easyphp alors. :D

n°1159387
hyptnos
GT : Gui iom
Posté le 25-07-2005 à 19:39:55  profilanswer
 

Bon bas merci a toute les personnes qui m'ont aider j'ai reussi a refaire mon code de facon fonctionnel. Et cela ma permis de comprendre le fonctionne.
 
Et aussi de comprendre que Easy php bas fallait pas s'y fier :-)
 
Merci encore

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [Resolu]Header already sent : Je ne trouve pas malgré mes recherches

 

Sujets relatifs
[Résolu] Condition+SQL[Résolu] concatener+VBS
Probleme de taille de l'animation lors de l'integration [RESOLU][Access] Requête à partir d'une zone de texte (Résolu)
[Javascript] [Résolu] Pb basique de synthaxe[résolu] Erreur de syntaxe
postgres et type serial ??RESOLU[resolu] xml+php Peut-etre un bug?!!!
[Résolu] Common dialog[resolu][excel] sauvegarde ligne de commande
Plus de sujets relatifs à : [Resolu]Header already sent : Je ne trouve pas malgré mes recherches


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR