0

我的脚本似乎不起作用。每次我尝试使用表单时,我都会收到 readystate=0 和 status=0 的错误。任何帮助将不胜感激。我有以下表格:

<form action="" method="post" >

    <input type="text" name="name" id="tekst"/><br/>
    <input type="text" name="name" id="autor"/><br/>
    <input type="submit" name="<?php echo $id; ?>" value="Send" id="submit"/>

</form>
<div class="response"></div>

然后输入字段中的值由以下代码处理:

$("input#submit").click(function(){  
var id = $("input#submit").attr("name");
var autor =  $('input#autor').val();
var tresc = $('input#tekst').val();


$.ajax({
    type: "POST",
    url: "add_comment.php",
    data: 
    {id: id, 
    autor: autor, 
    tresc: tresc}, 
    success: function(data){
        $(".response").text(data);  
    },
   error:function(xhr,err){
    alert("readyState: "+xhr.readyState+"\nstatus: "+xhr.status);
    alert("responseText: "+xhr.responseText);

    }



});
});

这是我的 add_comment.php:

<?php
$id = $_POST['id'];
$autor= $_POST['autor'];
$tresc = $_POST['tresc'];

if(isset($id) && isset($autor) && isset($tresc)){
include("db/connection.php");

$zapytanie= "INSERT INTO komentarze(id_ref, autor, tresc) values ('$id', '$autor', '$tresc')";
$wynik = $db->query($zapytanie);
echo "Added";
}else{
    echo "Problem";
}


?>

编辑: id_ref 不是 auto_increment 字段。该脚本在本地主机上运行

4

2 回答 2

1

首先,您的表格不正确... name="name", class=".response" ??

<form action="" method="post" >
    <input type="text" name="tekst" id="tekst"/><br/>
    <input type="text" name="autor" id="autor"/><br/>
    <input type="submit" name="id" value="Send" id="submit"/>
</form>
<div class="response"></div>

你的 PHP 文件应该是"

<?php
$id = $_POST['id'];
$autor= $_POST['autor'];
$tresc = $_POST['tekst'];

if(isset($id) && isset($autor) && isset($tresc)){
include("db/connection.php");

$zapytanie= "INSERT INTO komentarze(id_ref, autor, tresc) values ('$id', '$autor', '$tresc')";
$wynik = $db->query($zapytanie);
echo "Added";
}else{
    echo "Problem";
}
?>
于 2012-04-05T11:40:39.400 回答
0
<form action="add_comment.php" method="post" >

<input type="text" name="tekst" id="tekst"/><br/>
<input type="text" name="autor" id="autor"/><br/>
<input type="submit" name="button" value="Send" id="submit"/>

</form>

在php中应该是这样的

$id = $_POST['button'];
$autor= $_POST['autor'];
$tresc = $_POST['tekst'];

它现在应该可以正常工作了。以前您犯了一个错误,即在提交按钮字段中您传递了一个可以包含任何内容的 php 变量,而您不知道它是否是动态的。所以你不能通过使用 $_REQUEST['id'] 得到它,因为它可能是这样的

$id = 1; or $id = 'dynamic string' ;
于 2012-04-05T13:15:46.353 回答