2014-01-18 83 views
1

我很努力地使這個工作,我不知道我做錯了什麼。我有一個註冊頁面,我想將數據插入到表單中,並使用jQuery和AJAX將其插入到數據庫中。我對AJAX和jQuery不是很有經驗,所以要溫柔! :PI會告訴你我有的文件...這是一個msg.php頁面,當我提交數據時有時後提交數據庫中` 大多不是所以我想知道爲什麼它發生我在這個領域是新的如何在數據庫中使用php,jquery和ajax插入值

<? 
    php $id=$_GET['id']; 
    $id1=$_SESSION['id']; 
?> 
<form method="post" class="msgfrm" id="msgfrm"> 
<input type="hidden" value="<?php echo $_GET['id']; ?>" name="rcvrid" id="rcvrid"> 
<input type="hidden" name="senderid" id="senderid" value="<?php echo $id1;?>" > 
<div class="msgdiv" id="chatbox"></div> 
<div class="textdiv"> 
    <input type="text" name="msg" id="msg" class="textmsg"> 
    <input type="submit" value="Send" onClick="sendChat()"> 
</div> 
</form> 


function sendChat() 
{  
    $.ajax({ 
      type: "POST", 
      url: "msg_save.php", 
      data: { 
        senderid:$('#senderid').val(), 
       rcvrid:$('#rcvrid').val(), 
       msg: $('#msg').val(), 
      }, 
      dataType: "json", 
      success: function(data){ 
      }, 
     }); 
} 

msg_save.php文件

<?php 
    require_once('include/util.php'); 
    $rcvrid=$_POST['rcvrid']; 
    $senderid=$_POST['senderid']; 
    $msg=$_POST['msg']; 
    $sql="insert into message(rcvrid,senderid,msg) values($rcvrid,$senderid,'$msg')"; 
    mysql_query($sql); 
?> 
+0

$ id = $ _ GET ['id']; $ id1 = $ _ SESSION ['id']; 爲什麼這兩行註冊頁面上。它有register.php?id = 1 –

+0

有很多地方這可能會出錯。我們需要更多關於您嘗試提交時發生的情況的詳細信息。 – akronymn

+1

在php代碼結束時嘗試'die(mysql_error())',並告訴我們它在控制檯中的迴應是什麼。 –

回答

1

,如果你想聊天應用程序檢查這一點,它是舊的,但只是想法:

http://www.codeproject.com/Articles/649771/Chat-Application-in-PHP

使用mysqli_query代替的mysql_query推薦

<?php 
$id=$_GET['id']; 
//$id1=$_SESSION['id']; COMMENTED THIS AS I AM NOT IN SESSION. HARDCODED IT IN THE FORM AS VALUE 5 
?> 
<html> 
    <head> 
     <script src="//code.jquery.com/jquery-1.10.2.min.js"></script> 
    </head> 
    <body> 
     <form method="post" class="msgfrm" id="msgfrm"> 
      <input type="hidden" value="<?php echo $_GET['id']; ?>" name="rcvrid" id="rcvrid"> 
      <input type="hidden" name="senderid" id="senderid" value="5" > 
      <div class="msgdiv" id="chatbox"></div> 
      <div class="textdiv"> 
       <input type="text" name="msg" id="msg" class="textmsg"> 
       <input type="submit" value="Send" > 
      </div> 
     </form> 
     <script> 
      $("#msgfrm").on("submit", function(event) { 
       event.preventDefault(); 
       $.ajax({ 
        type: "POST", 
        url: "msg_save.php", 
        data: $(this).serialize(), 
        success: function(data) { 
         $("#chatbox").append(data+"<br/>");//instead this line here you can call some function to read database values and display 
        }, 
       }); 
      }); 
     </script> 
    </body> 
</html> 

msg_save。 php

<?php 

//require_once('include/util.php'); 
$rcvrid = $_POST['rcvrid']; 
$senderid = $_POST['senderid']; 
$msg = $_POST['msg']; 
echo $rcvrid.$senderid.$msg; 
$con = mysqli_connect("localhost", "root", "", "dummy"); 
// Check connection 
if (mysqli_connect_errno()) { 
    echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
} 

$sql = "insert into message(rcvrid,senderid,msg) values($rcvrid,$senderid,'$msg')"; 
mysqli_query($con,$sql); 
mysqli_close($con); 
echo "successful" 
?> 
2
 $.ajax({ 
     type: "POST", 
     url: "msg_save.php", 
     data: " senderid="+$('#senderid').val()+"rcvrid="+$('#rcvrid').val()+"msg="+$('#msg').val(), 
     dataType: "json", 
     success: function(data){ 
     }, 
    }); 

請試試這個代碼和發送數據,並在PHP中獲取數據後期使用方法,將工作

+0

感謝frend現在它的工作正常 – mishraoft

+0

@AlirezaFallah,編輯我的答案,請檢查 –

+0

$(this).serialize();應該沒事 –

0

,查看是否喲你有沒有插入jquery文件。

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> 

然後包括你的function sendChat()裏面<script>標籤。

相關問題