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

#comment是一个 div,你必须.val()用数据调用输入/文本区域

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

我看到你在这里url:(window.location)使用了一个非法调用错误window.location.href

window.location是 jQuery 无法序列化的对象,因此您会收到该错误。

于 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 回答