PHP ; plusieurs boutons SUBMIT...

Résolu
karine_b Messages postés 32 Statut Membre -  
s.spark Messages postés 2528 Statut Contributeur -
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. s.spark Messages postés 2528 Statut Contributeur 618
     
    Salut,

    Un champs submit peut lui aussi avoir un nom il me semble non ? ;-)
    1
  2. karine_b Messages postés 32 Statut Membre 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
  3. s.spark Messages postés 2528 Statut Contributeur 618
     
    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
  4. s.spark Messages postés 2528 Statut Contributeur 618
     
    <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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. karine_b Messages postés 32 Statut Membre 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