PHP ; plusieurs boutons SUBMIT...

Résolu
Kikou à tous,

En developpant un soft de gestion de bookmarks en php/mysql, (ben vi, j'ai rien trouvé de sympa sur le réseau), je me suis heurtée à un problème...
voilà mon soucis ; je cherche à récupérer 2 infos d'une page pour les stocker dans ma base mysql
Première info ; l'adresse du bookmark (saisie via un formulaire)
Deuxième info ; le nom de la catégorie du bookmark (l'utilisateur clic sur un lien)

ca donne qqchose comme ceci ;
<form id="Add_bookmark" name="Add_bookmark" method="post" action="add.php">
Entrer le favori
<input type="text" name="URL_to_book" id="URL_to_book" size="80"/>

// un peu plus loin, j'extrait de ma liste les catégories présentes dans base (et je les dispose joliment, pas de listbox!!!) :
[...]
<a href="javascript:document.Add_bookmark.submit();"><? echo $found_cat; ?></a>
[...]
</form>

Le problème est ; comment récupérer les 2 parametres EN MEME TEMPS ; à savoir le nom du bouton utilisé, et le text contenu dans le champs URL_to_book ?

pleeeeeease help !!
Configuration: Windows XP
Firefox 2.0.0.10

5 réponses

  1. Contributeur
    Salut,

    Un champs submit peut lui aussi avoir un nom il me semble non ? ;-)
    1
    1. Hello,

      effectivement, en faisant ceci
      <input type="submit" name="<? echo $found_cat; ?>" value="<? echo $found_cat; ?>" />

      et sur la page qui recoit les données, je peux récupérer les 2 champs par :
      $URL_to_book = $_POST["URL_to_book"]; => le favori dans le champs text

      et en parcourant la base, je fini par trouver le champs qui a été envoyé...
      $query = "SELECT categorie FROM categor_table GROUP BY categorie";
      $result = mysql_query($query) or die("Query failed");
      while ($line = mysql_fetch_assoc($result))
      {
      foreach ($line as $categorie )
      { if ($line = $_POST[$categorie])
      { echo "j'ai trouvé le bouton qui a servi : $line";}
      }
      }

      MAIS... j'ai ces gros boutons horribles à l'écran ! Ce que je veux c'est un HREF. Et j'ai lu qu'on pouvait remplacer par
      <a href="javascript:document.Add_bookmark.submit();"><? echo $categorie; ?></a>
      mais là, plus de balise INPUT, donc comment récupérer le nom sur la page qui recoit les données ?
      1
      1. Contributeur
        Les bouton ça se personnalise en CSS.

        comment récupérer le nom sur la page qui recoit les données ?
        En JS je ne sais pas.
        1
        1. Contributeur
          <input value="Envoyer" type="button" onclick="location.href='index.php?page='+this.parentNode.childNodes[0].value" />
          this.parentNode -> on remonte dans la balise parente (form)
          childNodes[0] -> on va dans la 1er balise enfant de form
          value -> On récupère la valeur de cette balise

          Comme ça on fais passer en la variable $GET_['page'] la valeur du la 1er balise enfant de form. Tu peux très bien cumuler.
          onclick="location.href='index.php?page='+this.parentNode.childNodes[0].value+'&amp;truc='+this.parentNode.childNodes[1].value"


          J'imagine qu'on peux adapter le système pour créer des liens plutôt qu'un bouton.

          Sache quand même que si Javascript est désactiver ton truc marche plus.
          1
          1. Bon, je progresse... mais ca commence à devenir très obscur...

            j'ai viré le
            <input type="submit" name="<? echo $found_cat; ?>" value="<? echo $found_cat; ?>" />
            et je l'air remplacé par ;
            <a href="javascript:My_submit('<? echo $found_cat; ?>');"><? echo $found_cat; ?></a>

            accoudé à cette fonction ;
            <SCRIPT language="Javascript">
            <!--

            function My_submit(Texte) {
            alert(Texte);
            alert(document.forms["Add_bookmark"].URL_to_book.value);
            }
            //-->
            </SCRIPT>

            il me reste plus qu'à envoyer ces parametres à ma nouvelle page !
            Merci pour m'avoir accordé un peu de tes heures de sommeil
            @+ bisous à tous !
            0