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 :

Utilisation des sessions avec PHP 4 et PHP 5


Sujet :

Langage PHP

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Novembre 2007
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 9
    Points : 1
    Points
    1
    Par défaut Utilisation des sessions avec PHP 4 et PHP 5
    Bonjour,
    je vais esséyer d'étre le plus clair possible.Voici mon probléme:
    j'ai une application php qui tournent sur 2 serveur A et B.Dans l'application on demande au client de s'identifier avec un login et un mot de passe et j'utilise les session pour pouvoir identifier le client tout au long de la connexion.
    Dans le serveur A tout marche correctement mais dans B la session est toujour vide et ça raméne a la page d'authentification
    Voici 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
    82
    83
    84
    85
    86
    87
     
    <?php
    session_start();
    $submit=( @$_POST['submit'] )
                 ?  @$_POST['submit']
    			 :  @$_GET['submit'] ;
    $currency=( @$_POST['currency'] )
                 ?  @$_POST['currency']
    			 :  @$_GET['currency'] ;
    $numero_alloue=( @$_POST['numero_alloue'] )
                 ?  @$_POST['numero_alloue']
    			 :  @$_GET['numero_alloue'] ;
    $password=( @$_POST['password'] )
                 ?  @$_POST['password']
    			 :  @$_GET['password'] ;
    if($_POST['numero_alloue'] != "" && $_POST['password'] != "")
    {
          if($submit){
      $numero_alloue   = $_POST['numero_alloue'] ;
      $code  = $_POST['password'] ;
     
     // $_SESSION['currency'] = $currency;
      //connexion au serveur
         require_once('Connections/connex2.php');
    mysql_select_db($database_connex2, $connex2);
      $sql =sprintf("SELECT numero_alloue,code,numero FROM personne_code WHERE numero_alloue = '".$_POST['numero_alloue']."' AND code = '".$code."'")	;
      //exécution de la requête SQL
      $requete = @mysql_query($sql, $connex2) or die($sql."<br>".mysql_error()) ;
      //on récupère le résultat
      $result = mysql_fetch_row($requete) ;
      //si la requête s'est bien passée
      if($result)  {
        //début de la sessions
     
        //enregistrement d'une variable de session, ici le login de l'utilisateur
          $_SESSION["numero_alloue"] = '$numero_alloue';
               $_SESSION['currency'] = "Euro €";
        header("Location: management.php") ;
      }   else{	 print("<script type=\"text/javascript\">
    		alert(\"Yup number or password invalid!\");
     		document.location.replace('auth.php');;
    		</script>");
    		die("");
            }
     
      //fin if
      //sinon on retourne à la page d'inscription
     
    }//fin if
    /*
      sinon on retourne à la page d'inscription
    */
    //fin else
      }
    ?>
     
     
     
      <form action="" method="post" name="form1">
    		         <?php
    		          require_once('Connections/connex2.php');
                mysql_select_db($database_connex2, $connex2);
    $insertSQL = sprintf("select yup_number,Nom,prenom,sexe from customer where yup_number='".$_SESSION['numero_alloue']."'; ");
    $query = mysql_query($insertSQL,$connex2) or die(mysql_error());
    $row = mysql_fetch_row($query);
    if($row){
    if($row[3]=='Male')
    $civ = "Mr";
    else
    $civ = "Mme";
    $nom ="".$civ." ".$row[1]." ".$row[2]."";
                    	echo"Bienvenu <strong> ".$nom ." </strong>      " ;
                    	echo"<input class=loginButton type=button title=Login value=Logout name=submit onclick=\"javascript:location.href='deconnexion.php'\" />" ;
                    	}else{
                    	?>
    				 <strong>Yup account</strong>
    <input class="loginText" type="text" name="numero_alloue" />
    				<strong>password</strong>
    <input class="loginText" type="password" name="password" value="" size=15/>
     
    				<input class="loginButton" type="submit" title="Login" value="Login" name="submit"/>
                                 <?php
                                 }
                                   ?>
     
    			</form>
    		</div>
    S'il vous ça fait plus d'une semaine que jy suis.
    PS:j'ai un phpinfo sur chaqye serveur et je vois que le serveur A uilise php4.x et sur le B on a php5.x
    Et j'ai fai une autre application qui tourne aussi sur es mém serveur et laba ya pas de probléme avec les sessions tout est ok et jai utilisé le méme technique

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Si j'etais toi, je commencerais par faire deux pages toutes simples ou j'essaierais d'ecrire et lire des variables de session.
    Et je regarderais mes logs php eventuellement et la configuration php relative aux sessions :
    http://fr.php.net/manual/fr/session.configuration.php
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Novembre 2007
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 9
    Points : 1
    Points
    1
    Par défaut Session
    Merci d'avoir répondu a mon probléme.
    J'ai fait des pages simple mais le probléme persiste.en effet y'avait d'autres applications que j'avais faites mais laba j'ai pas de probléme avec les session sur les 2 serveurs.j'ai fai phpinfo sur le serveur php5 je vois que register_global=on.est ce que cela peux poser le probléme?
    Merci

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    ah oui parce qu'avec register globals
    $a = $_POST['a'] ou $_GET['a'] ou $_SESSION['a'] sans que tu le déclares.

    Il faut désactiver cette directive dont l'utilisation est maintenant fortement découragé et disparaitra définitivement avec PHP6.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Nouveau Candidat au Club
    Inscrit en
    Novembre 2007
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 9
    Points : 1
    Points
    1
    Par défaut
    Mon problème persiste toujours parce que je n'ai pas accès au fichier de configuration php.ini. Mais je ne sais pas si le problème est est là-bas ou pas. Parce que j'ai fait d'autres applications avec les sessions avec le même genre de script et là-bas ça marche sans problème. N'y aurait-il pas une erreur sur mon script ?

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    as-tu fait le test simple dont j'ai parlé ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Nouveau Candidat au Club
    Inscrit en
    Novembre 2007
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 9
    Points : 1
    Points
    1
    Par défaut
    Oui j'ai fait les testes
    quand j'affiche la sesssion sur une méme page la variable est bien affiché par contre quan jessayé de laffiche sur une autre page ya rien la page est vide

  8. #8
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    donc ce n'est pas un probleme sur ton code.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  9. #9
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu as regardé tes logs ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  10. #10
    Nouveau Candidat au Club
    Inscrit en
    Novembre 2007
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 9
    Points : 1
    Points
    1
    Par défaut
    comment faire pour les voir?

  11. #11
    Nouveau Candidat au Club
    Inscrit en
    Novembre 2007
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 9
    Points : 1
    Points
    1
    Par défaut
    jarrive a transmettre la session sur une autre page

  12. #12
    Futur Membre du Club
    Inscrit en
    Août 2008
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 13
    Points : 7
    Points
    7
    Par défaut
    Ravi de voir ce poste! j'ai le meme probleme que jules, depuis jeudi (date ou mon serveur est passé d une version php4 a une version php5)

    Je galere et je suis ravi de savoir que je ne suis pas le seul! (meme si je te plains tout autant que je rale face a ce probleme)

    Donc moi la ou j'en suis c est :

    J'ai deux sites, un live hebergé en php4 (pour l instant) et un test hébergé en php5
    Quand je me logue, les informations sont bien transmises, j arrives a les recuperer par la variable POST et je crée la variable de session! celle ci ne marche pas... car pas de session crée!

    J'ai vu votre proposition sur Register_globals=on moi j ai register_globals-> 1 j ai mis a 0 mais ca ne change rien non plus!

    Je bosse actuellement sur un site XCart (site préconçu et plutot compliqué dans sa structure!)
    Je pense qu'on a le meme probleme, est ce que tu utilises aussi un site XCart?
    Je propose qu on se tienne au courant de nos avancees respectives!

    Merci a sabotage pour son aide! tu peux en sauver deux d un coup la!!

  13. #13
    Futur Membre du Club
    Inscrit en
    Août 2008
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 13
    Points : 7
    Points
    7
    Par défaut
    Salut

    J'ai eu la réponse a mon probleme! (un russe super sympa m y a bien aidé, il l a meme fait directement)
    Apparemment il suffisait d'enlever l instruction unset($GLOBALS); qui etait présente pour moi dans le fichier globals.php
    Elle n est pas compatible PHP5! Donc si jamais tu as cette ligne dans ton code supprime la!!
    En espérant que ca t aides!

    ++
    Chamalo

  14. #14
    Nouveau Candidat au Club
    Inscrit en
    Novembre 2007
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 9
    Points : 1
    Points
    1
    Par défaut
    bonjour chamlog.
    Je viens de voir ton post mais javai des problémes d'internet sinon je n'utilise pas xcart comme site et j'ai pas aussi ce unset($Global) dans mon script si tu pouvait me présenté ce russe ça m'aiderait beaucoup.Merci d'avance
    bonjour aussi a sabotage j'espére que tu sera la aujourd'hui

    j'arrive pas a afficher la session sur une autre page!

  15. #15
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    si tu veux bien on va vérifier pas à pas :

    tu fais deux fichiers pour voir si la session vi de l'un a l'autre :

    page1.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <?php
    session_start();
    $_SESSION['toto'] = "toto";
    echo 'la session  ' . session_id() . '  contient : ' . $_SESSION['toto'] . '<br />';
    echo '<a href="page2.php">Lien</a>';
    ?>
    page2.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <?php
    session_start();
    echo 'la session  ' . session_id() . '  contient : ' . $_SESSION['toto'] . '<br />';
    ?>
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  16. #16
    Nouveau Candidat au Club
    Inscrit en
    Novembre 2007
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 9
    Points : 1
    Points
    1
    Par défaut
    oui j'ai fait ces fichiers et la session est bien affichée sur lautre page dont voici le lien: http://www.qsip1.com/test/test1.php

  17. #17
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Decompose ton script au minimum qui fonctionne et remet les bouts un par un.

    Controle egalement le niveau d'erreur dans ton php.ini.
    On passe peut etre a coté d'une erreur parce qu'elle n'est pas affichée.
    Consulte egalement ton error.log.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  18. #18
    Nouveau Candidat au Club
    Inscrit en
    Novembre 2007
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 9
    Points : 1
    Points
    1
    Par défaut
    le probléme est que j'ai pas accés a ce fichier et l'applicatin est hébergé sous FreeBSD

  19. #19
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Ba il te reste a decomposer pour trouver le probleme.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

Discussions similaires

  1. [PHP 5.3] Utilisation des sessions PHP
    Par ciols dans le forum Langage
    Réponses: 7
    Dernier message: 25/11/2013, 09h34
  2. Utilisation des CSS avec PHP
    Par smilly dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 18/01/2013, 17h01
  3. [Session] Utilisation des sessions avec le framework
    Par kalidjinn dans le forum Autres composants
    Réponses: 5
    Dernier message: 23/03/2007, 22h10
  4. [Forum] Des erreurs avec tous les scripts PHP
    Par sensoo dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 12
    Dernier message: 25/04/2006, 18h41
  5. Réponses: 12
    Dernier message: 11/04/2006, 17h00

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