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 du $_POST[] après refresh pour test cookie


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 7
    Par défaut perte du $_POST[] après refresh pour test cookie
    Bonjour

    j'aimerais dans mon formulaire que l'utilisateur puisse choisir entre session ou cookie, je met donc une checkbox associée

    et lorsqu'il choisi cookie je voudrais tester qu'il accepte bien les cookies

    mais le probleme c'est que la seule methode que j'ai trouver pour tester les cookies utilise un refresh de ma page de verif des données, donc je perd les données $_POST[]

    voici donc mon code qui naturellement ne marche pas pour le cas cookie
    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
    <?php
    	if ($_POST['login']=="123" && $_POST['pass']=="456") {
    		if (!$_POST['method']){
    			session_start();
    			$_SESSION['status']="ok";
    			echo 'Authentification réussie<br>';
    			echo 'cliquez <A HREF="index.php">-ici-</A>';
    		}
    		else{
    			if($_GET["create"] == 1)
    				{
    				if(empty($_COOKIE["test"]))
    				     {
    						  echo "Vous n'aimez pas les cookies";
    				          exit();
    				     }
    				     else{
    						setcookie("status","ok",time()+60*10);
    						echo 'Authentification réussie<br>';
    						echo 'cliquez <A HREF="index.php">-ici-</A>';
    					}
    				}
    			else{
    			     setcookie("test","ok");
    			     header("Location: verif.php?create=1");
    			}
    		}
    	}
    ?>
    impossible de recourir au javascript ni ajax ni sql . only php/html quoi ..

    merci..

  2. #2
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Par défaut
    Pourquoi tu ne les mets pas en sessio directement ET en cookies si il le souhaite , du coup tu test si les cookies sont acceptes dans la foulée , si ils ne le sont pas tes données sont en session sinon tu les laisse dans le cookies et tu efface la session !
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 7
    Par défaut
    Une piste que je n'avais pas exploité oui
    je crois que j'ai a peu près compris

    sauf que pour faire cookie + session et bien je fait un session_start + un header pour refresh pour tester les cookies
    donc 2 header donc header already sent donc

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 7
    Par défaut
    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
     
    <?php
    	if($_GET["create"] == 1 && empty($_COOKIE["status"]))
    	{
    			  echo "Vous n'aimez pas les cookies";
    			  echo 'cliquez <A HREF="index.php">-ici-</A><br>';
    	          exit();	  
    	}
    	else {
    		if($_GET["create"] == 1){
    			echo 'Authentification réussiecook<br>';
    			echo 'cliquez <A HREF="index.php">-ici-</A>';
    		}
    		else {
    			if ($_POST['login']=="123" && $_POST['pass']=="456") {
    				if ($_POST['method']){
    					setcookie("status","ok",time()+60*10);
    					header("Location: verif.php?create=1");
    				}
    				else{
    					session_start();
    					$_SESSION['status']="ok";
    					echo 'Authentification réussiesess<br>';
    					echo 'cliquez <A HREF="index.php">-ici-</A>';
    				}
    			}		
    		}
    	}
    ?>
    voilà, finalement j'ai pas vraiment suivi la methode de Ridekick, j'ai fini pas pondre ceci !
    ça semble marcher, qu'en pensez vous

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

Discussions similaires

  1. Php $_post perte de donnees apres pagination?
    Par salyiohh dans le forum PHP & Base de données
    Réponses: 34
    Dernier message: 04/02/2012, 23h02
  2. [XL-2002] Message "Pour éviter la perte de données.." apres un RefreshStyle par macro
    Par Williamm dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 12/08/2011, 12h35
  3. Réponses: 3
    Dernier message: 01/08/2006, 14h42
  4. [D6][DataSet]repositionnement après refresh
    Par prolice dans le forum Bases de données
    Réponses: 2
    Dernier message: 23/04/2005, 10h34
  5. Perte du password après compactage avec Jet
    Par Le Lézard dans le forum Bases de données
    Réponses: 10
    Dernier message: 07/06/2004, 12h37

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