2016-06-01 58 views
0

我正在一個模塊上「在社交網站項目中查看你的個人資料」。當登錄用戶點擊用戶的超級鏈接時,他必須被定向到一個名爲view的虛擬頁面。已經點擊其他用戶的鏈接的用戶的用戶名和鏈接被點擊的用戶的用戶名被存儲在數據庫表中,視圖。我嘗試通過調用超鏈接的單擊函數updatetable來實現這一點,並使用此函數,我想將變量viewerName和viewname發送到view.php,它將一條記錄插入到views表中。如何在點擊超鏈接時運行php代碼

while($row=mysqli_fetch_array($res)) 
 
    { 
 
?> 
 
    <a href="http://localhost/profileviews/view.php" onclick="updatetable('<?php echo $row['username']; ?>','<?php echo $username; ?>')"><?php echo $row['username']; ?></a> 
 
<?php 
 
\t }

上面的代碼顯示所有用戶的鏈接,如果點擊一個鏈接,view.php頁面打開其中一些PHP代碼必須運行。 我updatetable功能如下:

<script type="text/javascript"> 
 
var viewedname,viewername; 
 
function updatetable(viewedname,viewername) 
 
{ 
 
$.post('view.php' { viewer_name:viewername, viewed_name:viewedname }); 
 
alert(viewedname); 
 
} 
 
</script>
view.php代碼:我現在面臨

if ($_POST && isset($_POST['viewer_name']) && isset($_POST['viewed_name'])) { 
 
\t $viewer_name = ($_POST['viewer_name']); 
 
    $viewed_name = mysql_real_escape_string($_POST['viewed_name']); 
 
\t $con=new mysqli('localhost','root','','test'); 
 
if($con->connect_error) echo $con->connect_error; 
 
$r=mysqli_query($con,"insert into views(viewer,viewed) values('$viewer_name','$viewed_name')"); 
 
}

問題:之所以未 警報和插入沒有發生在view.php代碼之後。 我發送viewer_name和viewing_name變量的方式有錯嗎? 我是新來的PHP。請幫助我!謝謝:)

回答

0

缺少(,)在你的JavaScript後:

替換爲:

$.post('view.php', { viewer_name:viewername, viewed_name:viewedname }); 

PHP:

其更好做這種方式:

if ($_POST){ 
    if(isset($_POST['viewer_name']) && isset($_POST['viewed_name'])) { 
    //Do your stuff 
    } 
}