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 :

Formulaire php prb


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Octobre 2011
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 51
    Par défaut Formulaire php prb
    Bonsoir,

    Je veux Écrire un formulaire qui demande deux nombres a et b. Il affiche ensuite la table de multiplication par a sur b lignes. Le formulaire doit se souvenir des valeurs choisies.

    Voici mon code mais il ne marche 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
    <html>
    <head>
    <title>
    traitement-06
    </title>
    </head>
    <body>
    <form method="get" action="traitement-06.php">
    Choisissez votre table : 
    <select name="liste1">
    <?
    	for($i=1;$i<21;$i++)
    	{
    		if ($liste1==$i) echo " selected=\"selected\"";
    		echo("<option value=".$i.">".$i."</option>");
    	}
    ?>
    </select>
    <br>
    Choisissez le nombre de lignes : 
    <select name="liste2">
    <?
    	for($i=10;$i<21;$i++)
    	{
    		if ($liste2==$i) echo " selected=\"selected\"";
    		echo("<option value=".$i.">".$i."</option>");
    	}
    ?>
    </select>
    <br>
    <input type="submit" value="Afficher la table choisie">
    <br><br>
    </form>
    <?
    	if((isset($_get[liste1]))||(isset($_get[liste2])))
    	{
    	$liste1=$_get[liste1];
    	$liste2=$_get[liste2];
    	for($i=0;$i<=$_get[liste2];$i++)
    	{
    	echo($i." * ".$_get[liste1]." = ");
    	echo($i * $_get[liste1]);
     
    	}
    	}
     
    ?>
    </body>
    </html>
    Merci de m'orienter vers la solution

  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
    Tu peux être plus précis que "ne marche pas" ?

    La syntaxe correste est :
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre Expert
    Avatar de badaze
    Homme Profil pro
    Chef de projets info
    Inscrit en
    Septembre 2002
    Messages
    1 412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets info
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 412
    Par défaut
    Les différents "selected" sont mal placés. Ils devraient être dans l'option.

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $selected = '';
    if ($liste1==$i) {$selected="selected";}
    echo("<option $selected value=".$i.">".$i."</option>");

    Comme on ne sait pas ce qui ne fonctionne pas c'est peut-être un autre bug.

    PS : je mets toujours des {} dans les if même s'il n'y a qu'une seule instruction.

  4. #4
    Membre averti
    Inscrit en
    Octobre 2011
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 51
    Par défaut
    Bonjour,

    Voici alors le code modifié, mais la table de multiplication n'est pas affiché. Aussi les valeurs choisies ne restent pas sélectionnées.
    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
    <html>
    <head>
    <title>
    traitement-06
    </title>
    </head>
    <body>
    <form method="get" action="traitement-06.php">
    Choisissez votre table : 
    <select name="liste1">
    <?
    	for($i=1;$i<21;$i++)
    	{
    		$selected = '';
    		if ($liste1==$i) {$selected="selected";}
    		echo("<option $selected value=".$i.">".$i."</option>");
    	}
    ?>
    </select>
    <br>
    Choisissez le nombre de lignes : 
    <select name="liste2">
    <?
    	for($i=10;$i<21;$i++)
    	{
    		$selected = '';
    		if ($liste2==$i) {$selected="selected";}
    		echo("<option $selected value=".$i.">".$i."</option>");
    	}
    ?>
    </select>
    <br>
    <input type="submit" value="Afficher la table choisie">
    <br><br>
    </form>
    <?
    	if((isset($_get['liste1']))||(isset($_get['liste2'])))
    	{
    	$liste1=$_get['liste1'];
    	$liste2=$_get['liste2'];
    	for($i=0;$i<=$_get['liste2'];$i++)
    	{
    	echo($i." * ".$_get['liste1']." = ");
    	echo($i * $_get['liste1']);
     
    	}
    	}
     
    ?>
    </body>
    </html>

  5. #5
    Membre averti
    Inscrit en
    Octobre 2011
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 51
    Par défaut
    J'ai pu résoudre le problème.

    Voici le nouveau code alors:

    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
    <html>
    <head>
    <title>
    traitement-06
    </title>
    </head>
    <body>
    <form method="get" action="traitement-06.php">
    Choisissez votre table : 
    <select name="liste1">
    <?
    	for($i=1;$i<21;$i++)
    	{
    		$selected =" ";
    		if ($_GET['liste1']==$i) {$selected="selected";}
    		echo("<option $selected value=".$i.">".$i."</option>");
    	}
    ?>
    </select>
    <br>
    Choisissez le nombre de lignes : 
    <select name="liste2">
    <?
    	for($i=10;$i<21;$i++)
    	{
    		$selected =" ";
    		if ($_GET['liste2']==$i) {$selected="selected";}
    		echo("<option $selected value=".$i.">".$i."</option>");
    	}
    ?>
    </select>
    <br>
    <input type="submit" value="Afficher la table choisie">
    <br><br>
    </form>
    <?
    	if((isset($_GET['liste1']))||(isset($_GET['liste2'])))
    	{
    	$liste1=$_GET['liste1'];
    	$liste2=$_GET['liste2'];
    	for($i=0;$i<=$_GET['liste2'];$i++)
    	{
    	echo($i." * ".$_GET['liste1']." = ");
    	echo($i * $_GET['liste1']."<br>");
     
    	}
    	}
     
    ?>
    </body>
    </html>

  6. #6
    Membre Expert
    Avatar de badaze
    Homme Profil pro
    Chef de projets info
    Inscrit en
    Septembre 2002
    Messages
    1 412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets info
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 412
    Par défaut
    Mettre la discussion comme résolue si c'est le cas.

    PS : une bonne pratique est de tester les valeurs des paramètres afin de ne pas accepter n'importe quoi.

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

Discussions similaires

  1. [MySQL] Formulaire PHP ->MySQL
    Par shub dans le forum PHP & Base de données
    Réponses: 14
    Dernier message: 09/02/2010, 22h42
  2. Formulaires ? PHP ou HTML ?
    Par ghyosmik dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 15/11/2005, 10h22
  3. Nom d'un Formulaire Php
    Par etiennegaloup dans le forum Langage
    Réponses: 2
    Dernier message: 03/11/2005, 21h55
  4. Formulaire PHP+ envoi de fichier joint
    Par GraphicProvider dans le forum Langage
    Réponses: 2
    Dernier message: 29/10/2005, 18h12
  5. [MySQL] Formulaire php + bdd = perte des sauts de ligne html ?
    Par sunshine33 dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 03/10/2005, 11h19

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