pb header(....)

page 1 page 2 page 3
Répondre
Stopher
Stopher
Déconnecté
Ubuntu User
Salut à ts ,
voila apres la validation d'un log , s'il est valide, une redirection est effectuée vers une autre page appelée menu.php ...

seulement impossible d'utiliser la fonction header("Location: menu.php");
voici le message d'erreur recupéré :

Warning: Cannot modify header information - headers already sent by (output started at C:\Program Files\Apache Group\Apache2\htdocs\magasin\index.php:1) in C:\Program Files\Apache Group\Apache2\htdocs\magasin\index.php on line 65

j'ai du passer à coté de qq chose ...

Merci d'avance pour vos posts !
zebden
zebden
Déconnecté
zebdinou pour les intimes / Blog : http://www.zebden.fr
Pas d'html avec la fonction header , ni d'espace entre ?> <?php (considéré comme un espace HTML).

De meme pour les session et setcookie.
Stopher
Stopher
Déconnecté
Ubuntu User
je n'ai pas d'espaces , ni d'html ... ma page est entierement en php5 !

header("Location:menu.php");
c ainsi qu'est declaré la fonction dans ma page !
sven
sven
Déconnecté
http://www.bingojeux.kalikoba.com
il ne faut rien envoyer à l'écran avant d'utiliser header
sven
sven
Déconnecté
http://www.bingojeux.kalikoba.com
montre ta page pour voir sur le wall si elle est longue
LA GLOBULE
LA GLOBULE
Déconnecté
111 111 111 x 111 111 111 = 12 345 678 987 654 321
L'erreur le dit bien pourtant : tu fais une sortie html dès la première ligne de ton magasin/index.php
Stopher
Stopher
Déconnecté
Ubuntu User
ha rien afficher !!!!
si c'est ca , dans mon cas ca vat etre dure car c'est un formulaire qui est traité dans la meme page !
comment faire alors pour redirigé , une foi le log validé ?
sven
sven
Déconnecté
http://www.bingojeux.kalikoba.com
faut mettre le traitement au tout début du fichier ou sinon dans un autre fichier
Stopher
Stopher
Déconnecté
Ubuntu User
et pourtant , je n'affiche rien à la premiere ligne !
  1.  
  2. <?php
  3.  
  4. @session_start();  
  5.  
  6. //--------------------------------------------------------------------------//  
  7. //-------------                  connexion à la base de donnée                  ----------//  
  8. //--------------------------------------------------------------------------//  
  9.  
  10. include ("class_connex.inc.php");  
  11.  
  12. //instanciation de la classe connexion  
  13. $ptr_connex = new connexion;  
  14.  
  15. //connexion à la base  
  16. $res_connex = $ptr_connex->connex("magasin","myparam");  
  17. //erreur à la connexion  
  18.  
  19. if (!$res_connex) 
  20.    { 
  21.    echo ("Fin de la connexion! "); 
  22.    }  
  23. //succes de la connexion  
  24. else if ($res_connex) 
  25.    { 
  26.    echo ("connexion etablie ! "); 
  27.    }  
  28.  
  29. //--------------------------------------------------------------------------//  
  30. //-----------                                     ------------//  
  31. //--------------------------------------------------------------------------//    
  32.    
  33.    
  34. include ("class_formulaires.inc.php");  
  35.  
  36. $ptr_forms = new formulaires("index.php");  
  37.  
  38. $ptr_forms->textfield("text","login");  
  39. $ptr_forms->textfield("password","mot_de_passe");  
  40. $ptr_forms->button("reset","clear");  
  41. $ptr_forms->button("submit","tog");  
  42.  
  43. unset($ptr_forms);  
  44.  
  45. if (isset($_POST['login']) && isset($_POST['mot_de_passe'])) 
  46.    { 
  47.    
  48.       if (!isset($_SESSION['acces'])) 
  49.       { 
  50.          $_SESSION['acces']= 0; 
  51.       } 
  52.       if($_SESSION['acces'] == 0) 
  53.          { 
  54.             $login = $_POST['login']; 
  55.             $mot_de_passe = $_POST['mot_de_passe']; 
  56.       
  57.             $requete = "SELECT * FROM admin WHERE (login = '$login' AND mot_de_passe = '$mot_de_passe')"; 
  58.             $idresult = @mysql_query($requete,$res_connex); 
  59.             $nbres = mysql_num_rows($idresult); 
  60.       
  61.             if ($nbres != 0) 
  62.                { 
  63.                   $_SESSION['acces']=1; 
  64.                   $_SESSION['login']= $login; 
  65.                   header("Location:menu.php"); 
  66.                } 
  67.             else 
  68.                { 
  69.                   echo "<script type = text/javascript>"; 
  70.                   echo "alert('Login ou moy de pass invalide !')</script>"; 
  71.                } 
  72.             } 
  73.    }  
  74.  
  75. ?>
  76.  
sven
sven
Déconnecté
http://www.bingojeux.kalikoba.com
tu a bien un echo

  1. <?php if (!$res_connex)  
  2. {  
  3. echo ("Fin de la connexion! ");  
  4. }  
  5. //succes de la connexion  
  6. else if ($res_connex)  
  7. {  
  8. echo ("connexion etablie ! ");  
  9. } ?> 

faut virer ça
Stopher
Stopher
Déconnecté
Ubuntu User
oui , mais meme lorsque je met le header juste en dessous de session_start(); .... meme message d'erreur ! smiley
LA GLOBULE
LA GLOBULE
Déconnecté
111 111 111 x 111 111 111 = 12 345 678 987 654 321
Tu n as pas un saut de ligne entre le debut de ton fichier et ton <?php ? Ou un espace ?
Stopher
Stopher
Déconnecté
Ubuntu User
Non , la seule chose bizard que j'ai au debut , c le @ devant session , qui masque des warning ! ...
ces warning :

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at C:\Program Files\Apache Group\Apache2\htdocs\magasin\index.php:1) in C:\Program Files\Apache Group\Apache2\htdocs\magasin\index.php on line 3

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\Program Files\Apache Group\Apache2\htdocs\magasin\index.php:1) in C:\Program Files\Apache Group\Apache2\htdocs\magasin\index.php on line 3

mais qui n'empeche pas le fonctionnement de la session !
LA GLOBULE
LA GLOBULE
Déconnecté
111 111 111 x 111 111 111 = 12 345 678 987 654 321
Ben pourtant, tu as une sortie html à la première ligne de ton fichier magasin/index.php.

C'est pas compliqué pourtant.
Tu as quoi à la première ligne de ce fichier ?

(Un conseil : n'utilise pas le @, ca evite justement de cacher ce genre d'erreur. Parce que si tu as cette erreur, ca prouve bien une deuxième fois que tu as une sortie html à la ligne 1 du fichier).

Perso, je parie pour un saut de ligne avant le <?php (saut de ligne qui apparait d'ailleurs dans le copier coller du code que tu as posté sur le wall).
Stopher
Stopher
Déconnecté
Ubuntu User
non j'ai fait une copie sur le bloc note de l'integralitée du code pour etre bien sure ! et rien ! à moin que l'editeur mette des characteres cachés !! mais je ne voi rien !
page 1 page 2 page 3
Répondre
Accès rapide :

Remonter Remonter
L'éditeur javascript - CSS - Gentoo - Tutoriaux PHP - Tutoriels PHP - Php - Breizh Blog