php
1if(isset($_SERVER['HTTP_X_REQUESTED_WITH']) 2 && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') 3{ 4 if ($_POST['name']){ 5 $user->post(); 6 } 7};
javascript
1 $(document).ready(function() { 2 $('#comment_form').submit(function(e) { 3 e.preventDefault(); 4 var data = {id:$('#comment_thread_id').val() ,name:$('#comment_user_name').val() , text:$('#comment_text').val()}; 5 $.ajax({ 6 type: "POST", 7 url: "talk.php", 8 data: data, 9 }).done(function(data){ 10 console.log("ajax通信に成功しました"); 11 12 }).fail(function(XMLHttpRequest, textStatus, errorThrown){ 13 console.log("ajax通信に失敗しました"); 14 }) 15 return false; 16 }); 17 });
HTML
1<form id ="comment_form" action="talk.php" method="post"> 2 <input id="comment_thread_id" type="hidden" name="id" value="<?= $sledid;?>"> 3 <p>名前<input id="comment_user_name" type="text" name="username" value=""></p> 4 <p>本文<input id="comment_text" type="text" name="body" value=""></p> 5 <input type="submit" name="" value="挿入">
PHP
1public function post(){ 2 $sql = "insert into posts (post_id,name,body) values (:post_id,:name,:body)"; 3 $stmt = $this->_db->prepare($sql); 4 $stmt->bindParam(':post_id',$_POST['id']); 5 $stmt->bindParam(':name',$_POST['name']); 6 $stmt->bindParam(':body',$_POST['text']); 7 $stmt->execute(); 8}
ご覧いただきありがとうございます。
Ajaxに挑戦しているのですが、postされたデータが$_POST['id']しかpost()に反映されません。
御指摘ありましたら是非いただきたいです。






