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
    <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. 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
        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. 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
            Salut,

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