0

私のeventinfo.phpは次の出力を提供しています:

<br />
<b>Notice</b>:  Undefined index:  club in <b>/homepages/19/d361310357/htdocs/guestvibe/wp-content/themes/yasmin/guestvibe/eventinfo.php</b> on line <b>11</b><br />
[]

HTML (index.php):

<select name="club" class="dropdown" id="club">
<?php getClubs(); ?>
</select>

jQuery (index.php):

<script type="text/javascript">

    $(document).ready(function() {
        $.ajax({
            type: "POST",
            url: "http://www.guestvibe.com/wp-content/themes/yasmin/guestvibe/eventinfo.php",
            data:  $('#club').serialize(),
            success: function(data) {
                $('#rightbox_inside').html('<h2>' + $('#club').val() + '<span style="font-size: 14px"> (' + data[0].day + ')</h2><hr><p><b>Entry:</b> ' + data[0].entry + '</p><p><b>Queue jump:</b> ' + data[0].queuejump + '</p><br><p><i>Guestlist closes at ' + data[0].closing + '</i></p>');
                },
            dataType: "json"
        });
    });

    $('#club').change(function(event) {
        $.ajax({
            type: "POST",
            url: "http://www.guestvibe.com/wp-content/themes/yasmin/guestvibe/eventinfo.php",
            data:  $(this).serialize(),
            success: function(data) {
                $('#rightbox_inside').hide().html('<h2>' + $('#club').val() + '<span style="font-size: 14px"> (' + data[0].day + ')</h2><hr><p><b>Entry:</b> ' + data[0].entry + '</p><p><b>Queue jump:</b> ' + data[0].queuejump + '</p><br><p><i>Guestlist closes at ' + data[0].closing + '</i></p>').fadeIn('500');
                },
            dataType: "json"
        });

    });

</script>

jQuery からアラートを実行できるので、アクティブです。

これは古いバージョンのウェブサイトからそのままコピーしたものですが、ファイル構造を変更して (WordPress に移行するまで) 変数がそもそも eventinfo.php に到達していないのではないかと思います...

index.php は wp-content/themes/cambridge にあり、eventinfo.php は wp-content/themes/yasmin/guestvibe にありますが、URL 全体を参照することで構造化の問題を回避しようとしました。

何か案は?

編集

すみません、eventinfo.php を忘れていました。本当に関係があるのは 3 行目だけだと思いますが、間違っているかもしれません。

include('functions.php');
connect();
$night = $_POST['club'];
$night = mysql_real_escape_string($night);

$query = "SELECT * FROM nights WHERE name = '" .$night. "'";

    $result = mysql_query($query);
    $items = array();

    if($result && mysql_num_rows($result) > 0) { 
        while ($row = mysql_fetch_array($result)) { 
        $items[] = array("entry"=>$row['entry'], "day"=>getLongDateString($row['day']), "queuejump"=>$row['queue jump'], "closing"=>$row['closing']);
        }
    } 

    mysql_close(); 
    // convert into JSON format and print

    echo json_encode($items);
?>

vardump[$_POST] は以下を与えます:

array(0) {
}
4

1 に答える 1

2

index.php ファイルには、次のように記述されています。

<select name="club" class="dropdown" id="club">
<?php getClubs(); ?>
</select>

これを(更新)に変更します。

<form name="myform" id="myform" action="submit.php" method="POST">
<select name="club" class="dropdown">
<?php getClubs(); ?>
</select>
</form>

次に、コードを次のように変更し$('#myform').serialize()ます$('#club').serialize()

$_POST['club'] が null であるため、通知を受けています。正しく送信されていないため、null です。select 要素ではなく、フォームを送信する必要があります。serialize()選択要素ではなく、フォーム自体が である必要があります。

于 2012-09-16T09:53:47.307 に答える