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. 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. 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. 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 !
          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.