So lösen Sie das Problem, dass bei Verwendung der Methode $.post nicht auf den Wert $_POST zugegriffen werden kann
P粉043432210
2023-08-15 11:51:39
<p>Ich habe große Probleme beim Senden von Daten von einer Seite zur anderen. Ich entwickle eine Film-Website, die Filme auf der Startseite anzeigt. Wenn ich auf einen Film klicke, möchte ich auf die Filmdetailseite mit Rezensionen zugreifen. Tatsächlich möchte ich die Film-ID an die Seite movie-detail.php senden, weil ich die Kommentare zu diesem Film im Kommentarbereich der Filmdetailseite filtern möchte. Dies ist das Filmplakat auf der Homepage, erstellt durch Anhängen in einer JS-Datei, wenn ich darauf klicke: </p>
<pre class="brush:php;toolbar:false;"><div class="movie-poster" onclick="loadComments(${movie.id})" data-movie-id="${movie .id}">...
...</pre>
<p>Es löst diese Funktion aus: </p>
<pre class="brush:php;toolbar:false;">function loadComments(movieId){
$.post("/web/action/show-comments.php", { movieId });
}</pre>
<p>Das ist show-comments.php: </p>
<pre class="brush:php;toolbar:false;"><?php
include „../../db/db_conn.php“;
if(!isset($_SESSION)) session_start();
if(isset($_POST['movieId'])) $movieId = $_POST['movieId'];
$userId = $_SESSION['id'];
$sql = "SELECT * FROM reviews 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; width: 80 %;">
<hr style="opacity:0.9">
<p style="background-color: grey; padding: 16px; border-radius:10px">Commenter:<?php echo "$row[2]" ?></p>
<hr style="opacity:0.9">
<p> <?php echo "$row[1]" ?></p>
</p>
<hr style="opacity:0.9">
<span class="fa fa-star checked"></span>
<span class="fa fa-star checked"></span>
<span class="fa fa-star checked"></span>
<span class="fa fa-star"></span>
<span class="fa fa-star"></span>
<hr style="opacity:0.9">
</div>
<?php }
?></pre>
<p><code>show-comments.php</code> ist im Kommentarbereich der Seite <code>movie-detail.php</code> enthalten, aber wenn ich versuche, die Seite aufzurufen, Es gibt mir immer einen undefinierten Array-Schlüsselfehler in Bezug auf die Variable $movieId. Das Einzige, was ich brauche, ist die Film-ID. Ich habe viele Dinge versucht, Cookies verwendet und Eingabefelder ausgeblendet, aber keines scheint zu funktionieren, sodass ich immer diese Fehlermeldung bekomme. Ich habe versucht, das Array <code>$_POST</code> zu drucken, aber es war leer. Was habe ich falsch gemacht? </p>
尝试以下方法,如果有错误请纠正。 我认为你没有正确使用 $.post() 函数,因为 movieId 没有正确格式化为键值对。 请尝试以下方法