[RESOLU] Page principale/ détail

Eléphant du PHP | 91 Messages

17 déc. 2020, 21:13

Bonjour,
Je voudrais faire des news ou quand on clique dessus ça se dirige sur une autre page pour le détail, j'ai tenté avec un formulaire, ça fonctionne, ceci dit si on veut accéder directement via l'URL, j'ai forcément une page sans rien. Ma question edt donc y a t'il moyen de contourner le problème ?
Merci de votre aide.

Mammouth du PHP | 2703 Messages

17 déc. 2020, 21:15

un lien avec un paramètre dans l'url :
<a href="fichier.php?id=123">détail</a>

Eléphant du PHP | 91 Messages

17 déc. 2020, 21:33

Oui mais pour récupérer le contenu c'est là que je bloque

Mammouth du PHP | 2703 Messages

17 déc. 2020, 21:44

comment c'est fait à partir du formulaire ?

Eléphant du PHP | 91 Messages

17 déc. 2020, 22:10

Dans l'URL je mets le lien.php?non=$variable

Mais je pense que je le problème vient de la requête sur la page cible

Eléphant du PHP | 91 Messages

18 déc. 2020, 10:44

Bonjour
Je vous note ce que j'ai mis :

Sur la première page dans mon formulaire :
<form action='pagecible.php?id=<? echo $data['id'] ?>' method='post'>

Sur la page cible :
<?php
foreach ($_POST as $key=>$value) $$key=$value;
?>
<?
$reponse = $bdd->query('SELECT * FROM table WHERE id="'.$id.'"');
$data = $reponse->fetch()
?>

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

18 déc. 2020, 11:08

Salutations !

En php, la variable $_POST te permet de récupérer les informations qui ont été envoyé via la méthode POST (d'où son nom ;)). Elle impose généralement que les données soient transmise via un formulaire.

Pour récupérer les données passées dans l'url, il faut utiliser la variable $_GET.

Ainsi dans ta première page un simple lien suffit :
<a href="pagecible.php?id=<?php echo $data['id']; ?>">Lire la suite</a>
Et sur la page de détail, au lieu de récupérer la valeur id soumise en POST, il te faut aller lire le contenu de $_GET['id'] pour récupérer l'information passée dans l'URL.

Cela permettra également d'accéder au bon contenu en entrant directement l'url dans le navigateur :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphant du PHP | 91 Messages

18 déc. 2020, 11:31

C'est bon j'ai trouvé, j'ai ajouté $_GET['id'}, maintenant ça me parait évident lol
Merci pour vos réponse
Bonnes fêtes de fin d'année à vous

Mammouth du PHP | 2703 Messages

18 déc. 2020, 14:56

$_GET['id'] qui peut contenir 123 mais aussi "123 union select ..."