Partage
  • Partager sur Facebook
  • Partager sur Twitter

Formulaire et variable

Sujet résolu
    23 novembre 2014 à 17:06:04

    Voila je cherche a faire passez la valeur d'une variable via l'argument value d'un formulaire du type option

    include("header.php");
    
    echo 
    '<form method ="POST" action = "modif_e.php" >
    <label for = "choix" > Quel produits souhaitez vous modifiez</label><br />
    <select name ="choix" \'autoselected\'>';
    while ($donnees = $reponse->fetch())
    {
    	if( $donnees['fournid'] == $_SESSION['id'])
    		{
    		echo 
    		'<option value="\'$donnees[\'nom\']\'">'.$donnees['nom'].'</option>';
    }
    }
    echo
    '</select>
    <input type="submit" value="Valider" />
    </form>';

    j'ai besoin du nom ou de l'id pour savoir ce que je vais modifiez plus loin 

    Sinon j'avais aussi pensez a placez un array dans une variable de session puis de donnez a la value la case ou de changez le type de formulaire pour un style de case a cochez mais le probleme reste le meme comment faire changez la value en fonction de l'avancement de mon tableau?

    Merci d'avance

    • Partager sur Facebook
    • Partager sur Twitter
      23 novembre 2014 à 18:40:39

      Slt,

      Pourquoi as-tu tout mis dans un echo?  de plus tu as un echo dans un echo dans echo...

      Tu aurais un code structuré tu y verrais certainement plus clair.

      • Partager sur Facebook
      • Partager sur Twitter
        23 novembre 2014 à 19:07:41

        ? il y a 3 echo distincts le premier démarre le formulaire le second affiche l'option et le 3eme affiche le bouton et la fin de formulaire.

        Je tient a modifiez a chaque tour l'argument value d'option pour les differenciez afin de pouvoir savoir quelle est le choix de l'utilisateur.

        • Partager sur Facebook
        • Partager sur Twitter
          23 novembre 2014 à 23:24:52

          en gros je veux pouvoir faire :

          souhaitez vous changez l'un de vos produits vendus ?  --->   Lequel (la le probleme pour la selection) ?---> que souhaitez vous modifiez (utilisation de post pour creer une session --> Entrés les nouvelle donnés --> modification !!

          j'ai tentes le code ci dessus mais lorsque je passe a la page suivante et que j'affiche les valeur de post sa affiche juste $donnees['nom']

          • Partager sur Facebook
          • Partager sur Twitter
            24 novembre 2014 à 3:11:55

            Kholl a écrit:

            j'ai tentes le code ci dessus mais lorsque je passe a la page suivante et que j'affiche les valeur de post sa affiche juste $donnees['nom']


            C'est tout à fait normal, c'est à cause des guillemets simples ligne 12. Les variables placés dans une chaine de caractères entre guillemets simples (apostrophes) ne sont pas évaluées mais affichées comme du texte, contrairement aux chaines entre guillemets doubles où les variables sont évaluées.

            Concernant la lisibilité, c'est vrai que ce n'est pas ce qu'il y a de plus clair ;) . Il serait plus propre de sortir le html du code php plutôt qu'utiliser les echo lignes 3 et 15. Attention aussi à l'indentation (accolades lignes 10 et 13)

            • Partager sur Facebook
            • Partager sur Twitter
            Anonyme
              24 novembre 2014 à 12:45:34

              Bonjour.

              D'abord avant d'aller plus loin :

              Est-ce que votre select à options s'affiche bien ?.... Je veux dire est-il opérationnel ?... (on peut sélectionnerr une option ?...)

              J'ai un sérieux doute sur votre attribut "autoselected" !!!

              -
              Edité par Anonyme 24 novembre 2014 à 13:20:14

              • Partager sur Facebook
              • Partager sur Twitter
                24 novembre 2014 à 13:12:39

                Merci ^^ je n'avais pas pensé a une erreur de ce type 

                mais la j'ai un autre probleme ma page de code au niveau de la modif des table 

                <?php
                if(!isset($_SESSION)) 
                { 
                session_start(); 
                }
                try
                {
                	$bdd = new PDO('mysql:host=localhost;dbname=projet3', 'root', '');
                }
                catch (Exception $e)
                {
                        die('Erreur : ' . $e->getMessage());
                }
                
                $prodid = $_SESSION['prod'];
                if(isset($_POST['description'] ))
                {
                
                $description=$_POST['description'];
                $req = $bdd->prepare('UPDATE produits SET description = :nvdescription WHERE prodid = \'$prodid\' ');
                $result = $req->execute(array(
                	'nvdescription' => $description));
                	if ($result == false) 
                  {
                  echo 'erreur execute<br/>  ';
                  print_r($req->errorInfo());
                  die();}
                include("header.php");
                	echo "vos information ont bien ete modifiez";
                include("footer.php");
                }
                
                }
                else
                echo "erreur";


                :/



                • Partager sur Facebook
                • Partager sur Twitter
                  24 novembre 2014 à 13:34:33

                  le autoselected me servait a moi je cliquer sur entré en arrivant sur la page et sa allez a la prochaine mais le selct fonctionnait tres bien :)
                  • Partager sur Facebook
                  • Partager sur Twitter
                  Anonyme
                    24 novembre 2014 à 14:22:18

                    Désolé, je ne connais pas "autoselected".... Pouvez vous indiquer un lien avec la doc correspondante ?...

                    Par ailleurs, il est probable que lorsque vous faîtes "entrée" vous soyez redirigé vers "modif_e.php" avec en $_POST la première option de votre select...

                    Non ?...

                    Je pense qu'il faut, lors de la création du select, placer la première option à 'vide'... 

                    <select name ="choix">
                    <option value="">Sélectionnez une action</option>

                    Et ce, avant votre boucle "while" !... 

                    Ensuite c'est à "modif_e.php" de gérer ce qui sera sélectionné par l'utilisateur...

                    -
                    Edité par Anonyme 24 novembre 2014 à 14:23:18

                    • Partager sur Facebook
                    • Partager sur Twitter
                      24 novembre 2014 à 17:51:03

                      Je souhaitez ecrire autofocus j'ai due faire une erreur en reecrivant ma page quant a

                      value  ce code fonctionne 

                      <form method ="POST" action = "modif_e.php">
                      <label for = "choix" > Quel produits souhaitez vous modifiez</label><br />
                      <select name ="choix" >
                      <?php
                      while ($donnees = $reponse->fetch())
                      {
                      	if( $donnees['fournid'] == $_SESSION['id'])
                      		{
                      		echo "<option value=\"".$donnees['prodid']."\">".$donnees['nom']."</option>";
                      }
                      }
                      ?>
                      
                      </select>
                      <input type="submit" value="Valider" />
                      </form>
                      <?php

                      il affiche les option et retient l'id du produit selectionnez

                      • Partager sur Facebook
                      • Partager sur Twitter
                      Anonyme
                        24 novembre 2014 à 18:37:42

                        Il fonctionne certes, mais MAL !...

                        Car si l'utilisateur ne sélectionne rien, et qu'il soumet le formulaire, c'est la première option qui sera traitée d'office !!!

                        Je doute que cela soit ce que vous souhaitez, sinon pourquoi alors faire un SELECT ???

                        Les internautes qui répondent essaient de comprendre ce qu'on leur dit. Hélas vous semblez vous dispenser de cet effort. Nous en resterons donc là !...

                        P.S : Vous avez quand même fini par reconnaître au bout de 5 heures, avoir confondu "autofocus" et "autoselected"... Ouf !...

                        -
                        Edité par Anonyme 24 novembre 2014 à 20:53:48

                        • Partager sur Facebook
                        • Partager sur Twitter
                          24 novembre 2014 à 18:58:37

                          Je debute j'ai encore due mal a voir mes erreurs, j'ai rajoutez une option avec un argument value nulle avant ma boucle while.

                          pour autofocus j'ai melangé autofocus et selected .

                          merci pour ton aide.

                          • Partager sur Facebook
                          • Partager sur Twitter
                            24 novembre 2014 à 21:55:05

                            Ok j'ai compris mon erreur sur la deuxieme partit de mon code il fautdes " plutot que des '.
                            • Partager sur Facebook
                            • Partager sur Twitter

                            Formulaire et variable

                            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                            • Editeur
                            • Markdown