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 に答える