recherche

Maison  >  Questions et réponses  >  le corps du texte

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>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粉043432210P粉043432210472 Il y a quelques jours555

répondre à tous(1)je répondrai

  • P粉764836448

    P粉7648364482023-08-16 09:42:02

    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 });
    }

    répondre
    0
  • Annulerrépondre