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 :

Pb formulaire, les variables passent 3 fois sur 4


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 4
    Par défaut Pb formulaire, les variables passent 3 fois sur 4
    Bonjour, j'ai fais un site internet et j'utilise des formulaires, je ne comprends pas pourquoi les variables ne passent pas systematiquement. Il arrive que la page n'affiche rien.
    quand c'est le cas, j'actualise la page et les variables sont pris en compte.

    J'aimerais ne pas avoir a actualiser, que faut il faire.

    Merci pour vos réponses

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    254
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 254
    Par défaut
    que faut il faire
    Montrer ton code car aussi non, on ne sait pas t'aider.

  3. #3
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 4
    Par défaut
    Si vous voulez tester il y a le lien suivant : http://lesaint76.free.fr/vente.php

    le fait de cliquer systématiquement sur "voir les occasions" "voir les ventes" ça finit par planter. il faut parfois attendre une vingtaine de clics, parfois c'est au premier.

    (n'essayez pas d'acheter les articles ils n'existent pas )



    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
    <?php
    if (!(isset($_GET['val'])))
    {
    ?>
        <p>
        choisissez le statut
        <form action="vente.php?val=2" method="post">
     
        <input type="radio" name="statut" value="neuve" checked="checked"/> Neuve
     
        <input type="radio" name="statut" value="occasion"  /> Occasion
     
        <input type="submit" value="Valider" />
        </form>
     
        </p>
    <?php
    }
    ?>
     
    <?php
    if (isset($_GET['val']))
    {
         if (($_GET['val'])==2)
         {
     
     
    /* travail dans la base de donnée */
    ?>
     
     
         <form action="vente.php?val=2" method="post">
         <?php
         if ($statut=="neuve")
         {
         ?>
              <input type="hidden" name="statut" value="occasion" />
              <input type="submit" value="Voir les occasions" />
         <?php
         }
     
         if ($statut=="occasion")
         {
            ?>
     
            <input type="hidden" name="statut" value="neuve" />
     
            <input type="submit" value="Voir les nouveautés" />
            <?php
         }
         ?>
         </form>
    <?php			
       }
    }
    ?>

  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 : 40
    Localisation : France

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

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

    Deux questions :
    1) juste pour vérification : le $_ GET['val'] sert uniquement à savoir si le formulaire a été soumis ? Dans ce cas, pourquoi ne pas simplement tester l'existence d'un $_POST['status'] ?

    2) A quoi correspond la variable $status ? elle n'est initialisée nulle part...
    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 éclairé Avatar de mLk92
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    527
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 527
    Par défaut
    Salut, tu devrais mettre tout ce qui est récupération des données au dessus du formulaire html, ca devrait mieux fonctionné. Et puis tu as deux formulaire qui renvoie sur la même page avec la même valeur.
    2) A quoi correspond la variable $status ? elle n'est initialisée nulle part...
    C'est la valeur renvoyé par le bouton radio.

    j'ai regardé sur ton lien, ca a l'air de fonctionné ..

    Si t'a réussi, oublie pas le Résolu

  6. #6
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    254
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 254
    Par défaut
    Je trouve ta page fort compliquée pour si peu. Tu n'as je suppose pas l'intention d'afficher de nombreux articles. Il suffirait d'une simple page du genre
    Code HTML : 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
    <h3>Yourte neuve</h3>
    <form action="commande.php" method="post">
    	<table>
    		<tr>
    			<td>
    				<input type="checkbox" name="yourte1" value="1">Yourte de couleur <b>au choix</b> comportant <b>5</b> murs, au prix de <b>3000 €</b>
    			</td>
    		</tr>
    		<tr>
    			<td>
    				<input type="checkbox" name="yourte2" value="2">Yourte de couleur <b>au choix</b> comportant <b>6</b> murs, au prix de <b>3500 €</b>
    			</td>
    		</tr>
    		<tr>
    			<td>
    				<input type="checkbox" name="yourte3" value="3">Yourte de couleur <b>au choix</b> comportant <b>4</b> murs, au prix de <b>2500 €</b>
    			</td>
    		</tr>
    	</table>
    	<h3>Yourte d'occasion</h3>
    	<table>
    		<tr>
    			<td>
    				<input type="checkbox" name="yourte4" value="4">Yourte de couleur orange et bleu comportant 4 murs et ayant servie pendant 0 saisons, au prix de 2000 € 
    			</td>
    		</tr>
    		<tr>
    			<td>
    				<input type="checkbox" name="yourte5" value="5">Yourte de couleur bleu clair comportant 5 murs et ayant servie pendant 0 saisons, au prix de 2200 € 
    			</td>
    		</tr>
    		<tr>
    			<td>
    				<input type="checkbox" name="yourte6" value="6">Yourte de couleur marron comportant 5 murs et ayant servie pendant 0 saisons, au prix de 2200 € 
    			</td>
    		</tr>
    		<tr>
    			<td>
    				<input type="checkbox" name="yourte7" value="7">Yourte de couleur marron comportant 6 murs et ayant servie pendant 0 saisons, au prix de 3000 € 
    			</td>
    		</tr>
    		<tr>
    			<td>
    				<input type="submit" value="Commander" />
    			</td>
    		</tr>
    	</table>
    </form>
    Et dans ta page commande.php, tu traites le choix du visiteur.

  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 : 40
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    2) A quoi correspond la variable $status ? elle n'est initialisée nulle part...
    C'est la valeur renvoyé par le bouton radio.
    J'aurais pensé que la valeur renvoyée par la bouton radio était $_POST['status']
    j'ai regardé sur ton lien, ca a l'air de fonctionné ..
    Moi ça plante joyeusement, mais c'est peut-être parce que j'utilise IE...
    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]

Discussions similaires

  1. Réponses: 1
    Dernier message: 13/03/2013, 14h17
  2. Réponses: 3
    Dernier message: 18/08/2011, 20h28
  3. Fermeture d'un formulaire : Ne fonctionne qu'une fois sur deux
    Par hellmaster78 dans le forum VBA Access
    Réponses: 6
    Dernier message: 02/04/2008, 11h35
  4. Réponses: 11
    Dernier message: 27/06/2006, 15h05
  5. [EasyPHP] Les variables ne passent pas sur EasyPHP
    Par b6i6o6 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 8
    Dernier message: 10/02/2006, 12h37

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