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

PHP & Base de données Discussion :

revenir sur un formulaires avec les valeurs saisies auparavant


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 129
    Points : 47
    Points
    47
    Par défaut revenir sur un formulaires avec les valeurs saisies auparavant
    Bonjour,

    j'ai un formulaire utilisateur de recherche dans une bdd mysql.
    lorsque je soumet mon formulaire, j'ouvre une page qui me dit si il y a des résultats, et qui les affiche le cas échéant. Si il n'y a pas de résultats, je propose de modifier la recherche.
    question : peut-on revenir au formulaire avec les valeurs remplies par l'utilisateur (pour qu'il ne resaississe pas tout s'il veut juste modifier un champ dans sa recherche)

    Merci

    Arnaud

  2. #2
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    Salut,

    Pour ton problème je te conseille de regarder de côté des variables de session qui sont bien adaptées à ton cas
    Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

    Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)

  3. #3
    Membre confirmé Avatar de broumbroum
    Profil pro
    Inscrit en
    Août 2006
    Messages
    406
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 406
    Points : 465
    Points
    465
    Par défaut
    $http_referrer donne la page précédente.

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 129
    Points : 47
    Points
    47
    Par défaut
    merci pour vos réponses
    j'ai donc regardé du coté des variables de sessions...
    au début de ma page "résultats" (celle qui affiche les résultats de la recherche selon les valeurs du formulaire de la page "recherche"), j'ai mis le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
    // initialisation
    session_start() ;
     
    $_SESSION['date'] = $vdate; 
    $_SESSION['pays'] = $Liste1; 
    $_SESSION['ville'] = $Liste2; 
     
    ?>
    et ensuite, je propose dans ma page de résultats, s'il n'y a pas de résultats, d'ouvrir la page "modifier_rech.php", qui renvoie le formulaires avec les valeurs saisies par l'utilisateur.
    J'ai mis dans mon formulaire, par exemple pour le champ date :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <p><label>Jour<input type="date" name="vdate" value=$_SESSION['date']>
    Le probleme est qu'il ne m'affiche pas la date saisie, mais le texte $_SESSION['date'] ! (j'ai aussi essayé en mettant des guillemets ou des quotes mais ca ne change rien !)

    alors que quand je fais un echo $_SESSION['date']; au début de la page "modifier_rech.php", il m'affiche bien la valeur de la date..

    donc quelle valeur par défaut dois-je mettre dans mon formulaire?


    merci
    Arnaud

  5. #5
    Membre actif
    Profil pro
    Développeur Web
    Inscrit en
    Septembre 2006
    Messages
    215
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Septembre 2006
    Messages : 215
    Points : 256
    Points
    256
    Par défaut
    sinon

    au lieu de te casser la tete avec les sessions

    tu fais le formulaire dans la meme page que la reponse à ton formulaire


    disont qu'on est sur une page index.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
     
    <?php
     
    echo <<<EOF
    <form method="get" action"index.php">
    ...
        <input type="hidden" name="do" value="rendu"/>
        <input type="text" name="recherche" value="{$_GET['recherche']}"
    
    </form>
    EOF;
     
    if ($_GET['do'] === 'recherche') {
    ...
    }
    (m'enfin le code n'est pas a utiliser comme ca, pense a nétoyer tes valeurs en entrée)
    et si tu ne veux pas que ton formulaire soit afficher, tu joues avec les conditions ... c le plus simple

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 129
    Points : 47
    Points
    47
    Par défaut
    merci mais désolé je suis débutant et ta réponse n'est pas tres claire pour moi...
    ok pour revenir sur la meme page (recherche) lorsqu'on est dans la page de résultats (au lieu d'aller sur une deuxieme page modifier_rech)
    mais que dois je mettre en valeur par défaut dans le input du champs date?

    merci

  7. #7
    Membre actif
    Profil pro
    Développeur Web
    Inscrit en
    Septembre 2006
    Messages
    215
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Septembre 2006
    Messages : 215
    Points : 256
    Points
    256
    Par défaut
    Salut

    désolé, si je n'ai pas été clair.
    voila comment pourrait etre ton formulaire de recherche, j'ai mis quelques commentaires, tu devrais comprendre facilement je pense
    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
     
    <?php
    // récupère les mots-clefs
    $keyword = ""; // EDIT: une valeur par defaut
    if (isset($_GET['recherche'])) {
    	$keyword = $_GET['recherche'];
    	$keyword = strip_tags($keyword);
    }
     
    // rendu du formulaire
    echo <<<EOF
    <form method="GET" action="recherche.php"/>
    	<input type="hidden" name="do" value="RECHERCHE"/>
    	<label for="recherche">Recherche : </label>
    	<input type="text" name="recherche" value="{$keyword}"/>
    </form>
    EOF;
     
    // si l'utilisateur a soumi une recherche
    if (isset($_GET['do']) && $_GET['do'] === 'RECHERCHE') {
    	// ... on traite les resultats
    }
    ?>

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 129
    Points : 47
    Points
    47
    Par défaut
    bon désolé sahid j'ai essayé de creuser ta solution mais j'aboutis a rien
    par contre, avec les variables de sessions, j'arrive maintenant à récuperer la valeur de la date saisie.
    mais il reste 2 problemes :
    1) je recupere cette date dans une autre page (modifier_rech.php) alors que je prefererai récuperer dans la meme page (recherche.php)
    2) cela marche pour le champ date mais pas pour les autres, alors que je fais la meme chose pour les autres champs !

    ci dessous la partie utile de mon code pour que vous compreniez:

    page recherche.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
    <form name="recherche" action="index.php?mod=jeu&ac=resultat" method="post" onsubmit="return verification();">
     
    <p><label>Jour<input type="date" name="vdate" id="date">
    <p><label>Heure
    <select name="vheures" id="heure"> 
    <option value="00" selected>00</option> 
    <option value="01">01</option> 
    ... etc jusqu'a 24
    </select></label> H
    <select name="vminutes" id="minute">  
    <option value="00" selected>00</option> 
    <option value="05">05</option>
    ... etc jusqu'a 60
    </select></label></p>
    <p><label>Numéro de jeu<input type="text" name="vnum_jeu" id="jeu"></label></p>
    <input type=submit value="Rechercher">
    </form>
    page resultat.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
    <?php
     
    // initialisation
    session_start() ;
     
     
    $_SESSION['date'] = $vdate; 
    $_SESSION['heure'] = $vheures; 
    $_SESSION['heure'] = $vminutes;
    $_SESSION['heure'] = $vnum_jeu;
     
    si résultat à la recherche: affichage des résultats
    si pas de résultats à la recherche :
     
    echo "<center><form action='index.php?mod=jeu&ac=modifier_rech' method='post'>
    <input type='submit' value='Modifier ma recherche'></center></form>";
    page modifier_rech.php:
    idem que page recherche.php mais avec des valeurs par défaut dans le formulaire :

    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
    <form name="recherche" action="index.php?mod=jeu&ac=resultat" method="post" onsubmit="return verification();">
     
    <p><label>Jour<input type="date" name="vdate" value="<?php echo $_SESSION['date']; ?>">
     
    <p><label>Heure
    <select name="vheures" selected value="<?php echo $_SESSION['heure']; ?>">
    <option value="00">00</option> 
    <option value="01">01</option> 
    ... etc jusqu'a 24
    </select></label> H
    <select name="vminutes" selected value="<?php echo $_SESSION['minute']; ?>">
     
    <option value="00" 00</option> 
    <option value="05">05</option>
    ... etc jusqu'a 60
    </select></label></p>
    <p><label>Numéro de jeu<input type="text" name="vnum_jeu" value="<?php echo $_SESSION['jeu']; ?>">
    </label></p>
    <input type=submit value="Rechercher">
    </form>

  9. #9
    Membre actif
    Profil pro
    Développeur Web
    Inscrit en
    Septembre 2006
    Messages
    215
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Septembre 2006
    Messages : 215
    Points : 256
    Points
    256
    Par défaut
    lol,

    il faudrait que tu revois tes bases php.

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 129
    Points : 47
    Points
    47
    Par défaut
    lol, j'avoue que mes bases sont..minces mais quand meme, je ne m'y suis mis que depuis 1 mois !
    bon sinon, une idée à mon probleme?

Discussions similaires

  1. Réafficher un formulaire avec les valeurs déjà saisies
    Par lebanner82 dans le forum Langage
    Réponses: 3
    Dernier message: 22/06/2009, 13h41
  2. Réponses: 6
    Dernier message: 02/06/2007, 15h33
  3. [SQL] Formulaire checkbox construit avec les valeurs issues d'une BDD
    Par Samysam25 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 25/04/2007, 17h55
  4. [formulaire]réafficher le même formulaire avec les éléments saisis
    Par melisse dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 05/02/2007, 16h56
  5. Réponses: 2
    Dernier message: 08/01/2007, 09h01

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