我正在制作一个模块,"谁查看了您的个人资料"在社交网站项目中。当登录用户点击用户的超链接时,必须将他定向到一个名为view的虚拟页面。已点击其他用户链接的用户和已点击其链接的用户的用户信息存储在数据库表中,视图。我尝试通过单击超链接调用函数updatetable并使用此函数来执行此操作,我想将变量viewername和viewingname发送到view.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
}
&#13;
上面的代码显示了所有用户的链接,如果点击了链接,则会打开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>
&#13;
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')");
}
&#13;
我面临的问题: 在view.php代码之后没有显示警报并且没有发生插入。 我发送viewer_name和Viewed_name变量的方式是否有错误? 我是php的新手。请帮帮我!谢谢:))
答案 0 :(得分: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
}
}