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 :

passer une variable à une page php


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Avril 2004
    Messages
    513
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 513
    Par défaut passer une variable à une page php
    Bonjour
    j'ai une page si le pseudo existe accède au choix du tournoi "quel_tournoi2.php"
    dans la page quel_tournoi2.php je peux utiliser la variable $pseudo puisque require déclaré après la variable
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    connect.php
    ...
        }else{    
            echo 'Le Player '.$pseudo. ' existe bien sous le Pseudo '.$donnees['pseudo'];        
            require("/quel_tournoi2.php");     //à la place de require: ?><a href="quel_tournoi2.php?pseudo=" <?php echo  $pseudo;?> ""</a><?php 
                                                        ne fonctionne pas
        }
        $rep->closeCursor();    
    ...
    mais à la fin d'exécution d'un programme je voudrais que l'utilisateur puisse accéder de nouveau la page choix du tournoi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    fin_tournoi.php
    ...           
               " <?php echo  $pseudo;?> " <br/>
     
               Retournez au choix du tournoi  <a href="quel_tournoi2.php?pseudo=" <?php echo  $pseudo;?> "">clique ici</a> 
                <?php
                //require("/quel_tournoi2.php");
                ?>
    ...
    si j'utilise l'adressage url avec la variable je suis obligé dans quel_tournoi2.php de récupérer la variable avec GET mais j'aurais une erreur avec connect.php qui n'envoit pas de variable!
    et si j'utilise require à la place de l'adresse url require charge le fichier quel_tournoi2.php (même avant d'avoir fait un choix)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    quel_tournoi2.php
    ...
           
    Bonjour <?php echo $_GET['pseudo']; ?> <br/>//obligé pour récupérer la variable avec l'adresse url
        
    Bonjour <?php echo $pseudo ;?>  Quel tournoi voulez vous Jouer ?<br/><br/>//​variable récupéré grâce au require
    ...
    les 2 méthodes ne fonctionne pas en même temps

  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
    Par défaut
    Quel fait la page connect.php exactement ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre éclairé
    Inscrit en
    Avril 2004
    Messages
    513
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 513
    Par défaut
    la page connect.php a reçu le pseudo d'un formulaire et a recherché dans la base de donnée si pseudo existait.
    une fois que pseudo existe il lui envoi le formulaire quel_tournoi2.php pour choisir le tournoi.
    là c'est facile avec require le formulaire s'affiche et la variable pseudo peut être ré-affichée.
    mais à la fin de tournoi.php je ne sais pas comment donner le choix de retourner au formulaire quel_tournoi2.php en envoyant la variable pseudo!

  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
    Par défaut
    Si le pseudo est celui de l'utilisateur qui se connecte, utilise alors plutôt une session PHP pour conserver le pseudo tout le long de la navigation.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre éclairé
    Inscrit en
    Avril 2004
    Messages
    513
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 513
    Par défaut
    Merci

    je viens de tester avec une session!
    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
    //connected.php :
     
    <?php session_start(); // On démarre la session 
    echo 'connected.php session id '.session_id().'<br/>';
    ?><br/>
    ...
    <?php
     
    //echo 'Vérification du Player <br/>';	
    	include("/ConnexionBaseBridgez.php");
    	$connexion=connexionBaseBridgez();//connexion à Base de donnée test (qui fonctionne)
    	//récupération du pseudo 
    	$pseudo = $_POST['pseudo'];	
    	$sql = "CAll identifie(:p_pseudo)";
    	/* pour mémoire identifie(:p_pseudo):
    	BEGIN
    	SELECT  pseudo
    	FROM players 
            WHERE  pseudo = p_pseudo ;
    	END
    	*/
    	$rep = $connexion->prepare($sql);
    	$rep->execute(array(':p_pseudo'=>$pseudo));		
    	$donnees = $rep->fetch();
    	$rep->closeCursor();
    	if ($donnees['pseudo']=='') {
    		$no_pseudo = 'ERREUR : Le Player '.$pseudo. ' n\'exite pas !!! <br/> '; 
    		require ("/connect.html");
    		//header ('location: connect.html');//redirige l'utilisateur vers la page connect.html
    		//la variable $no_pseudo n'est pas visible avec une relocation
    		//exit;
    	}else{	
    		$_SESSION['pseudo'] = $pseudo;
    		$existe = 'Le Player '.$pseudo. ' existe bien sous le Pseudo '.$donnees['pseudo'];		
    		//echo $existe ;
    		require("/quel_tournoi.php");
     
    	}
    l'identification de la session est unique ? un joueur qui se connecte à un identifiant de session unique ?

    j'ai fait l'essai : 2 appels à la page connect (depuis mon pc)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <!-- connect.html : -->
     
    <p> <!-- Page permettant la connexion simplement avec le pseudo -->
     
    	<?php echo $no_pseudo ;?><br /><br />
     
            Veuillez taper votre Pseudo :<br />
    </p>
    <form action="connected.php" method="POST">
    <p>
           <label for="pseudo">Votre pseudo</label> : <input type="text" name="pseudo" id="pseudo" /><br/><br/>
           <input type="submit" value="Valider" />
    </p>
    </form>
    j'inscris 2 noms différents et lorsque la session est démarrée pour chacun l'identifiant de session est identique pour les 2 joueurs
    copie de ce que me renvoi "quel_tournoi.php" à l'écran pour chaque joueur
    premier joueur "niva":
    connected.php session id = nnf0hakpi2fujm1j9mu3tguhc7
    connected.php $pseudo = niva

    quel_tournoi.php session id = nnf0hakpi2fujm1j9mu3tguhc7
    quel_tournoi.php $pseudo = niva
    deuxième joueur "COBA":
    connected.php session id = nnf0hakpi2fujm1j9mu3tguhc7
    connected.php $pseudo = COBA

    quel_tournoi.php session id = nnf0hakpi2fujm1j9mu3tguhc7
    quel_tournoi.php $pseudo = COBA

  6. #6
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    session_id() : est utilisé pour récupérer ou définir l'identifiant de session pour la session courante.
    L'identifiant de SESSION n'a rien à voir avec l'identification du joueur.

    Citation Envoyé par marco62118 Voir le message
    la page connect.php a reçu le pseudo d'un formulaire et a recherché dans la base de donnée si pseudo existait.
    En l'occurence, le pseudo enregistré en bdd doit être UNIQUE.
    est-ce bien le cas ?

    Généralement, on enregistre en SESSION le pseudo et/ou l'identifiant/index du joueur (id_user, AUTO-INCREMENT donc forcément UNIQUE).

    Donc, ce qui identifie formellement un joueur, c'est $_SESSION['pseudo'] ou $_SESSION['id_user'].

  7. #7
    Membre éclairé
    Inscrit en
    Avril 2004
    Messages
    513
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 513
    Par défaut
    OUI dans la base donnée le pseudo sont bien unique!

    Ce qui m'inquiète comme je transmets plusieurs données qui sont bien sûr propre à chaque joueur après avoir ouvert une session pour chacun d'eux que c'es données se mélange.
    Je croyais que le fait de démarrer une session avec "session_start()" pour chaque joueur ouvrait un tableau de variable propre à chaque session avec un identifiant de session différent pour chaque session ouverte!

  8. #8
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    La session est unique dans un navigateur donné, c'est ce qui te permet d'ouvrir plusieurs onglets sans avoir à t'identifier à chaque fois. Tu ne peux pas avoir 2 utilisateurs connectés en même temps dans un même navigateur (sauf peut-être en utilisant la navigation privée, j'ai jamais essayé)
    Par contre, tu peux avoir 2 utilisateurs connectés sur la même machine si tu utilises 2 navigateurs différents (Chrome et Firefox par exemple)
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

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

Discussions similaires

  1. Passer une variable de page en page
    Par philippef dans le forum Langage
    Réponses: 4
    Dernier message: 04/09/2007, 13h19
  2. [PHP-JS] Passer une variable javascript en php
    Par bibom dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 11/08/2006, 21h39
  3. [xsl / Php] faire passer une variable XSL en PHP
    Par klowlead dans le forum XSL/XSLT/XPATH
    Réponses: 5
    Dernier message: 24/05/2006, 13h59

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