Récupérer la valeur d'un bouton sur lequel on a cliqué

clement -  
 clement -
Bonjour,
J'ai une base de données contenant deux colonnes : "titre" et "contenu". Mon but est d'afficher tous les titres sur la première page, et lorsque l'utilisateur cliquera sur un des titres j'aimerai récupérer cette valeur et afficher sur une deuxième page tous les contenus qui en dépendent.

Pour cela je crée un input de type "submit" dont la valeur affichée est mon titre. Mon problème est que je n'arrive pas à récupérer la valeur du titre sur lequel j'ai cliqué.

Si quelqu'un a une idée de la façon dont on peut faire cela je serai intéressé.

Merci d'avance

Voici le code que j'ai déjà réalisé

<html>
<body>

<?php

//permet d'utiliser les fonctions de ce fichier
require ('fonctions.php');

//connexion à la base de données (fonction contenue dans 'fonctions.php')
connexionDB();

//TITRE DE LA PAGE
echo "<center><h2>Affichage des titres </h2></center>";

//requete qui sélectionne les titres
$select = 'SELECT DISTINCT titre FROM prod_bex ORDER BY titre ASC';
$result = mysql_query($select) or die ('Erreur : '.mysql_error() );

//fonction d'affichage des boutons
while( $row=mysql_fetch_assoc($result) )
{
?>
<tr>
<center><input name="titre" type='submit' value='<?php echo $row['titre']; ?>' style="width: 150px; padding: 2px;
text-align: center; border: 2px solid Gray;"
onMouseOver="style.backgroundColor='lightgreen';"
onMouseOut="style.backgroundColor='#FFFFFF'"
onClick="self.location='test2.php'">
</tr>
<?php
}

//fonction qui récupère la valeur de la case cliquée
if(isset($_POST['titre']))
{
$champ=$_POST['titre'];
}
echo "titre = ".$champ;
?>

</body>
</html>

3 réponses

  1. Pitet Messages postés 2845 Statut Membre 530
     
    Salut,

    Tu essayes de récupérer le titre en POST via un bouton submit mais tu n'as aucun formulaire dans ta page.

    A la place je te conseil d'utiliser des liens avec un paramètre GET pour récupérer le titre :
    //fonction d'affichage des boutons
    while($row=mysql_fetch_assoc($result) )
    {
    ?>
    <a href="test2.php?titre=<?php echo htmlspecialchars($row['titre']); ?>">
        Lire l'article <?php echo htmlspecialchars($row['titre']); ?>
    </a>
    <?php
    }
    
    //fonction qui récupère la valeur de la case cliquée
    if(isset($_GET['titre']))
    {
        echo htmlspecialchars($_GET['titre']);
    } 
    


    Bonne journée
    0
    1. clement
       
      Merci indéfiniment !!! ça ne devait pas être compliqué mais comme je débute en php je ne trouvais pas la solution.
      0
  2. Thorak83 Messages postés 1140 Statut Membre 156
     
    Bonjour,
    La façon de faire est très bizarre. Mais bon.
    Pour récupérer la variable en $_POST il faudrait l'envoyer un travers un formulaire. Hors vous en avez pas. Seulement des boutons qui lance un Javascript que va chercher une page test2.php.

    Sinon si vous voulez continuer comme cela, ajouter la variable à transmettre dans l'URL comme ceci:
    onClick="self.location='test2.php?titre='<?php echo $row['titre']; ?>'"


    pour récupérer la variable faire :
    $champ=$_GET['titre'];
    0