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 valeurs d'un autre formulaire


Sujet :

Langage PHP

  1. #1
    Membre éclairé
    Inscrit en
    Décembre 2008
    Messages
    319
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 319
    Par défaut Récupérer valeurs d'un autre formulaire
    Bonjour j'ai deux script et je voulais savoir comment recuperer les POST du premier fichier pour les utiliser dans le deuxieme

    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
     
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional //EN"
    "http://www.w3.org/TR/xhtmll/DTD/xhtmll-transitional.dtd">
    <html Xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>jaquette pour vous</title>
    <link href="formulaire.css" rel="stylesheet" type="text/css" />
    </head>
    <body>
    <div id="header">
    	<div id="header-logo">
    	<img src="images/logo2.png">
    	</div>
    	<div id="header-slogan">
    	<img src="images/slogan.png">
    	</div>
    </div>
    <div id="globalcont">
    	<h3>Créer un compte client:</h3>
    		<form method="POST" action="client.php" value="client">
    			<table class="table">
    				<tr><td><p>Nom :</p></td><td><input type="text" name="nom" size="30" /></td></tr>
    				<tr><td><p>Prénom :</p></td><td><input type="text" name="prenom" size="30" /></p></td></tr>
    				<tr><td><p>Date de naissance :</p></td><td><input type="text" name="naissance" size="30" /></p></td></tr>
    				<tr><td><p>Numéro de compte :</p></td><td><input type="text" name="ss" size="30" /></p></td></tr>
    			</table>
    				<br /><center><input type="submit" name="envoyer" value="Valider"/></center>
    		</form>
     
    <?php
     
    include 'config.php';
    include 'connexion.php';
     
    $msg_erreur = "Erreur. Les champs suivants doivent être obligatoirement remplis :<br/><br/>";
    $msg_ok = "Votre demande a bien été prise en compte.";
    $message = $msg_erreur;
     
    if (isset($_POST['envoyer'])) {
     
    foreach($_POST as $index => $valeur) {
    $$index = mysql_real_escape_string(trim($valeur));
      }
     
    $sql = "INSERT INTO tlm_clients VALUES ('".$nom."', '".$prenom."','".$naissance."', '".$ss."' )";
    $res = mysql_query($sql);
     
    if ($res) { ?>
     
    <h3> <?php echo $msg_ok;?></h3>
     
    <?php } else { echo mysql_error();} ?>
     
    <form method ="post" action="client_modifier.php">
    <input type="submit" name="creer" value="Créer un jaquette"/>
    <?php } ?>
     
    </div>
    </body>
    </html>
    et mon deuxième script est le suivant :
    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
     
    <?php 
     
    include 'config.php';
    include 'connexion.php';
     
    $sql = "SELECT * FROM tlm_clients where ss='478'";
    $req = mysql_query($sql) or die( mysql_error() ) ;
    $total = mysql_num_rows($req);
    {
    echo '<table class="table" style="border: 1px solid #fff;" "width=600px;">'."\n";
    echo '<tr class="trunik">';
    echo '<th ><b>Nom</b></th>';
    echo '<th ><b>Prénom</b></th>';
    echo '<th><b>Date de naissance</b></th>';
    echo '<th><b>Numéro de compte</b></th>';
    echo '</tr>'."\n";
    while($row = mysql_fetch_array($req))
    {
    echo '<tr>';
    echo '<td>'.$row["nom"].'</td>';
    echo '<td>'.$row["prenom"].'</td>';
    echo '<td>'.$row["naissance"].'</td>';
    echo '<td>'.$row["ss"].'</td>';
    echo '</tr>'."\n";
    }
    echo '</table>'."\n";
    }
     
    ?>
    comment faire pour qu mon deuxième script récupéré le $_POST['ss'] afin que j puisse afficher les infos du client qui vient de créer son compte ?

    Merci

  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
    Si tu dois utiliser des variables sur plusieurs pages, le mieux est d'utiliser les sessions.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    32
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2004
    Messages : 32
    Par défaut
    Je suis pas sure de comprendre la question

    Tu veux récupérer les valeurs de $_POST dans le 2ème script, mais tu l'appel quand ce 2ème script ?

    Je lis et relis mais la je comprend pas, ton 1ere script est entier ? parce qu'il est faux, tu ne ferme pas ton dernier formulaire, puis mélanger comme ca le code php au html, c'est assez étrange, tu devrais séparer un peu.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if ($res) { ?>
     
    <h3> <?php echo $msg_ok;?></h3>
     
    <?php } else { echo mysql_error();} ?>
    c'est pas super lisible.

    Mais je vois pas comment le 1ere script peut fonctionner, tu mélanges le HTML et le php dans la même page, sachant que l'un est exécuté sur le navigateur et l'autre sur le serveur, tu rappels plusieurs fois ta page ? Mais du coup le message d'erreur que tu as mis en place doit s'afficher un peu trop.

    En tout ca si au moins tu pouvais dire quand tu appels ton 2ème script et comment ?

    Depuis une page HTML, si on peut appeler le 1ere script comme tel, tu colles ta valeur "ss" dans un hidden du formulaire qui appel le 2ème script, si ca peut aider, ca évite les sessions si tu maitrises pas.

  4. #4
    Membre éclairé
    Inscrit en
    Décembre 2008
    Messages
    319
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 319
    Par défaut
    ok merci mais les sessions sont elles valable aussi pour des utilisateurs non authentifiés ?

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    32
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2004
    Messages : 32
    Par défaut
    On utilise les sessions pour stocker les informations d'authentification mais pas pour authentifier, donc pas de souci à priori à utiliser la globalisation des variables par sessions.

  6. #6
    Membre éclairé
    Inscrit en
    Décembre 2008
    Messages
    319
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 319
    Par défaut
    j ai modifié mes scripts comme suit

    script1 :

    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
    <?php
    if (isset($_POST['envoyer'])) {
    session_start();
     
    include 'config.php';
    include 'connexion.php';
     
    $msg_erreur = "Erreur. Les champs suivants doivent être obligatoirement remplis :<br/><br/>";
    $msg_ok = "Votre demande a bien été prise en compte.";
    $message = $msg_erreur;
    foreach($_POST as $index => $valeur) {
    	$$index = mysql_real_escape_string(trim($valeur));
    }
     
    $_SESSION['nom']=$nom;
    $_SESSION['prenom']=$prenom;
    $_SESSION['naissance']=$naissance;
    $_SESSION['ss']=$ss;
     
     
    $sql = "INSERT INTO tlm_clients VALUES ('".$nom."', '".$prenom."','".$naissance."', '".$ss."' )";
    $res = mysql_query($sql);
     
    if ($res) { ?>
     
    <h3> <?php echo $msg_ok;?></h3>
     
    <?php } else { echo mysql_error();} ?>
     
    <form method ="post" action="client_modifier.php">
    <input type="submit" name="creer" value="Créer un jaquette"/>
    <?php 
    }else{
     ?>
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional //EN"
    "http://www.w3.org/TR/xhtmll/DTD/xhtmll-transitional.dtd">
    <html Xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>jaquette pour vous</title>
    <link href="formulaire.css" rel="stylesheet" type="text/css" />
    </head>
    <body>
    <div id="header">
    <div id="header-logo">
    <img src="images/logo2.png">
    </div>
    <div id="header-slogan">
    <img src="images/slogan.png">
    </div>
    </div>
    <div id="globalcont">
    <h3>Créer un compte client:</h3>
    <form method="POST" action="client.php" value="client">
    <table class="table">
    <tr><td><p>Nom :</p></td><td><input type="text" name="nom" size="30" /></td></tr>
    <tr><td><p>Prénom :</p></td><td><input type="text" name="prenom" size="30" /></p></td></tr>
    <tr><td><p>Date de naissance :</p></td><td><input type="text" name="naissance" size="30" /></p></td></tr>
    <tr><td><p>Numéro de compte :</p></td><td><input type="text" name="ss" size="30" /></p></td></tr>
    </table>
    <br /><center><input type="submit" name="envoyer" value="Valider"/></center>
    </form>
     
    </div>
    </body>
    </html> 
    <?php
    } 
    ?>
    et mon deuxième script est le suivant :
    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
     
    <?php
    session_start();
     
    $nom=$_SESSION['nom'];
    $prenom=$_SESSION['prenom'];
    $naissance=$_SESSION['naissance'];
    $ss=$_SESSION['ss'];
     
    include 'config.php';
    include 'connexion.php';
     
    $sql = "SELECT * FROM tlm_clients where ss='$ss'";
    $req = mysql_query($sql) or die( mysql_error() ) ;
    $total = mysql_num_rows($req);
    {
    echo '<table class="table" style="border: 1px solid #fff;" "width=600px;">'."\n";
    echo '<tr class="trunik">';
    echo '<th ><b>Nom</b></th>';
    echo '<th ><b>Prénom</b></th>';
    echo '<th><b>Date de naissance</b></th>';
    echo '<th><b>Numéro de compte</b></th>';
    echo '</tr>'."\n";
    while($row = mysql_fetch_array($req))
    {
    echo '<tr>';
    echo '<td>'.$row["nom"].'</td>';
    echo '<td>'.$row["prenom"].'</td>';
    echo '<td>'.$row["naissance"].'</td>';
    echo '<td>'.$row["ss"].'</td>';
    echo '</tr>'."\n";
    }
    echo '</table>'."\n";
    }
     
    ?>
    mais j'ai passé dans mon deuxième script la variable sur mon where


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql = "SELECT * FROM tlm_clients where ss='$ss'";
    et ça ne fonctionne pas voila le résultat de mon echo sur le sql

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM tlm_clients where ss=''

  7. #7
    Membre éclairé
    Inscrit en
    Décembre 2008
    Messages
    319
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 319
    Par défaut
    Bon bah ca fonctionne nickel comme ca

    $sql = "SELECT * FROM tlm_clients where ss='".$ss."'";

    merci a tous de votre aide

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

Discussions similaires

  1. [MySQL] Récupérer valeurs BDD dans champ formulaire
    Par romeskira dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 12/12/2008, 18h01
  2. Réponses: 7
    Dernier message: 23/02/2007, 16h33
  3. Comment ramener la valeur d'un autre formulaire ?
    Par Fredri dans le forum Access
    Réponses: 3
    Dernier message: 21/12/2005, 18h39
  4. Valeur d'un autre formulaire
    Par Invité dans le forum Access
    Réponses: 11
    Dernier message: 17/06/2005, 11h42

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