8797 sujets

Développement web côté serveur, CMS

Bonjour,

D'ordinaire sur mon PC j'utilise Wampserver en tant que serveur local.
Pour des raisons de portabilité, sur ma clé USB (type framakey), j'ai fais le choix de ZazouMiniWebServer en version portable pour la même utilité qui il est moins lourd.
LA version portable de Wampserver (WampMSS) me semble gourmande en place

Malheureusement, lorsque je lance ce serveur à partir de ma clé et l'utilise pour rentrer dans une partie administrateur de mon site, voici le message que je reçois:

a écrit :

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at G:\Apps\ZMWS\_web.zmwsc\Projet_essais\log_espace_admin.php:2) in G:\Apps\ZMWS\_web.zmwsc\Projet_essais\log_espace_admin.php on line 18

Warning: Cannot modify header information - headers already sent by (output started at G:\Apps\ZMWS\_web.zmwsc\Projet_essais\log_espace_admin.php:2) in G:\Apps\ZMWS\_web.zmwsc\Projet_essais\log_espace_admin.php on line 21

De plus la console m'indique : code retour 200


Je ne comprends pas cette erreur alors que cela fonctionne parfaitement avec Wampserver qui lui est sur le PC.

Je mets ici la page de code concernée:

<?php
      // on teste si le visiteur a soumis le formulaire de connexion  
      if (isset($_POST['connexion']) && $_POST['connexion'] == 'Connexion') { 
         if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass']))) { 
       
            $base = mysql_connect ('localhost', 'root', ''); 
            mysql_select_db ('ma_base', $base); 
            
            // on teste si une entrée de la base contient ce couple login / pass 
            $sql = 'SELECT * FROM admin WHERE login="'.mysql_escape_string($_POST['login']).'" AND pass_md5="'.md5(mysql_escape_string($_POST['pass'])).'"'; 
            $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); 
            $data = mysql_fetch_array($req, MYSQL_BOTH); 
            mysql_free_result($req); 
            mysql_close(); 
                 // si on obtient une réponse, alors l'utilisateur est un membre 
            if (isset ($data[0])&& isset($data[1])) { 
               session_start(); 
               $_SESSION['login'] = $_POST['login']; 
               $_SESSION['prenom'] = $data['prenom'];
               header('Location: espace_admin.php'); 
               exit(); 
            } 
            // si on ne trouve aucune réponse, le visiteur s'est trompé soit dans son login, soit dans son mot de passe 
            else { 
               $erreur = 'Compte non reconnu.'; 
            } 
         } 
         else { 
            $erreur = 'Au moins un des champs est vide.'; 
         }  
       }  
      ?>


Merci d'avance Smiley cligne
Modifié par Boubou57 (28 Feb 2009 - 12:00)
Hello,

ben c'est le même problème que la dernière fois : tu fais un session_start alors qu'une écriture html a déjà été envoyée. Vu le n° de ligne de l'erreur (18) alors que la fonction correspond à la ligne 17 de ton code je dirais que tu as un saut de ligne avant <?php !
Merci,
je viens de comprendre mon erreur.
Pourtant c'est bizarre, cela fonctionnai comme cela auparavant il me semble.

Je ne sais plus.
Mais je vais faire les modifications qui s'imposent. Désolé du dérangement Smiley cligne