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 :

Perte de session Firefox


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Inscrit en
    Février 2009
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 6
    Points : 2
    Points
    2
    Par défaut Perte de session Firefox
    Bonjour,

    Je vous écris car cela va faire plusieurs jours que je cherche une solution à mon problème.. en vain.
    J'ai créer un panier virtuel pour une société et il fonctionne bien sous Internet Explorer peu importe la version, par contre, sous firefox, le panier reste vide malgré l'ajouts d'articles, étant donné que PHP est traité niveau serveur et que cela marche sous IE, je ne comprend pas pourquoi ma session reste vide sous Firefox.

    Je vous explique le fonctionnement de ce caddy :

    L'utilisateur a le choix entre l'ensemble des lots dans un tableau, il clique sur un bouton "ajouter au panier", une fois cela fait une nouvelle page s'ouvre ou je recupère les données du lot grâce a un GET. L'utilisateur propose une offre pour ce lot (c'est une enchère) et valide ensuite l'ajout grâce a un bouton.

    Ce bouton appelle une nouvelle page qui recupère l'ensemble des données et les poste dans la Session du panier (via un $_POST) et il semblerai que c'est ici que le problème survient car la Session de mon panier reste vide, le lot ne s'ajoute pas sous Firefox..

    Pouvez-vous m'aider?

    Voici les différents code, je ne met pas le panier car je ne pense pas que l'erreur vient de lä.. je pense qu'elle se passe en amont lors de l'ajout.

    code de la page kart.php où on recupère les données du lot et on propose une offre :


    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
    88
     
    <?php
    	session_start();
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    	<head>
     
    // code javascript pour vörifier si l'offre est bien supérieure au prix de départ de l'article
     
    <script type="text/javascript">
     
     
    function plusgrand()
    {
    if(document.formulaire.offre.value == "") {
       alert("Veuillez proposer une offre");
       document.formulaire.offre.focus();
       return false;
      }
     
    if(Number(document.formulaire.ausruf.value) > Number( document.formulaire.offre.value)) {
       alert("Votre offre doit être supérieure au prix de départ");
          return false;
      }
     
     
     var chkZ = 1;
     for(i=0;i<document.formulaire.offre.value.length;++i)
       if(document.formulaire.offre.value.charAt(i) < "0"
       || document.formulaire.offre.value.charAt(i) > "9")
         chkZ = -1;
     if(chkZ == -1) {
       alert("Votre offre doit être un nombre entier");
       document.formulaire.offre.focus();
       return false;
      }
     
     }
     
    </script>
    </head>
    <body>
    <form method='POST' name="formulaire" action='viewkart1.php' onSubmit="return plusgrand()">
    		<?php
     
    //ici je recupère mes données grâce au GET
     
                                          $bild_datei= stripslashes($_GET['bild_datei']);
    			$losnr= stripslashes($_GET['losnr']);
    			$foto_datei= stripslashes($_GET['foto_datei']);
    			$legende= stripslashes($_GET['legende']);
    			$ausruf= stripslashes($_GET['ausruf']);
    			$vente= stripslashes($_GET['vente']);
    			$modif= stripslashes($_GET['modif']);
     
    // je recapitule toutes les données dans un tableu sous forme de formulaire, l'utilisateur propose une offre
     
     
    			echo "Vous avez choisi le lot suivant :</br></br>
    			<table border=\"1\" cellpadding=\"2\" cellspacing=\"0\" width=\"98%\" bgcolor=\"#000066\">
    			<tr bgcolor='#000066'>
    			<th><FONT color='#ffffff' face='Times New Roman' size='3'>Lot n&deg;</font></th>
    			<th><FONT color='#ffffff' face='Times New Roman' size='3'>Photo</font></th>
    			<th><FONT color='#ffffff' face='Times New Roman' size='3'>Description</font></th>
    			<th><FONT color='#ffffff' face='Times New Roman' size='3'>Prix de d&eacute;part &euro;</font></th>
    			<th><FONT color='#ffffff' face='Times New Roman' size='3'>Offre &euro;</font></td>
    			<th><FONT color='#ffffff' face='Times New Roman' size='3'><img src='images/panier.jpg'></font></th>
    			</tr>
    			<tr style='background-color:#9B9BFF' onMouseOver=\"this.style.backgroundColor='EBF5FC'\" onMouseOut=\"this.style.backgroundColor='9B9BFF' \">
    			<th><FONT color='#000000' face='Times New Roman' size=3><input type='hidden' id='losnr' name='losnr' value='$losnr'/>$losnr</font></th>
    			<th><FONT color='#000000' face='Times New Roman' size=3><input type='hidden' id='foto_datei' name='foto_datei' value='$foto_datei'/><a target=\"_blank\" href='bild_soluphil_zeigen110-1.php?bild_datei=$bild_datei&losnr=$losnr&ausruf=$ausruf&legende=$legende'><img src='$foto_datei' border='0'/></a></font></th>
    			<th><FONT color='#000000' face='Times New Roman' size=3><input type='hidden' id='legende' name='legende' value='$legende'/>$legende</font></th>
    			<th align='center'><FONT color='#000000' face='Times New Roman' size=3><input type='hidden' id='ausruf' name='ausruf' value='$ausruf'/>$ausruf,00</font></th>
    			<td align='center'><input type='text' id='offre' size='6' name='offre' MAXLENGTH='10'/></td>
    			<input type='hidden' id='bild_datei' name='bild_datei' value='$bild_datei'/>
    			<input type='hidden' id='vente' name='vente' value='$vente'/>
    			<input type='hidden' id='modif' name='modif' value='$modif'/>
    			<td align='center'><input type='submit' id='submit' name='submit' value='Ajouter' /></td>
    			</tr>
    			</table>";
     
    // une fois l'offre proposée, le client valide en cliquant sur le bouton ajouter qui appelle la page viewkart1.php			
    		?>
     
    	</form>
    		</body>
    </html>


    La page viewkart1.php sert uniquement de page "tampon" pour récupérer les données via un $_POST et les ajouter dans la session du caddy

    Voici son 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
    <?php
    	session_start();
     
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    	<head>
    	</head>
    	<body>
    		<?php
    			if(isset($_POST['submit'])){
     
    //recuperation des données			
    			$losnr = stripslashes($_POST['losnr']);
    			$foto_datei= stripslashes($_POST['foto_datei']);
    			$bild_datei= stripslashes($_POST['bild_datei']);
    			$legende= stripslashes($_POST['legende']);
    			$ausruf= stripslashes($_POST['ausruf']);
    			$offre= stripslashes($_POST['offre']);
    			$vente= stripslashes($_POST['vente']);
    			$modif= stripslashes($_POST['modif']);
     
    //ajout des données en session
     
    			$_SESSION['panier']['losnr'][] = $losnr;
    			$_SESSION['panier']['foto_datei'][] = $foto_datei;    
    			$_SESSION['panier']['bild_datei'][] = $bild_datei;  			
      			$_SESSION['panier']['legende'][] = $legende;
    			$_SESSION['panier']['ausruf'][] = $ausruf;      
      			$_SESSION['panier']['offre'][] = $offre;
    			$_SESSION['panier']['vente'][] = $vente;
    			$_SESSION['panier']['modif'][] = $modif;
     
    					echo "<table align ='center' bgcolor='white'>
    			<tr>
    				<td>
    					<table bgcolor='#B4C6D6' color='white' align = 'center'>
    
    						    <tr>
       								<td align='center'>Le lot n&deg; $losnr a bien &eacute;t&eacute; ajout&eacute; &agrave; votre commande pour la somme de $offre euros.</td>
    					  </tr>
       
    					</table>
    				</td>
    			</tr>
    </table>";
    			}
     
    		?>
     
    <br />
    <table align ="center">
    	<tr>
    		<td><a href="javascript:this.close();">Fermer cette fenêtre</a></td>
    	</tr>
    <table>	
     
    	</body>
    </html>
    Un peu long, j'espère que vous comprendrez bien..

    Merci d'avance pour votre aide

  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
    Bonjour,

    Fais déjà un test tout simple de session avec Firefox.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Candidat au Club
    Inscrit en
    Février 2009
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Oui j'ai deja fait un test simple, j'ai supprimé le superflus des 2 pages que j'ai mis en code bien que le code php en soit reste quand même assez basique.

    Pour la page du panier que je n'ai pas mise, je l'ai remplacée par ce simple code pour vérifier la session :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <?php
    session_start();
        print_r($_SESSION);
        exit;
    ?>
    Lorsque j'affiche cette page dans Internet Explorer après avoir ajouté un ou plusieurs lots, je les voit dans le Array qui devient

    Array ( [panier] => Array ( [losnr] => Array ( [0] => 110 ) [bild_datei] => Array ( [0] => 98-4363 ) [foto_datei] => Array ( [0] => jpg_th/98-4363.jpg ) [legende] => Array ( [0] => 1794 - "Agence des armes/portatives" en rouge s/pli à l`entête de l`agence...TB ) [ausruf] => Array ( [0] => 50 ) [offre] => Array ( [0] => 200 ) [vente] => Array ( [0] => 110 ) [modif] => Array ( [0] => oui ) ) )

    Par contre sous firefox Array() reste vide

  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
    Est-ce que Firefox ne refuserait pas les cookies ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Candidat au Club
    Inscrit en
    Février 2009
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Non j'ai vérifier aussi pour les cookies..
    Qd j'ouvre Firefox, je vais dans outils >> options >> vie privée , tout ce qui est activation cookies est coché

  6. #6
    Membre émérite Avatar de SirDarken
    Profil pro
    Développeur Web
    Inscrit en
    Février 2004
    Messages
    897
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Services de proximité

    Informations forums :
    Inscription : Février 2004
    Messages : 897
    Points : 2 276
    Points
    2 276
    Par défaut
    Hum y'aurai pas une différence de taille entre les possibilités sur $_GET entre IE et Firefox ?

    Tente de faire afficher sur chaque page tes tableaux $_GET et $_POST pour voir ou ca ce vide.
    Règles du club -> Cliquez-ici
    FAQ Hardware -> Cliquez-ici
    Vous avez résolu votre souci ->
    F1 et Google sont vos amis.

  7. #7
    Membre émérite Avatar de darkstar123456
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 896
    Points : 2 835
    Points
    2 835
    Par défaut
    Ta condition n'est pas suffisante, bien que c'est étrange : avec une telle condition FFX devrait te montrer la session correction et pas FFX ^^

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if(isset($_POST['submit'])){

    essaye plutot d'ajouter quelque chose comme ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <form ...>
    <input type="hidden" name="action" value="ajouter" />
    </form>
     
    <?php
    if ($_POST['action'] == "ajouter"){
    //-- le code ici
    }
    ?>
    Tu peux faire des tests de $_POST chez toi en validant par "enter" et non pas avec la souris, tu verras qu'IE et FFX ne renvoie pas tous les deux le Submit

  8. #8
    Membre émérite

    Homme Profil pro
    Expert PHP
    Inscrit en
    Novembre 2004
    Messages
    2 127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Expert PHP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 127
    Points : 2 557
    Points
    2 557
    Par défaut
    Est que sous Firefox, tu passe bien derrière cette ligne là :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if(isset($_POST['submit'])){
    echo 'TEST si ça passe.';
    Fait un echo pour voir.

  9. #9
    Candidat au Club
    Inscrit en
    Février 2009
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Merci pour vos réponses et désolé pour le retard de la mienne! Je vais tester tout cela aujourd'hui ou demain en esperant que les variables passent

  10. #10
    Candidat au Club
    Inscrit en
    Février 2009
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Je viens de remarquer qqchose de bizarre en fesant mes tests. J'ai vérifié avec le code ci dessous où je perdais exactement mes variables

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php
    session_start();
        print_r($_SESSION);
        exit;
    ?>
    J'ai remarqué que sur la page viewkart1.php où se trouve les $_POST donc, j'avais tjs bien le tableau avec mes variables a l'intérieur, ce n'est pas encore perdu.

    J'ai donc tester en gardant le code de cette page et en ajoutant tout le code de mon panier en plus et là ça fonctionne!! Les lots se mettent bien dans le panier!

    Cela change légèrement les étapes de l'ajout par rapport a ce que je voulais mais je pense que je vais m'en contenter

    Problème résolu.. je pense.. je vais continuer à tester et vous confirme cela avant de changer le titre de mon topic!

    Merci pour votre aide!

  11. #11
    Candidat au Club
    Inscrit en
    Février 2009
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Je confirme, problème résolu!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [JSP][session] perte de session et sendRedirect
    Par blaz dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 30/03/2007, 09h32
  2. Perte de Session d'une page à l'autre
    Par Flam dans le forum Langage
    Réponses: 3
    Dernier message: 15/03/2006, 14h34
  3. [Struts]Redirection globale en cas de perte de session
    Par Mercenary Developer dans le forum Struts 1
    Réponses: 10
    Dernier message: 03/02/2006, 14h40
  4. [navigateur]Problême de pertes de sessions sous IE (.js)
    Par Invité4 dans le forum Général JavaScript
    Réponses: 26
    Dernier message: 21/11/2005, 17h53
  5. [VB.NET] Perte de session entre 2 projets
    Par TekP@f dans le forum ASP.NET
    Réponses: 3
    Dernier message: 02/05/2005, 09h12

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