3
php
<?php

include 'connection.php';
echo "reached page";
$stmt = $conn->prepare("INSERT INTO flagged ( ID,URL,COUNT,comment)VALUES ( :id,    :url, :count,:COMMENT )"); 
$stmt->bindParam(':id', $id);
$stmt->bindParam(':url', $url);
$stmt->bindParam(':count', $count);
$stmt->bindParam(':COMMENT', $comment);

$id = NULL;
$url = $_POST['url']);
$count = 1;
$comment = $_POST['data']);
$stmt->execute();

?>

jquery

$(document).ready(function() {
$('#flagForm').submit(function(){
return false;
});
$('#flag').click(function(){
    $('#comment').show();
});
$('body').on('click', '#commentSubmit', function(e) {
    $.post('flag.php',
    {
        data:$('#comment').val(),
        url:(window.location)
    },
    function(response){
        alert(response);
    });
});
});

html

<div id='comment'><h1 ></h1>
    <form id="flagForm" action="flag.php" method="post">
    <textarea id='commentData' placeholder='whats the problem' ></textarea>
    <input type="submit" id='commentSubmit' />
</form>
</div>

投稿をphpページに到達させることができないようです。私はこれまでこの問題を抱えたことはありません。目的は、ユーザーがページにフラグを立てることです。同じ接続を使用する別のポストメソッドとphpページがあるため、それはできません。どんな助けでも大歓迎です。jquery と html には他にもありますが、問題に関連するのはこれだけです。

4

2 に答える 2

2

#commentdivである場合.val()、データを使用してinput/textareaを呼び出す必要があります

data:$('#commentData').val(),

代わりに、ここで不正な呼び出しエラーが発生url:(window.location)するようです。window.location.href

window.locationjQueryがシリアル化できないオブジェクトであるため、そのエラーが発生します。

于 2012-12-23T00:10:47.077 に答える
1

PHPコードは少し故障しています。これの代わりに:

include 'connection.php';
echo "reached page";
$stmt = $conn->prepare("INSERT INTO flagged ( ID,URL,COUNT,comment)VALUES ( :id,    :url, :count,:COMMENT )"); 
$stmt->bindParam(':id', $id);
$stmt->bindParam(':url', $url);
$stmt->bindParam(':count', $count);
$stmt->bindParam(':COMMENT', $comment);

$id = NULL;
$url = $_POST['url']);
$count = 1;
$comment = $_POST['data']);
$stmt->execute();

あなたはこれをするべきです:

include 'connection.php';

echo "reached page";

$id = NULL;
$url = $_POST['url']);
$count = 1;
$comment = $_POST['data']);

$stmt = $conn->prepare("INSERT INTO flagged ( ID,URL,COUNT,comment)VALUES ( :id,    :url, :count,:COMMENT )"); 
$stmt->bindParam(':id', $id);
$stmt->bindParam(':url', $url);
$stmt->bindParam(':count', $count);
$stmt->bindParam(':COMMENT', $comment);

$stmt->execute();

もちろん、ユーザー入力をデータベースに直接挿入することもすべきではありませんが、現時点ではこれは実際のアプリケーションではないと思います...

于 2012-12-23T00:14:46.427 に答える