Bagaimana untuk menyelesaikan masalah tidak dapat mengakses nilai $_POST apabila menggunakan kaedah $.post
P粉043432210
2023-08-15 11:51:39
<p>Saya menghadapi banyak masalah menghantar data dari satu halaman ke halaman yang lain. Saya sedang membangunkan tapak web filem yang memaparkan filem pada halaman utama dan apabila saya mengklik pada filem saya mahu mengakses halaman butiran filem dengan ulasan. Sebenarnya, saya ingin menghantar ID filem ke halaman movie-detail.php kerana saya ingin menapis komen yang berkaitan dengan filem itu di bahagian komen halaman butiran filem. Ini ialah poster filem dalam halaman utama, dibuat dengan menggunakan append dalam fail js, apabila saya mengklik padanya: </p>
<pre class="brush:php;toolbar:false;"><div class="movie-poster" onclick="loadComments(${movie.id})" data-movie-id="${movie .id}">...
...</pra>
<p>Ia mencetuskan fungsi ini: </p>
<pre class="brush:php;toolbar:false;">function loadComments(movieId){
$.post("/web/action/show-comments.php", { movieId });
}</pre>
<p>Ini ialah show-comments.php: </p>
<pre class="brush:php;toolbar:false;"><?php
sertakan "../../db/db_conn.php";
if(!isset($_SESSION)) session_start();
if(isset($_POST['movieId'])) $movieId = $_POST['movieId'];
$userId = $_SESSION['id'];
$sql = "PILIH * DARI ulasan WHERE movie_id="."$movieId";
$result = pg_query($conn,$sql);
manakala ($baris = pg_fetch_row($hasil)) { ?>
<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-star checked"></span>
<span class="fa-star checked"></span>
<span class="fa-star checked"></span>
<span class="fa fa-star"></span>
<span class="fa fa-star"></span>
<hr style="opacity:0.9">
</div>
<?php }
?></pra>
<p><code>show-comments.php</code> disertakan dalam bahagian komen di halaman <code>movie-detail.php</code> ia Sentiasa memberi saya ralat kunci tatasusunan yang tidak ditentukan mengenai pembolehubah $movieId. Satu-satunya perkara yang saya perlukan ialah ID filem. Saya telah mencuba banyak perkara, menggunakan kuki dan menyembunyikan medan input, tetapi tiada satu pun nampaknya berfungsi, sentiasa memberi saya ralat ini. Saya cuba mencetak tatasusunan <kod>$_POST</code> Apa yang saya buat salah? </p>
Cuba kaedah berikut dan betulkan jika terdapat sebarang kesilapan. Saya rasa anda tidak menggunakan fungsi $.post() dengan betul kerana movieId tidak diformat dengan betul sebagai pasangan nilai kunci. Sila cuba kaedah berikut