2016-01-11 21 views
-1

所以我想加载数据的帮助下,并显示我这个错误 未捕获TypeError:非法调用 ,我认为主要错误是因为我的PHP文件我didn “T想什么办法让我的数据库值到我的like.php文件jquery给Uncaught TypeError:非法调用

jQuery的

的JavaScript:

<script> 
function validatelike(like) 
{ 
    $.post("like.php",{like: like},function(data) 
      { 
      $("#echoresult").html(data) 
      }) 
} 
$("#newlike'.$mypostid.'").click(function() 
     { 
     validatelike($("#newlike'.$mypostid.'")); 
     }); 
</script> 

like.php

<?php 
ob_start(); 
session_start(); 

if(isset($_SESSION['id']) && !empty($_SESSION['id'])) 
{ 
    $id=$_SESSION['id']; 
    foreach($id as $msg) 

} 

if(isset($_GET['id'])) 
{ 
    $getid=$_GET['id']; 

} 

$seepostquery="select * from posts where addedbyid='$getid' ORDER BY id DESC"; 
$seequeryresult=mysqli_query($connection30,$seepostquery); 

while($seequeryrow=mysqli_fetch_array($seequeryresult)) 
{ 
    $mypostid=$seequeryrow['id']; 
    if(isset($_POST['like'])) { 

     $queryselector=mysqli_query($connection30,"select * from likes where postid='$mypostid'"); 
     $resultselector=mysqli_fetch_array($queryselector); 
     $likes=$resultselector['likes']; 
     $likedby=$resultselector['addedby']; 
     $likedbyexplode=explode(",",$likedby); 
     $dislikes=$resultselector['dislikes']; 

     if($likes=="" && $likedby=="" && $dislikes=="") 
     { 
      $queryinsert=mysqli_query($connection30,"insert into likes values('','$mypostid','1','$dislikes','$msg')"); 
     } 
     if($likes!="" && $likedby!="") 
     { 
      $queryinsert=mysqli_query($connection30,"update likes set addedby=CONCAT(addedby,',$msg'),likes=likes+1 where postid='$mypostid'"); 
     } 
    }; 

    $queryselect=mysqli_query($connection30,"select * from likes where postid='$mypostid'"); 
    while($rowselect=mysqli_fetch_array($queryselect)) 
    { 
     $countlikes=$rowselect['likes']; 
     $countdislikes=$rowselect['dislikes']; 
     $likepercentage=($countlikes/($countlikes+$countdislikes))*100; 
     echo ceil($likepercentage).'% people liked this'; 
    } 
?> 
+2

您的PHP正在创建一个SQL注入漏洞。不要通过字符串连接创建SQL查询,请使用准备好的查询。 –

回答

2

您的php代码在语法方面无效。

例如:

if(isset($_SESSION['id']) && !empty($_SESSION['id'])) 
{ 
    $id=$_SESSION['id']; 
    foreach($id as $msg) 
    //     ^^^^^ loop has no body 

} 

第一while块似乎并没有被太关闭。 请使用IDE或某些基本语法突出显示器来查找此类错误并重新设置代码格式(在PhpStorm中Ctrl + Alt + L/Cmd + Alt + L)。

相关问题