簡體   English   中英

如何在單擊超鏈接時運行php代碼

[英]how to run a php code on clicking a hyperlink

我正在開發一個社交網站項目中的模塊“誰查看了您的個人資料”。 登錄的用戶單擊用戶的超鏈接時,必須將其定向到一個名為view的虛擬頁面。單擊了其他用戶鏈接的用戶信息和已單擊鏈接的用戶的用戶名存儲在數據庫表中,即views 。 我嘗試通過單擊超鏈接時調用函數updatetable並使用此函數來執行此操作,我想將變量viewername和viewedname發送給view.php,這會將一條記錄插入到views表中。

 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 } 

上面的代碼顯示所有用戶的鏈接,如果單擊鏈接,則會打開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'])) { $viewer_name = ($_POST['viewer_name']); $viewed_name = mysql_real_escape_string($_POST['viewed_name']); $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和viewed_name變量的方式是否有誤? 我是php新手。 請幫幫我! 謝謝 :)

您的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
  }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM