Comment résoudre le problème de l'impossibilité d'accéder à la valeur $_POST lors de l'utilisation de la méthode $.post
P粉043432210
P粉043432210 2023-08-15 11:51:39
0
1
542
<p>J'ai beaucoup de mal à envoyer des données d'une page à une autre. Je développe un site Web de films qui affiche des films sur la page d'accueil et lorsque je clique sur un film, je souhaite accéder à la page de détails du film avec des critiques. En fait, je souhaite envoyer l'ID du film à la page movie-detail.php car je souhaite filtrer les commentaires liés à ce film dans la section commentaires de la page de détail du film. Voici l'affiche du film sur la page d'accueil, créée en utilisant l'ajout dans un fichier js, lorsque je clique dessus : </p> <pre class="brush:php;toolbar:false;"><div class="movie-poster" onclick="loadComments(${movie.id})" data-movie-id="${movie .id}">... ...</pré> <p>Il déclenche cette fonction : </p> <pre class="brush:php;toolbar:false;">function loadComments(movieId){ $.post("/web/action/show-comments.php", { movieId }); }</pré> <p>Voici show-comments.php : </p> <pre class="brush:php;toolbar:false;"><?php inclure "../../db/db_conn.php" ; if(!isset($_SESSION)) session_start(); if(isset($_POST['movieId'])) $movieId = $_POST['movieId']; $userId = $_SESSION['id']; $sql = "SELECT * FROM critiques WHERE movie_id="."$movieId"; #WHERE movie_id="."$movieId"; $result = pg_query($conn,$sql); while ($row = pg_fetch_row($result)) { ?> <div style="background-color: #aaa; padding: 8px 16px; margin: auto; margin-bottom: 8px; border:1px solid black; border-radius:10px; border-left:4px solid black; largeur : 80 %;"> <hr style="opacité:0.9"> <p style="background-color: gray; padding: 16px; border-radius:10px">Commentateur :<?php echo "$row[2]" ?></p> <hr style="opacité:0.9"> <p> <?php echo "$ligne[1]" ?></p> </p> <hr style="opacité:0.9"> <span class="fa fa-star vérifié"></span> <span class="fa fa-star vérifié"></span> <span class="fa fa-star vérifié"></span> <span class="fa fa-star"></span> <span class="fa fa-star"></span> <hr style="opacité:0.9"> </div> <?php } ?>≪/pré> <p><code>show-comments.php</code> est inclus dans la section commentaires de la page <code>movie-detail.php</code> cela me donne toujours une erreur de clé de tableau non définie concernant la variable $movieId. La seule chose dont j'ai besoin c'est la pièce d'identité du film. J'ai essayé beaucoup de choses, en utilisant des cookies et en masquant les champs de saisie, mais aucune ne semble fonctionner, me donnant toujours cette erreur. J'ai essayé d'imprimer le tableau <code>$_POST</code> mais il était vide. Qu'ai-je fait de mal? </p>
P粉043432210
P粉043432210

répondre à tous(1)
P粉764836448

Essayez les méthodes suivantes et corrigez-les s'il y a des erreurs. Je pense que vous n'utilisez pas correctement la fonction $.post() car le movieId n'est pas correctement formaté en tant que paire clé-valeur. Veuillez essayer les méthodes suivantes

function loadComments(movieId) {
  $.post("/web/action/show-comments.php", { movieId: movieId });
}
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal