2016-05-15 72 views
-1

我正在嘗試onclick jquery併發布到msg.php。我的代碼有什麼問題嗎?請讓我知道問題可能是什麼。謝謝。jquery post和onclick

HTML

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.2/jquery.min.js"></script> 
<script> 
function markAsRead(msgID) { 
    var url = "msg.php"; 
    var ownerid = "7"; 
    var messageid = "msgID"; 
    $.post(url,{messageid: messageid, ownerid: ownerid }); 
} 
</script> 
<a onclick="markAsRead(<?php echo $row['id'];?>)">how are you?</a> 

`

msg.php

if (isset($_POST['messageid'])) { 
    $messageid = preg_replace('#[^0-9]#i', '', $_POST['messageid']); 
    $ownerid = preg_replace('#[^0-9]#i', '', $_POST['ownerid']); 
    mysqli_query("UPDATE private_messages SET opened='1' WHERE id='$messageid' 
LIMIT 1"); 
} 
} 
else 
    echo "There is no post value"; 
+0

@Rasclatt感謝您的編輯。 –

回答

1

您應該$row['id']

<?php 
    $row['id'] = 1; // the id is 1 for example 
?> 

<a onclick="markAsRead(<?php echo $row['id'] ?>)">how are you?</a> 

<script> 
    function markAsRead(msgID) { 
     var url = "msg.php"; 
     var ownerid = 7; // this should be unquoted 
     var messageid = msgID; // this should be unquoted 
     $.post(url, { 
      messageid: messageid, 
      ownerid: ownerid 
     }, function() { 
      alert('Marked!'); // added this as a callback 
     }).error(function(){ 
      alert('Failed to mark.'); // as an error callback 
     }); 
    } 
</script> 
設置的值

PHP代碼

<?php 
    if (isset($_POST['messageid'])) 
    { 
     $messageid = intval($_POST['messageid']); // seems your replacing numbers 
     $ownerid = intval($_POST['ownerid']); // seems your replacing numbers 

     mysqli_query("UPDATE private_messages SET opened = 1 WHERE id = $messageid LIMIT 1"); 
    } 
    else 
    { 
     echo "There is no post value"; 
    } 
?> 
+0

它在HTML中運行良好,但不在PHP中。 –

+0

是您的** messageid **或** ownerid **一個字符串嗎? – keziah

+0

該查詢沒有工作,所以我把連接查詢...但仍然沒有工作。 –