CONNEXION
  • RetourJeux
    • Tests
    • Soluces
    • Previews
    • Sorties
    • Hit Parade
    • Les + attendus
    • Tous les Jeux
  • RetourActu
    • Culture Geek
    • Astuces
    • Réalité Virtuelle
    • Rétrogaming
    • Toutes les actus
  • RetourHigh-Tech
    • Actus JVTECH
    • Bons plans
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTECH
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch
    • Xbox Series
    • Overwatch 2
    • FUT 23
    • League of Legends
    • Genshin Impact
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • PS4
  • One
  • Switch
  • Wii U
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Etoile Abonnement RSS

Sujet résolu : [PHP]Aide transfert de variables vers une autre page.

DébutPage précedente
1
Page suivantePage suivante
Daft_Vador Daft_Vador
MP
Niveau 7
04 octobre 2015 à 10:44:24

Bonjour,
Je débute dans le php et j'ai un petit problème:
Dans ma base de donnée, j'ai une table "films" dans lequel je stocke toutes mes variables (je sais pas si c'est le nom exact).
Dans mon index, j'ai réussi les afficher, et je souhaite que lorsque on clique sur le film qui nous intéresse, seule les variables du film soient sélectionné.
j'ai donc utilisé cette formule (trouvé sur le tuto php d'open classroom):

<a href="fiche_film.php?films=<?php echo $donnees['id'];?>">

Mais ça ne marche pas je me triture la tête depuis plusieurs heures à trouver une coquille mais rien :-(

Nom bdd: "bbd_test"
Table: "films" avec comme variable "id" "titre" "acteurs" "annee" "genre" etc...

Merci d'avance pour votre aide :)

maison_arryn maison_arryn
MP
Niveau 10
04 octobre 2015 à 11:33:24

seule les variables du film soient sélectionné.

Dans ce cas ne mets pas <?php echo $donnees['id'];?> mais seulement le nom de la variable qui contient les films voulus
enfin c'est ce que je vois :doute:

Thomasfkc Thomasfkc
MP
Niveau 11
04 octobre 2015 à 12:09:43

Essaie d'afficher juste <a href="#"><?php echo $donnees['id'];?></a> pour voir si ta variable s'affiche bien. Si ça t'affiches bien le titre du film c'est que le titre du film est bien stocké dans la variable mais que c'est ton lien qui est foireux, sinon c'est que tu as mal récupéré les infos de ta base de donnée et qu'il faut revoir tes requêtes sql :(

deepblue deepblue
MP
Niveau 13
04 octobre 2015 à 13:41:46

Il est impossible de t'aider sans plus d'informations.

Est-ce que tu traites ta variable passée dans la query string (http://tonsite/fiche_film.php?films=XXXX) ? En effet, ça ne se fera pas tout seul. Tu dois adapter ta requête SQL si le paramètre films est placé dans l'url.

https://gist.deblan.org/en/view/5611105fd8d58
https://dev-jvc.deblan.org/get/films.php

Message édité le 04 octobre 2015 à 13:42:13 par deepblue
Daft_Vador Daft_Vador
MP
Niveau 7
04 octobre 2015 à 15:22:36

Déjà merci pour vos réponses rapides :)

Le 04 octobre 2015 à 12:09:43 Thomasfkc a écrit :
Essaie d'afficher juste <a href="#"><?php echo $donnees['id'];?></a> pour voir si ta variable s'affiche bien. Si ça t'affiches bien le titre du film c'est que le titre du film est bien stocké dans la variable mais que c'est ton lien qui est foireux, sinon c'est que tu as mal récupéré les infos de ta base de donnée et qu'il faut revoir tes requêtes sql :(

Oui, le numéro du film s'affiche bien (sachant que "id" est une variable de type int, donc un nombre)

Le 04 octobre 2015 à 13:41:46 deepblue a écrit :
Il est impossible de t'aider sans plus d'informations.

Est-ce que tu traites ta variable passée dans la query string (http://tonsite/fiche_film.php?films=XXXX) ? En effet, ça ne se fera pas tout seul. Tu dois adapter ta requête SQL si le paramètre films est placé dans l'url.

https://gist.deblan.org/en/view/5611105fd8d58
https://dev-jvc.deblan.org/get/films.php

Désolé je ne sais pas, j'ai suivi cette page :
https://openclassrooms.com/courses/concevez-votre-site-web-avec-php-et-mysql/tp-un-blog-avec-des-commentaires

Voici mon code pour le fichier "fiche_film.php":
<?php
try
{
$bdd = new PDO('mysql:host=localhost:8889;dbname=bdd_test','root','root');
}
catch (Exception $e)
{die('Erreur : ' . $e->getMessage());
}

$req = $bdd->prepare('SELECT * FROM films WHERE id = ?');
$req->execute(array($_GET['id']));
$donnees = $req->fetch();
?>
{
?>

<h2><?php echo $donnees['titre']; ?></h2> <br/>
Avec <?php echo $donnees['acteurs']; ?>

<?php
}
$reponse->closeCursor(); // Termine le traitement de la requête
?>

Voila ma table "films".
https://www.noelshack.com/2015-40-1443964741-capture-d-ecran-2015-10-04-a-15-17-41.png

Message édité le 04 octobre 2015 à 15:24:20 par Daft_Vador
deepblue deepblue
MP
Niveau 13
04 octobre 2015 à 15:28:43

Désolé je ne sais pas, j'ai suivi cette page

Si tu ne sais pas ce que tu fais, alors reprend les cours depuis le début. Tu as été très certainement trop vite.

Daft_Vador Daft_Vador
MP
Niveau 7
04 octobre 2015 à 15:52:07

Oui c'est ce que je vais faire je pense :-(

Tanil Tanil
MP
Niveau 36
04 octobre 2015 à 21:15:41

Effectivement si tu ne sais pas ce que tu fais, il y a peu de chances pour que ça marche (ou du moins peu de chances pour que tu comprennes et donc apprennes).

En gros, tu fais une première requête sur ta page index qui te liste tous tes films. Pour chacun tu crées un lien contenant l'id du film, qui mène vers une autre page, via le paramètre "films". Sur l'autre page tu récupères cette valeur (l'id du film) et tu fais une requête pour récupérer les infos du film sur base de ce paramètre.

Voilà, sur base de ce petit texte, tu peux facilement trouver l'erreur qui se trouve dans ton code :

index.php

<a href="fiche_film.php?films=<?php echo $donnees['id'];?>">

fiche_film.php

$req->execute(array($_GET['id']));

Le paramètre que tu déclares dans index.php est "films" et tu construis ta requête dans fiche_film.php sur base d'un paramètre "id" qui n'existe pas. Ca ne marchera jamais, forcément. Tu dois réutiliser "films". J'en profite pour te signaler un truc de base :

Vérifie toujours l'existence (et la pertinence) de tes variables quand tu les emploies et que tu n'es pas sûr qu'elles existent (comme des $_GET, $_POST, $_SESSION, etc.) !

Autre chose : la connexion à la BD ne se déclare qu'une fois, dans un fichier à part. Fais un require_once du fichier en question pour éviter de devoir répéter le code.

Message édité le 04 octobre 2015 à 21:17:55 par Tanil
Daft_Vador Daft_Vador
MP
Niveau 7
07 octobre 2015 à 16:06:20

Merci j'ai relu le cours et j'ai enfin réussi :ok:

DébutPage précedente
1
Page suivantePage suivante
Répondre
Prévisu
?
Victime de harcèlement en ligne : comment réagir ?
Infos 0 connecté(s)

Gestion du forum

Modérateurs : Thymotep
Contacter les modérateurs - Règles du forum

Sujets à ne pas manquer

La vidéo du moment