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 :

Session ok sour chrome ou firefox et plantage avec safari


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 31
    Points : 20
    Points
    20
    Par défaut Session ok sour chrome ou firefox et plantage avec safari
    Bonjour,

    premièrement je confirme que sous chrome cela marche à 100 %. cependant avec ie et safari mes sessions ne fonctionnent que 3 fois sur 4.
    Je présume que mon code est bon sinon il planterait a chaque fois.
    en faisant du débug avec un fichier log j'ai constaté ceci.
    structure du fichier :
    index.php => ($_POST[login] Veriflogin.php $_SESSION['login']=$_POST['login']=> indexgranted.php.

    dans mes logs je vois que que ma variable $_SESSION['login'] est bien associée à mon login. puis je passe dans un header (location : indexgrated.PHP) et arrivé dans on fichier indexgranted ma variable $_session['login'] est vide.

    Pourtant ce code fonctionne toujours avec chrome et 3 fois sur 4 avec safari !

    quelqu'un aurait une idée ?

    je vous copie mes code de vériflogin et index granted

    Merci, bien à vous

    veriflogin.php
    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
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    <!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>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
    <title>Vérif_users</title>
    <style type="text/css">
    <!--
    @import url("style.css");
    -->
    </style>
    </head>
    <body>
    	<?php
    		session_start();
    		$flag=0;
    		echo "<br> Bonjour, ".$_POST['nom'];
     
    		$fichier="./log/connection.txt";
    		$handle = fopen($fichier,'a');
    		if ($handle) 
    		{
    			$today = getdate();
    			$buf = $today[year]."-".$today[mon]."-".$today[mday]."  ".$today[hours].":".$today[minutes].":".$today[seconds];
    			fprintf($handle,$buf);
    		}
    		fclose($handle);
     
    		if (isset($_POST['nom']) && isset($_POST['pass'])) 
    		{
    			$fichier="./log/connection.txt";
    			$handle = fopen($fichier,'a');
    			if ($handle) 
    			{
    				$today = getdate();
    				$buf = " Isset : ".$_POST['nom'];
    				fprintf($handle,$buf);
    			}
    			fclose($handle);
    			$handle = fopen('login.txt','r');
    			if ($handle)
    			{
    					while (!feof($handle))
    					{
    						$buffer = fgets($handle);
    						if ($buffer[0]!="#")
    						{					
    							if (strstr ($buffer,';'))
    							{
    								$buff = explode (";",$buffer);
     
    							}
    							if (($_POST['nom'] == $buff[0]) && ($_POST['pass'] == $buff[1]))
    							{
    								$flag=1;
    								$droits=$buff[2];
    							}
    						}						
    					}
     
    			}
    			fclose($handle);
    			//echo $droits[11];
    			if ($flag=="1")
    			{
    				if ($droits[11]=="1")
    				{
    					//session_start (); 
    				//	header('P3P: CP="CAO PSA OUR"'); 
    	          			$_SESSION['login'] = $_POST['nom']; 
    	            			$_SESSION['pwd'] = $_POST['pass']; 
    					$_SESSION['droits'] = $droits;
    					echo "Accès Granted ";            
    	            			echo $_SESSION['login'];
    	            			echo $_SESSION['pwd'];
    					echo $_SESSION['droits'];
    					$fichier="./log/connection.txt";
    					$handle = fopen($fichier,'a');
    					if ($handle) 
    					{
    						$buf = " Flag1 SESSION : ".$_SESSION['login'];
    						fprintf($handle,$buf);
    					}
    					fclose($handle);
    	 				header ('location: index_granted.php'); 
    				}
    				else
    					Echo "Vous n'avez pas le droit d'accès à ce site";
    			}
    			else 
    			{
    				echo "Nom ou mot de passe incorrect.";
    			}
    		} 
    		else
    		{
    			echo "<br> Probleme de POST parametres";
    		}
    	?> 
     
     
    </body>
    </html>
    et indexgranted.php

    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
    <!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>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
    <title>Pompier de Philippeville</title>
    <style type="text/css">
    <!--
    @import url("style_index.css");
    -->
    </style>
    </head>
    <body>
     
    <div id="conteneur">    
        <h1 id="header">
    	<div class="box_header">
    	<?php
    	session_start();
    	header('P3P: CP="CAO PSA OUR"'); 
    	if(isset($_SESSION['login'])) 
    	{
    		echo "Vous êtes connecté en tant que : <br>";
    		echo $_SESSION['login'];
    		$fichier="./log/connection.txt";
    		$handle = fopen($fichier,'a');
    		if ($handle) 
    		{
    			$buf = " IndexGranted_True " .$_SESSION['login']."\n";
    			fprintf($handle,$buf);
    		}
    		fclose($handle);
    		$droits = $_SESSION['droits'];
    		if ($droits[11] != "1")
    			header ('location: refuse.php');
    		echo '<form action="logout.php" method="post">
    		<input type="submit" value="Déconnexion">
    		</form>';
    	}
    	else 
    	{
    		$fichier="./log/connection.txt";
    		$handle = fopen($fichier,'a');
    		if ($handle) 
    		{
    			$buf = " IndexGranted_false " .$_SESSION['login']." ".$_SESSION['pwd']." ".$_SESSION['droits']."\n";
    			fprintf($handle,$buf);
    		}
    		fclose($handle);
    		header ('location: index.php'); 
    	}
    	?>
    	</div> <!--box_header-->
    	</a></h1>

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 31
    Points : 20
    Points
    20
    Par défaut
    Merci pour le lien,

    Je viens de faire le tour de la question. J'ai entre autre créé un répertoire ou stocker mes sessions. Et rien d'anormal, les valeurs sont bien enregistrée dans ce répertoire session.
    Par contre à la lecture dans ma page indexgrated.php la variable est toujours vide.

    En dépit du bon sens je me demande si je ne vais pas cesser d'utiliser les passages par sessions et tout transmettre en valeur cachée page par page.
    Il semble que ce ne soit pas fiable. Vu la multitude de "brolles" informatiques incompatible entre eux tels que tablette android, ipad, ipod, im'enmert, .... j'ai l'impression que c'est une source de soucis.

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 31
    Points : 20
    Points
    20
    Par défaut
    ok,

    Après une journée de recherche, surtout a tenter de reproduire le defaut j'ai pu faire cet essai ci :
    session_id(); dans mon fichier d'encodage de session
    session_id(); dans mon fichier de lecture

    et surprise ce ne sont pas les mêmes. Je trouve dans le premier mes variables mais mon 2ème fichier session est vide !!!

    J'ai trouvé un début de piste avec la commande setcookie mais je rame a fond.
    j'ai beau retourné le man page comment faire repointer ma nouvelle session vers l'ancienne ???

Discussions similaires

  1. Réponses: 30
    Dernier message: 23/07/2009, 15h27
  2. Session qui fonctionne avec Firefox et non avec IE
    Par epeichette dans le forum Langage
    Réponses: 3
    Dernier message: 19/12/2007, 17h35
  3. Sessions différentes par onglet sous Firefox
    Par seblo_scoqi dans le forum Langage
    Réponses: 7
    Dernier message: 04/12/2007, 15h10
  4. Parfait avec IE6, plantage avec firefox 2.0
    Par belocom dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 12/08/2007, 00h51
  5. Variable session non retenue / problème sur Firefox
    Par hatembr dans le forum Langage
    Réponses: 10
    Dernier message: 25/04/2007, 17h22

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