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 :

passage d'une variable d'une page login à une autre page


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 14
    Points : 10
    Points
    10
    Par défaut passage d'une variable d'une page login à une autre page
    Bonjour à tous.
    Je tiens à préciser d'abord que je suis débutante, voila je voudrais passer une variable d'une page login à une autre page.
    J'ai regardé un peu sur le net et il y a plusieurs façon,mais j'ai pas compris comment faire.
    ma page login il y a que du code php dedans je voudrais utiliser la variable $adm dans une autre page fichier.php.
    si vous pouvez être claire et précis parce que je répète je suis débutante
    j'ai utilisé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <?php
    echo" <a href=fichier.php?nom=$adm>Mon lien</a>";
    ?>
    Mon lien c'est de quel lien qu'il s'agit??? et est ce que ca marcherait avec ce code?

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Bonjour et Bienvenue sur Developpez .
    Passer une login en URL est déconseillé, regarde plutôt du côté session.
    Des ressources :
    Sessions et cookies en PHP
    PHP - Débuter avec les sessions
    FAQ

  3. #3
    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
    Ce que tu as ecris et techniquement juste ; tu recupererais $_GET['nom'].

    De manière générale on fait plutot comme ca :
    Formulaire d'authentification -> Vérification login/pass -> Inscription en session.

    L'utilisation d'une session permet d'enregistrer puis d'avoir accès dans toutes les pages aux informations de l'utilisateur (login, nom, droits etc.)

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 14
    Points : 10
    Points
    10
    Par défaut
    Je sais pas trop la j'ai regardé un peu le truc des sessions.
    moi dans ma nouvelle page j'utilise un $_GET['adm'], le problème reste le même, que doit-je écrire dans la page login.php pour dire que je vais utiliser leur variable.
    et aussi ou l'écrire, je sais que vous trouvez que c'est une question débile mais je voudrais vraiment comprendre.
    Merci

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Février 2009
    Messages
    278
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Février 2009
    Messages : 278
    Points : 284
    Points
    284
    Par défaut
    Pour le moment les sessions ça semble pas d'actualité autant débuter par le début non?

    Ton dans ta page login tu fais un formulaire HTML qui une fois valider pointe vers "fichier.php" avec pour méthod soit "get" soit "post". le formulaire contient un champ texte que tu nomme "login" (par exemple) , puis une fois valider pour utiliser la valeur saisi dans ton champ "login" tu utilise la variable suivante :
    Si method = POST
    $_POST['login']
    Si method = GET
    $_GET['login']

    ça repond à ta question ou je suis à coté de la plaque?

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 14
    Points : 10
    Points
    10
    Par défaut
    Bon au fait moi j'ai du mal a comprendre pourtant ça parait simple
    Bref moi j'ai mon fichier login.php j'utilise des variables une des variables s'appelle adm je voudrais l'utilisé dans le fichier fiche.php
    récupérer la valeur quoi, bon la page fiche.php n'est pas dans le même dossier que la page login.php pour commencer.
    puis peut importe la méthode je veux un truc facile à comprendre.
    si j'ai bien compris GET c'est pour récupérer la valeur.
    par formulaire je fais quoi au juste? j'ecrit <form action="teste1.php" method="post">
    au debut de la page login.php???
    et dans la seconde page utilisé le GET c'est cela???
    et avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    echo" <a href=fichier/fiche.php?adm=$adm > </a>";
    je l'écris ou au juste??
    je sais je suis carrement trééééééééééés débutante
    mais si vous pouvez m'aidez, et avec des mots simple

  7. #7
    Membre actif
    Profil pro
    Inscrit en
    Février 2009
    Messages
    278
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Février 2009
    Messages : 278
    Points : 284
    Points
    284
    Par défaut
    Pour faire simple, quand tu veux passer une variable vers une autre page voila comment tu peux faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <?php
    // index.php
    $login = "shady";
    echo" <a href=fichier/fiche.php?login=".$login.">Fiche</a>";
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <?php
    // fiche.php
    echo 'Bonjour votre nom est '.$_GET['login']; // affiche : 'Bonjour votre nom est shady
    ?>
    Après si tu souhaite que le nom soit saisi par le visiteur de ta page web il faut faire un formulaire HTML avec un champ texte portant le nom de 'login'

    ça t'aide ou c'est trj pas ça que tu cherche à faire?

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 14
    Points : 10
    Points
    10
    Par défaut
    c'est exactement ça ce que je veux faire. une variable qui a une valeur dans login.php et je veux l'utiliser dans fiche.php.
    cela dit j'ai fais ce que vous m'avz dit et ça marche pas j'ai un message d'erreur
    Undefined index dans fiche.php

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 14
    Points : 10
    Points
    10
    Par défaut
    alors que dans login.php la variable adm a bien une valeur qui vaut A

  10. #10
    Membre actif
    Profil pro
    Inscrit en
    Février 2009
    Messages
    278
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Février 2009
    Messages : 278
    Points : 284
    Points
    284
    Par défaut
    "Undefined index" signifie que PHP ne trouve pas de valeur pour le $_GET['login']

    /!\

    <a href=fichier/fiche.php?login=".$login.">Fiche</a>"
    doit correspondre avec :
    $_GET['login']

    /!\

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 14
    Points : 10
    Points
    10
    Par défaut
    je n'ai pas torp compris ce que vous voulez dire
    bon moi j'ai fais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    echo" <a href=fichier/fiche.php?adm=".$adm.">Fiche</a>";
    dans le fichier login.php
    et dans le fichier fiche.php
    j'ai écris
    donc la variable n'existe pas dans le fichier fiche.php
    j'ai pas compris pourquoi

  12. #12
    Membre actif
    Profil pro
    Inscrit en
    Février 2009
    Messages
    278
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Février 2009
    Messages : 278
    Points : 284
    Points
    284
    Par défaut
    Peut tu fournir ton code complet de la page login.php et fiche.php?

  13. #13
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 14
    Points : 10
    Points
    10
    Par défaut
    login.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
     
    <?php
    session_start();
    if (!isset($_POST['Login']) || !isset($_POST['Pwd'])){
    	header ("location: index.php");
    	exit;
    }
    else
    	{
     
    $resul= mysql_query("SELECT id, adm, code FROM fichier WHERE login ='".$_POST['Login']."' and pwd ='".$_POST['Pwd']."'")or die(mysql_error()) ;
     
     
    		$row = mysql_num_rows($resul);
    		if (mysql_num_rows($resul) < 1){
    		header ("location: index.php");
    		exit;
    		}
    		elseif($row == 1){
    		//echo("laaaaaaaaaaaaa");
    			$_SESSION['code']=mysql_result($resultlog,0,"code");
    			$_SESSION['id']=mysql_result($resultlog,0,"id");
    			$_SESSION['adm']=mysql_result($resultlog,0,"adm");
    			$code = $_SESSION['code'];
    			$id = $_SESSION['id'];
    			$adm = $_SESSION['adm'];
     
    	echo" <a href=fichier/fiche.php?adm=".$adm.">Fiche</a>";
     
    			header ("Location: fichier/fiche.php");		
     
     
    			}
    	}
    }
     
     
    ?>
    et celui de fiche.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
     
    <?php
    session_start();
    $_SESSION['Path']="../";
    ?>
     
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
     
    <html>
    <head>
    	<title>GIE Lexad</title>
    	<link rel="STYLESHEET" type="text/css" href="../styles/style.css">
     
    </head>
     
    <body leftmargin="0" marginwidth="0"  topmargin="0" marginheight="0" >
    <table  border="0" cellspacing="0" cellpadding="0" align="center" width=900 height=100%>
    	<tr>
        	<td align=center valign=top>
    			<table border="0" cellspacing="0" cellpadding="0" align="center"  width=100%>
    			<tr><td colspan="3" valign=top height=224><?php  include ($_SESSION['Path']."headeru.php");?></td></tr>
    			<?php 
    			$adm=$_GET['adm'];
    			if ($adm=="A" or $adm=="J"){
    			include ("fiche2.php");
    			}
    			else {
    			include ("fiche1.php");
    			}
    			?>
     
    			</table>
    		</td>
    	</tr>
    </table>
    </body>
    </html>
    voila

  14. #14
    Membre actif
    Profil pro
    Inscrit en
    Février 2009
    Messages
    278
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Février 2009
    Messages : 278
    Points : 284
    Points
    284
    Par défaut
    Je pense que tu ne récupère pas de valeur pour $adm
    Fait un juste avant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo" <a href=fichier/fiche.php?adm=".$adm.">Fiche</a>";
    Une valeur s'affiche ou tu as une erreur? Si tu as une erreur c'est que ta récupération via ta base de donnée ne fonctionne pas.

    ps : sinon vu qeu tu utilise les sessions dans ton fichier fiche.php il suffit de faire un $adm = $_SESSION['adm'] (bien entendu ça ne marchera que si tu récupére bien dans ta base de donnée la valeur dans le fichier login.php, comme pour le cas précédent)

  15. #15
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 14
    Points : 10
    Points
    10
    Par défaut
    Une valeur s'affiche ou tu as une erreur? Si tu as une erreur c'est que ta récupération via ta base de donnée ne fonctionne pas.
    et bah ça me renvoie bien un A la valeur que je veux.
    et au fait j'utilisais bien avec juste les sessions hier ça marché bien et aujourd'hui ça m'affichait l'erreur
    donc je comprend pas elle est bien défini dans le fichier login.php

  16. #16
    Membre actif
    Profil pro
    Inscrit en
    Février 2009
    Messages
    278
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Février 2009
    Messages : 278
    Points : 284
    Points
    284
    Par défaut
    Et quand tu fais le echo dans login.php ça t'affiche bien le A? Et quand tu vas sur le lien il est bien de la forme"fichier/fiche.php?adm=A" ???

    J'ai pas php sous la main donc je peux pas trop tester, mais c'est bizarre je comprend pas trop pourquoi ça fonctionne pas la...

    Tente d'accéder directement a ta page fiche.php comme ceci :
    http://localhost/fiche.php?adm=A
    (adapte le chemin en fonction)
    ça te fait bien l'include de fiche2.php ???

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

Discussions similaires

  1. Récupération de la valeur d une variable elle même contenue dans une variable
    Par guiplongeur dans le forum Shell et commandes GNU
    Réponses: 3
    Dernier message: 16/03/2015, 16h23
  2. Mettre une variable dans l'appel d'une variable de session
    Par PrinceMaster77 dans le forum Langage
    Réponses: 2
    Dernier message: 13/04/2011, 10h12
  3. Réponses: 9
    Dernier message: 05/11/2008, 09h37
  4. Réponses: 1
    Dernier message: 17/01/2007, 21h52
  5. Réponses: 7
    Dernier message: 13/03/2006, 15h39

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