Header en php

Résolu
Bonjour,

J'ai transféré mon site sur mon serveur web, voilà l'erreur qu'il m'affiche :

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /mnt/141/sda/2/b/boby15000/admin/nav.php:4) in /mnt/141/sda/2/b/boby15000/donnees/Fonctions.php on line 22

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /mnt/141/sda/2/b/boby15000/admin/nav.php:4) in /mnt/141/sda/2/b/boby15000/donnees/Fonctions.php on line 22

Warning: Cannot modify header information - headers already sent by (output started at /mnt/141/sda/2/b/boby15000/admin/nav.php:4) in /mnt/141/sda/2/b/boby15000/donnees/Fonctions.php on line 25

Je tiens à présicer que sous Easyphp tout fonctionne bien, mais sur le serveur Free, sa plante...

Je pense que sa doit venir du fichier php.ini, mais si par hasard çà vient de là, je ne sais pas quel paramètre il faut changer.

Merci pour à tous votre aide...
Configuration: Windows XP
Internet Explorer 7.0

7 réponses

  1. Merci pour ton aide, je vais faire comme tu dis....

    Thanks...
    1. Si c'est pour faire une verif de login/pass pour ouvrir une session:

      sépare le html et le php dans des fichiers différents:

      - un index.html pour le formulaire de saisie login/pass et qui appelle le script login.php
      - un script login.php contenant exclusivement du php qui ferra la verif

      si non ok =>> header index.html

      si ok =>> session_start() et header (la suite du site

      @lain
      1. Oui, pour le Header, j'ai pu régler le problème, j'ai mis un include à la place, et sa fonctionne bien, mais reste le problème de
        session_start().
        1. He oui, c'est ton include ('entete.html') qui gène le header

          si tu mets un header, c'est que tu veux rediriger vers une autre page, alors pourquoi ne mets tu pas l'include('entete.html') dans cette page appelée ?

          ou comme tu es encore dans le php avec le header, mets ton HTML de mise en forme après
          1. En faite, je connais le système des headers et des session_start(), mais ce que je ne comprends pas c'est pourquoi celà fonctionne bien avec Easyphp et pas sur le serveur

            A savoir, et je pense que le soucis vien de là (mais ça n'explique pas pourquoi sa fonctionne sous Easyphp) mais j'utilise les Speudo-frame
            soit :

            <?php
            include('entete.htm');
            ?>
            </div>
            <div class="colonneGauche" >
            <?php
            include('page.php'); // L'erreur est affiché sur page.php ligne 2 au niveau de session_start(); mais en faite le problème vient du fait qu'il y a un include..

            Comment détourner celà ?
            1. Salut ,

              dans ton code avant la fonction session_start() y a t'il un code (html,javascript...) écrit ? car si il y en a c'est normal qu'il y a un probleme session_start() doit etre placé avant tous les codes obligatoirement.
              1. Bonsoir,

                attention, avant session_start()
                header

                tu ne doit avoir envoyé aucun caractère HTML avant

                même pas un espace !

                @lain