Changer un bouton submit en lien en php
Résolu
mac_evel
Messages postés
7
Date d'inscription
Statut
Membre
Dernière intervention
-
Silk Messages postés 1003 Date d'inscription Statut Membre Dernière intervention -
Silk Messages postés 1003 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous,
J'ai une question qui me torture l'esprit depuis hier:
Je suis en train de construire un forum en php sur lequel il y aurait plusieurs sujets. Ces mêmes sujets sont associés à un numéro et à plusieurs commentaires, tous enregistrés dans une base mysql.
Ce que j'aimerai faire, c'est que les sujets apparaissent à l'utilisateur comme des liens et que quand ils cliquent dessus, on récupère le numéro du sujet sur une autre page (afin de consulter les commentaires associés à ce sujet).
A priori, cela semble très simple à réaliser avec un formulaire php. Seulement je que je veux c'est que le sujet n'apparaisse pas en bouton submit mais en lien.
J'ai envisagé l'alternative Javascript, mais ça ne peut pas marcher car le nom du lien (donc du sujet) est extrait de la base et enregistré dans une variable php.
Voici mon code:
J'espère que j'aurai été assez clair. Merci
J'ai une question qui me torture l'esprit depuis hier:
Je suis en train de construire un forum en php sur lequel il y aurait plusieurs sujets. Ces mêmes sujets sont associés à un numéro et à plusieurs commentaires, tous enregistrés dans une base mysql.
Ce que j'aimerai faire, c'est que les sujets apparaissent à l'utilisateur comme des liens et que quand ils cliquent dessus, on récupère le numéro du sujet sur une autre page (afin de consulter les commentaires associés à ce sujet).
A priori, cela semble très simple à réaliser avec un formulaire php. Seulement je que je veux c'est que le sujet n'apparaisse pas en bouton submit mais en lien.
J'ai envisagé l'alternative Javascript, mais ça ne peut pas marcher car le nom du lien (donc du sujet) est extrait de la base et enregistré dans une variable php.
Voici mon code:
<?php $id=connexion(); // fonction de connexion à la base mysql $requete= mysql_query("SELECT * FROM sujets") or die(mysql_error()); while($donnees= mysql_fetch_array($requete)) { $num = $donnees['id']; // on récupère les numéros et $titre = $donnees['titre']; // leurs sujets associés echo'<form method="POST" name ="formulaire" action="test.php"> <input type="hidden" name="id_sujet" value="'.$num.'" /> </form> <strong><a href="test.php">'.$titre.'</a></strong><br/>'; // c'est grâce au lien ci dessus que je souhaite récupérer sur // la page test.php le numéro du sujet sur lequel l'utilisateur a cliqué } mysql_close($id); ?>
J'espère que j'aurai été assez clair. Merci
A voir également:
- Bouton php lien
- Lien url - Guide
- Créer un lien pour partager des photos - Guide
- Verificateur de lien - Guide
- Bouton shift pc ✓ - Forum Jeux vidéo
- Bouton on off ✓ - Forum Loisirs / Divertissements
4 réponses
Salut
<strong><a href="#" onclick="javascript:document.formulaire.submit();">'.$titre.'</a></strong><br/>';
"document" est un terme spécifique, pas un nom. Il désigne justement la page sur laquelle tu es. Il ne faut pas changer ce terme.
"formulaire" est le nom de ton formulaire. Si ton formulaire s'appelle "toto" (name="toto"), tu remplaces "formulaire" par "toto" (document.toto.submit()).
Voilà.
Explication:
Le principe est de remplacer le bouton submit par un lien qui reproduit exactement un clic sur ce bouton. La commande javascript submit() a cette fonction.
<strong><a href="#" onclick="javascript:document.formulaire.submit();">'.$titre.'</a></strong><br/>';
"document" est un terme spécifique, pas un nom. Il désigne justement la page sur laquelle tu es. Il ne faut pas changer ce terme.
"formulaire" est le nom de ton formulaire. Si ton formulaire s'appelle "toto" (name="toto"), tu remplaces "formulaire" par "toto" (document.toto.submit()).
Voilà.
Explication:
Le principe est de remplacer le bouton submit par un lien qui reproduit exactement un clic sur ce bouton. La commande javascript submit() a cette fonction.
Yeah! ça marche!!!! Merci Silk tu as ma reconnaissance éternelle.
Voici le code qui marche:
Voici le code qui marche:
<?php $id=connexion();// fonction de connexion à la base $requete= mysql_query("SELECT * FROM sujets") or die(mysql_error()); while($donnees= mysql_fetch_array($requete)) { $num = $donnees['id'];// on récupère les numéros et $titre = $donnees['titre'];// leurs sujets associés echo'<form method="POST" name ="formulaire_'.$num.'" action="test.php"> <input type="hidden" name="id_sujet" value="'.$num.'" /> </form> <strong><a href="#" onclick="javascript:document.formulaire_'.$num.'.submit();">'.$titre.'</a></strong><br/>'; } mysql_close($id); ?>
Silk tu es vraiment super rapide et tu as l'air calé en php et js, mais je te jure que cette ligne de code ne fonctionne pas. A mon avis c'est qu'on ne peut pas bien mélanger les côtés serveur et client non? Ou alors c'est moi qui ne l'ai pas mise au bon endroit.
Voici comment je l'ai intégrée
Voici comment je l'ai intégrée
<?php $id=connexion();// fonction de connexion à la base $requete= mysql_query("SELECT * FROM sujets") or die(mysql_error()); while($donnees= mysql_fetch_array($requete)) { $num = $donnees['id'];// on récupère les numéros et $titre = $donnees['titre'];// leurs sujets associés echo'<form method="POST" name ="formulaire" action="test.php"> <input type="hidden" name="id_sujet" value="'.$num.'" /> </form> <strong><a href="#" onclick="javascript:document.formulaire.submit();">'.$titre.'</a></strong><br/>'; // c'est grâce au lien ci dessus que je souhaite récupérer sur // une autre page le numéro du sujet sur lequel l'utilisateur a cliqué } mysql_close($id); ?>