$.post メソッドを使用するときに $_POST 値にアクセスできない問題を解決する方法
P粉043432210
P粉043432210 2023-08-15 11:51:39
0
1
572
<p>あるページから別のページにデータを送信するのに非常に問題があります。ホームページに映画を表示する映画 Web サイトを開発しています。映画をクリックすると、レビューのある映画の詳細ページにアクセスしたいと考えています。実際、映画の詳細ページのコメント セクションでその映画に関連するコメントをフィルターしたいため、映画 ID を movie-detail.php ページに送信したいと考えています。これは、ホームページ内の映画ポスターをクリックしたときに、js ファイルの append を使用して作成されたものです。 </p> <pre class="brush:php;toolbar:false;"><div class="映画ポスター" onclick="loadComments(${movie.id})" data-movie-id="${映画.id}">... ...</pre> <p>この関数をトリガーします: </p> <pre class="brush:php;toolbar:false;">functionloadComments(movieId){ $.post("/web/action/show-comments.php", { movieId }); }</pre> <p>これは show-comments.php です:</p> <pre class="brush:php;toolbar:false;"><?php 「../../db/db_conn.php」を含めます; if(!isset($_SESSION)) session_start(); if(isset($_POST['movieId'])) $movieId = $_POST['movieId']; $userId = $_SESSION['id']; $sql = "SELECT * FROM レビュー WHERE movie_id="."$movieId"; #WHERE movie_id="."$movieId"; $result = pg_query($conn,$sql); while ($row = pg_fetch_row($result)) { ?> <div style="background-color: #aaa; パディング: 8px 16px; margin: auto; margin-bottom: 8px; border:1px ソリッドブラック; border-radius:10px; border-left:4px ソリッドブラック; width: 80%;"> <hr style="不透明度:0.9"> <p style="background-color: grey; padding: 16px; border-radius:10px">Commenter:<?php echo "$row[2]" ?></p> <hr style="不透明度:0.9"> <p> <?php echo "$row[1]" ?></p> </p> <hr style="不透明度:0.9"> <span class="fa fa-star チェック済み"></span> <span class="fa fa-star チェック済み"></span> <span class="fa fa-star チェック済み"></span> <span class="fa fa-star"></span> <span class="fa fa-star"></span> <hr style="不透明度:0.9"> </div> <?php } ?></pre> <p><code>show-comments.php</code> は <code>movie-detail.php</code> ページのコメント セクション div に含まれていますが、ページに入ろうとすると、 $movieId変数に関する未定義の配列キーエラーが常に表示されます。必要なのは映画IDだけです。 Cookie を使用したり、入力フィールドを非表示にしたり、さまざまなことを試しましたが、どれも機能しないようで、常にこのエラーが発生します。 <code>$_POST</code> 配列を出力しようとしましたが、空でした。私が何を間違えたのでしょうか? </p>
P粉043432210
P粉043432210

全員に返信(1)
P粉764836448

次の方法を試して、エラーがある場合は修正してください。 movieId がキーと値のペアとして適切にフォーマットされていないため、$.post() 関数を正しく使用していないと思います。 次の方法をお試しください。 リーリー

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート