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 :

Récupérer les données d'un formulaire d'un page php à une autre


Sujet :

Langage PHP

  1. #1
    Membre du Club Avatar de Yagami_Raito
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 106
    Points : 55
    Points
    55
    Par défaut Récupérer les données d'un formulaire d'un page php à une autre
    J'ai une page d'identification ou l'utilisateur tape son nom et son mot de passe :

    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <form action="" method="post">
        <p>
            <li>Nom d'utilisateur : <input type="text" name="user" /> </br>
            <li>Mot de passe      : <input type="password" name="mot_de_passe" />  </br> </br>
            <input type="submit" value="Valider" />
        </p>
    </form>

    J'ai ensuite :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $user = $_POST['user'];
    $mot_de_passe = $_POST['mot_de_passe'];
    Dans une autre page :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <p> <?php echo '<strong> Utilisateur : </strong> '.$user; ?> </p>
    Le problème c'est que ce bout de code ne marche pas, voici l'erreur qui intervient :

    [quoe]Notice: Undefined variable: user in u:\pc\Lisa_Lovna\site php\autres pages\liste_perso.php on line 9[/quote]
    A noter que la ligne 9 correspond à celle du echo !

    Merci pour votre aide

  2. #2
    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 : 39
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Bonjour

    Question : est-ce que la 2e page est celle où tu envoies les données de ton fomulaire ? ou éventuellement est incluse dans celle-ci (ou le contraire) ? Enfin bref, est-ce que quelque part dans cette page 2, tu définis $user ?

    Si ce n'est pas le cas, il est assez normal que ça plante. Pour récupérer une variable d'une page à la suivante, il faut transmettre cette variable d'une façon ou d'une autre. Par exemple, en utilisant les sessions ou les champs cachés de formulaires...
    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]

  3. #3
    Membre du Club Avatar de Yagami_Raito
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 106
    Points : 55
    Points
    55
    Par défaut
    Les deux pages sont indépendantes les unes des autres et je sais que je ne déclare la variable $user nul part dans la 2ème page mais je ne sais pas comment utiliser les 2 méthodes que tu cites : sessions ou champs caché d'un formulaire
    Merci pour ta réponse

  4. #4
    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 : 39
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    En fait, tout dépend de ce que tu veux faire exactement.

    Je suppose que ce doit être quelque chose du genre : page 1: identification, pages suivantes: quelque chose en fonction de l'utilisateur.

    Une session te permet (entre autres) de garder des variables en mémoire à travers différentes pages. Ici, tu pourrais par exemple mettre la valeur de $_POST['user'] dans $_SESSION['user']. Pour en savoir plus : Cours sur les sessions, FAQ php/sessions et Tutoriel débuter avec les sessions
    Bon courage !
    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]

  5. #5
    Membre du Club Avatar de Yagami_Raito
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 106
    Points : 55
    Points
    55
    Par défaut
    Oui c'est bien ce que je veux faire!
    Merci pour ta réponse Célira!
    Si jamais je n'y arrive toujours pas je reviendrai vers toi

  6. #6
    Membre du Club Avatar de Yagami_Raito
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 106
    Points : 55
    Points
    55
    Par défaut
    J'ai essayé avec une variable session dont voici le code de la 1ere page :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <?php
    session_start(); // Création de la session
    $_SESSION['user'] = $user;
    Et comme je veux récupérer cette variable dans ma 2ème page php j'ai fait ceci :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?php
    mysql_connect("localhost", "root", ""); // Connexion à MySQL
    mysql_select_db("evian royal resort"); // Sélection de la base evian royal resort
    session_start();
    $user = $_SESSION['$user'];
    ?>
    Mais ce code ne marche pas, pourtant en lisant des informations sur les variables sessions n'est-ce pas comme ca qu'il faut faire ?

    Merci à vous !!

  7. #7
    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 : 39
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Le session_start() doit se trouver au tout début de ton script, avant tout le reste.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?php
     session_start();
    ?>
    //ton script
    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]

  8. #8
    Membre du Club Avatar de Yagami_Raito
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 106
    Points : 55
    Points
    55
    Par défaut
    Voila ce que j'ai fait comme 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
    <?php
    session_start();
    mysql_connect("localhost", "root", ""); // Connexion à MySQL
    mysql_select_db("evian royal resort"); // Sélection de la base evian royal resort
    		
    $user = $_SESSION['$user'];
    ?>
    
    
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
        <head>
            <title>Ajouter employé</title>
            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
        </head>
        <body>
    		
    <p><center><h1>Ajout de personnel</h1></center></p> <hr>
    
    <p>Utilisateur : <?php echo '$user' ?> </p>		
    		
    <form action="" method="post">
      <p>
    	<li>Nom employé 		: <input type="text" name="nom" /> </br>
                 <li>Prénom employé  	: <input type="text" name="prenom" />  </br> 
    	<li>Emploi      		: <input type="text" name="emploi" />  </br>
    	<li>Section     		: <input type="text" name="section">  </br>
    	<li>Salaire     		: <input type="float" name="salaire" />  </br></br>
    	<input type="submit" value="Inserer" />
       </p>
    </form>
    		
    <?php
    $nom = $_POST['nom'];
    $prenom = $_POST['prenom'];
    $emploi = $_POST['emploi'];
    $section = $_POST['section'];
    $salaire = $_POST['salaire'];
    
    $sql = "INSERT INTO personnel VALUES('','$nom','$prenom','$emploi','$section','$salaire')";
    mysql_query($sql) or die('Erreur SQL !'.$sql.''.mysql_error()); 
    
    
    echo 'L\'ajout du nouvel employé à bien été éffectué.'; 
    mysql_close(); 
    ?>
    		
    </body>
    </html>
    Mais j'ai une erreur sur la récupération des variables (texte en gras ci dessus) !!!

  9. #9
    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 : 39
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    C'est normal. Au premier chargement de la page, il n'y a rien à mettre dans les variables.
    Ajoutes une série d'isset autour de tout ça...
    Code php : 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
    <?php
    if (isset($_POST['nom']) && isset($_POST['prenom']) && isset($_POST['emploi']) && isset($_POST['section']) && isset($_POST['salaire']))
    {
    $nom = $_POST['nom'];
    $prenom = $_POST['prenom'];
    $emploi = $_POST['emploi'];
    $section = $_POST['section'];
    $salaire = $_POST['salaire'];
     
    $sql = "INSERT INTO personnel VALUES('','$nom','$prenom','$emploi','$section','$salaire')";
    mysql_query($sql) or die('Erreur SQL !'.$sql.''.mysql_error()); 
     
     
    echo 'L\'ajout du nouvel employé à bien été éffectué.'; 
    mysql_close(); 
    }
    ?>
    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]

  10. #10
    Membre du Club Avatar de Yagami_Raito
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 106
    Points : 55
    Points
    55
    Par défaut
    RrrrRRRrrrr !! Quel idiot !
    Je le fait dans les autres pages et la je n'y pense même pas, quel débutant je suis ! Merci encore du temps que tu me consacre!

  11. #11
    Membre du Club Avatar de Yagami_Raito
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 106
    Points : 55
    Points
    55
    Par défaut
    J'ai une erreur sur cette ligne de code (en gras et rouge):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?php
    session_start();
    
    mysql_connect("localhost", "root", ""); // Connexion à MySQL
    mysql_select_db("evian royal resort"); // Sélection de la base evian royal resort
    	
    $user = $_SESSION['$user'];
    ?>
    Voila mon erreur :

    Notice: Undefined index: $user in u:\pc stagiaire\hamza slimani\site php\autres pages\ajout_perso.php on line 6



    PS: La syntaxe du code ci-dessous est-elle bonne ??

    <p>Utilisateur : <?php echo '$user' ?> </p>

    EDIT:

    Il fallait que j'écrive cette ligne de code comme ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <p>Utilisateur : <?php echo $_SESSION['user'] ?> </p>

  12. #12
    Membre éclairé
    Avatar de Dia_FR
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2006
    Messages
    512
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Avril 2006
    Messages : 512
    Points : 708
    Points
    708
    Par défaut
    $_SESSION['user'] au lieu de $_SESSION['$user'] ça devrait aller mieux

    et ton autre ligne de code est tout à fait correcte, pas de pb
    Dia [ Page DVP ] [ Site pro ]

  13. #13
    Membre du Club Avatar de Yagami_Raito
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 106
    Points : 55
    Points
    55
    Par défaut
    Merci beaucoup pour votre aide !!

  14. #14
    Membre du Club Avatar de Yagami_Raito
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 106
    Points : 55
    Points
    55
    Par défaut
    Citation Envoyé par Celira
    Bonjour

    Question : est-ce que la 2e page est celle où tu envoies les données de ton fomulaire ? ou éventuellement est incluse dans celle-ci (ou le contraire) ? Enfin bref, est-ce que quelque part dans cette page 2, tu définis $user ?

    Je reprend l'observation que tu as faites.
    Cette fois ci j'ai un formulaire que l'utilisateur doit remplir et sur pression du bouton valider je vérifie les variables sur une autres page.
    Comment faire pour reprendre ces variables ?

    Merci beaucoup

  15. #15
    Membre du Club Avatar de Yagami_Raito
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 106
    Points : 55
    Points
    55
    Par défaut
    Euh non !! Désolé
    C'est une question idiote!
    Simplement avec $_POST['nom'] (en supposant que mon champ du formulaire s'appelle nom !!

    Merci quand même !

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

Discussions similaires

  1. Réponses: 9
    Dernier message: 16/01/2020, 14h21
  2. [ezPDF] Récupérer les données d'un formulaire dans mon pdf
    Par Lenalyon dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 28/04/2008, 15h38
  3. [FORM] récupérer les données d'un formulaire
    Par dragonfly dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 04/12/2007, 13h53
  4. Récupérer les données d'un formulaire
    Par rimeh dans le forum Langage
    Réponses: 12
    Dernier message: 05/02/2007, 14h58
  5. récupérer les données d'un formulaire un peu spécial
    Par Jim_Nastiq dans le forum Interfaces Graphiques
    Réponses: 12
    Dernier message: 10/07/2006, 10h53

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