IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Problème header et session_start() [Fait]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Jiraiya42
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    671
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 671
    Par défaut Problème header et session_start()
    Salut !

    J'ai un soucis avec mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
     
    <?php
    //=============================================================================================================
    //
    //  FONCTION CONNEXION - Manageuros - 29/03/07
    //
    //============================================================================================================= 
     
    // Utilisation des paramètres de connexion
    require ("connect.php");
     
    require ("message.php");
     
    // Appel de la fonction 
    Connexion($_POST['pseudo'], $_POST['mdp']);
     
     
    //============================================================================================================= 
    //  DEBUT FONCTION POUR LA CONNEXION
    //=============================================================================================================
     
    function Connexion($pseudo, $mdp)
      {	
    	mysql_connect (SERVEUR, NOM, PASSE) or die(mysql_error);
    	mysql_select_db (BASE) or die(mysql_error);	
     
    	// On vérifie que les champs ont bien été remplient
    	if ($pseudo == "")
    	 {
    	  $mess = '<br /><img src="./images/erreur.PNG"><br /><br />Vous n\'avez pas saisi votre pseudo<br /><br />'
    	           . '<a href="javascript:history.back(-1)">Retour</a>';
    	  AffMess ($mess);
    	 }
    	else
    	 {
    	  if ($mdp == "")
    	   { 
    	    $mess = '<br /><img src="./images/erreur.PNG"><br /><br />Vous n\'avez pas saisi votre mot de passe<br /><br />'
    	           . '<a href="javascript:history.back(-1)">Retour</a>';
    	    AffMess ($mess);
    	   }
    	  else
    	   { 
    	    // On va chercher les infos du membre
    	    $verif_pseudo= mysql_query("SELECT * FROM adherent WHERE PSE_ADH='$pseudo';");
    	    $membre = mysql_fetch_object($verif_pseudo);
    	    $num=$membre->num_adh;
    	    $pseudo=$membre->pse_adh;
    	    $pass=$membre->mdp_adh;
     
    	    // Si le retour est vide, le pseudo n'existe pas
    	    if($pseudo=="")
    	     {
    	      $mess = '<br /><img src="./images/erreur.PNG"><br /><br />Désolé, mais le nom saisie n\'existe pas, veuillez vérifier l\'orthographe...<br /><br />'
    	            . '<a href="javascript:history.back(-1)">Retour</a>';
    	      AffMess ($mess);
    	     }
    	    else
    	     {
    	      // On teste si les mots de passe correspondent
    	      if($mdp<>$pass)
    	       {
    		    $mess = '<br /><img src="./images/erreur.PNG"><br /><br />Désolé, mais le mot de passe ne correspond pas au nom, veuillez réessayer...<br /><br />'	
    		          . '<a href="javascript:history.back(-1)">Retour</a>'; 
    		    AffMess ($mess);
    	       }
    	      else
    	       {
    	        session_start (); 
    		    $registered="ok";
    		    $_SESSION["numero"] = $num;
    		    $_SESSION["registered"]= $registered;
    		    $_SESSION["login"] = $pseudo;
    		    $_SESSION["pwd"] = $pass;
    			header("Location: accueil.php"); 
    	       }
            }
    	   }
    	 } 	 
      }	
    ?>
    Il marche nikel en local mais sur le serveur ça me met ça:

    Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /mnt/157/sda/0/0/manageuros/header.php:10) in /mnt/157/sda/0/0/manageuros/func_connexion.php on line 68

    Warning: Cannot modify header information - headers already sent by (output started at /mnt/157/sda/0/0/manageuros/header.php:10) in /mnt/157/sda/0/0/manageuros/func_connexion.php on line 74
    La ligne 68 c'est celle où il y a le session_start et la 74 là où il y a le header. J'ai fait des recherches sur le net et apparemment avant un header et un session_start() il ne faut pas qu'il y ait de sortie HTML mais dans mon cas, étant donné qu'ils sont soumis à condition, je ne vois pas quel pourrait etre le retour généré...

    Quelqu'un pourrait m'aider svp ?

    Merci d'avance...

  2. #2
    Membre éclairé
    Homme Profil pro
    Coordinateur développement web
    Inscrit en
    Août 2004
    Messages
    475
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Coordinateur développement web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2004
    Messages : 475
    Par défaut
    Salut,

    Tu n'as pas un epace ou un saut de ligne qui traine avant ou après l'ouverture de ta balise php ?

    Sinon tu peut mettre un test qui regarde si tes headers sont envoyer alors tu fais ta redirection en js sinon par les headers en php ?

    Mic

  3. #3
    Membre éclairé Avatar de Jiraiya42
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    671
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 671
    Par défaut
    Citation Envoyé par mic79
    Salut,

    Tu n'as pas un epace ou un saut de ligne qui traine avant ou après l'ouverture de ta balise php ?

    Sinon tu peut mettre un test qui regarde si tes headers sont envoyer alors tu fais ta redirection en js sinon par les headers en php ?

    Mic
    J'ai pas d'espace avant la balise php, et pour le test oui ça a l'air d'être une bonne idée mais comment faire pour vérifier que les headers sont envoyés stp ?

  4. #4
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    Citation Envoyé par Jiraiya42
    pour le test oui ça a l'air d'être une bonne idée mais comment faire pour vérifier que les headers sont envoyés stp ?
    Fonction headers_sent, mais quoi que ce soit, vous envoyez quelque chose au navigateur avant session_start et header (un BOM, un espace ou une sortie dans vos includes, ...). Vous ne pourrez pas remplacer session_start (le déplacer ?) et une redirection côté serveur est toujours préférable (à faire suivre de exit() pour ne pas continuer l'exécution du script) !

  5. #5
    Membre éclairé
    Homme Profil pro
    Coordinateur développement web
    Inscrit en
    Août 2004
    Messages
    475
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Coordinateur développement web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2004
    Messages : 475
    Par défaut
    via la fonction headers_sent

    voici la doc :http://fr.php.net/manual/fr/function.headers-sent.php

    Mic

  6. #6
    Rédacteur
    Avatar de Yoshio
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 732
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 732
    Par défaut
    Citation Envoyé par mic79
    Salut,

    Tu n'as pas un epace ou un saut de ligne qui traine avant ou après l'ouverture de ta balise php ?

    Sinon tu peut mettre un test qui regarde si tes headers sont envoyer alors tu fais ta redirection en js sinon par les headers en php ?

    Mic
    Si on regarde ton code sur le forum il y a bien un espace.
    Regarde les fichier connect.php et message.php pour voir si tu n'a pas d'espace avant et apres les balise d'ouverture/fermeture de PHP.

Discussions similaires

  1. [PHP-JS] problème headers already sent
    Par charlene44 dans le forum Langage
    Réponses: 12
    Dernier message: 14/06/2006, 13h55
  2. Problème "Header location"
    Par mLk92 dans le forum Langage
    Réponses: 7
    Dernier message: 31/05/2006, 11h24
  3. [php-header] problème header téléchargement
    Par nigiri dans le forum Langage
    Réponses: 2
    Dernier message: 06/02/2006, 15h16
  4. [FTP] problème header("location:......")
    Par K4trix dans le forum Langage
    Réponses: 23
    Dernier message: 30/11/2005, 11h53
  5. problème header
    Par Jeannotc dans le forum Langage
    Réponses: 6
    Dernier message: 16/09/2005, 10h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo