//フロントエンド ajax がデータを送信します
<input type="button" onClick="change_love({$article.article_id})" value="赞一下"/></a> <!--<input type="button" value="点赞" onClick="zan()"/>--> {$article.love}</p> </div> </div></section><script>function change_love(article_id){ //var Lastsend = document.getCookie('ECS_auction_Lastsend_'+article_id); //alert('点赞成功'); $.ajax({ url:'article.php',//后台处理路径 type:'post',//post提交方式 data:{id:article_id},//点赞的文章id success:function(data){//数据返回成功 if(data==1){//成功 } }});}</script>
$realip=getip();//echo $realip;modifyipcount($realip);@$love=$_POST['id'];if(isset($love)){ $query="SELECT * FROM ecs_article_love where article_id='".$article_id."'"; $result=mysql_query($query); $row=mysql_fetch_row($result); //dump($row); $ip1=$row[2]; $ip2=$realip; //echo $ip; if(!empty($row) && strcmp($ip1,$ip2)==0){ echo "<script>alert('ip已存在')</script>"; }else{ //$iptime=time(); //$day=date('Y-m-d'); //if($row[article_id]!=$article_id || $row[ip]!='') $query="INSERT INTO ecs_article_love (ip,article_id) VALUES ('".$ip2."','".$article_id."')"; mysql_query($query); echo "<script>alert('点赞成功')</script>"; }}
ユーザーがアクセスしたり、クエリを実行したり、見つけたりするたびに、ユーザーはそれを気に入ります。見つからない場合は、「いいね」を押してください。結合主キーであるため、挿入できる項目は 1 つだけです。そのため、データベースは一度に制限するのに役立ちます。記事の「いいね!」の数を確認するには、カウントする記事 ID をクリックするだけです。
したがって、結合主キーの順序は、記事 ID、ユーザー IP
2 つのフィールドのみを持つテーブルを設計すると思います。1 つは記事 ID、もう 1 つはフィールドです。もう 1 つはユーザーの IP であり、2 つのフィールドは共同主キーとして機能します。
ユーザーがアクセスしたり、クエリを実行したり、見つけたりするたびに、ユーザーはそれを気に入ります。見つからない場合は、「いいね」を押してください。結合主キーであるため、挿入できる項目は 1 つだけです。そのため、データベースは一度に制限するのに役立ちます。記事の「いいね!」の数を確認するには、カウントする記事 ID をクリックするだけです。
したがって、結合主キーの順序は次のとおりです: 記事 ID、ユーザー IP
送信が成功した後、ajxa はどのようにしてポップアップ情報を返すことができますか? 1 を直接出力できますか?
$query="SELECT * FROM ecs_article_love where Article_id= '$article_id' and ip='$realip'";
Ajax 送信が成功した後に成功のいいねメッセージをポップアップ表示する方法を教えてください。 echo 1を直接出力しますか?
はい!エコー 1;
はい! echo 1;
うまくいかないようです
「うまくいかないようです」とはどういう意味ですか? ? ?
うまくいかないとはどういう意味ですか? ? ?
$ip1=$row[2]; $ip2=$realip; //echo $ip; if(!empty($row) && strcmp($ip1,$ip2)==0){ //echo "<script>alert('ip已存在')</script>"; echo 1; }else{ //$iptime=time(); //$day=date(
url:'article.php',//后台处理路径 type:'post',//post提交方式 data:{id:article_id},//点赞的文章id success:function(data){//数据返回成功 if(data==1){//成功 alert('点赞成功!'); } }});
success:function( data){// データは正常に返されました'); echo 1;
}else{
0;
}
各ブランチ何かを出力するため、プロセスに問題があるかどうかを簡単に見つけることができます
Ajax プログラムのデバッグは、ツールの助けがなければ一般的に困難であり、データをチェックするためのコードを追加する必要があります
success:function(data){// データは正常に返されます。
alter(data); // ajax がエラーを起こさない限り、ここには常にポップアップ ウィンドウが表示されます
if( data==1){//Success
alert('いいね!');
}
}
if(!empty($row) && strcmp ($ip1,$ip2)==0){
echo 1;
}else{
echo 0;
}
各ブランチは何かを出力するので、プロセスに問題があります
ポップアップウィンドウが表示されますが、成功したいいねのメッセージが出力されないのはなぜですか?
投稿データと取得データを確認してください。
問題がなければ、返送されたデータを再度確認してください。
確認しやすいように、受け取ったデータをphpにログインするように書くのがベストです。
次に、返されたデータを js で表示します。
入稿データと取得データを確認します。
確認しやすいように、受け取ったデータをphpにログインするように書くのがベストです。
次に、返されたデータを js で表示します。
本当に問題が見つかりません。alert(data) にデータがあります
上に表示される html および js コードは、データを ajax に返すために使用するコードに問題があることを示しています (エントリ ポイントが間違っています)
以下に表示される php エラー メッセージは、プログラムが正しくないことを示していますフォールトトレラント
まずこれらを解決してから話し合ってください
上記の html コードと js コードは、ajax にデータを返すために使用するコードに問題があることを示しています (エントリ ポイントが間違っています)
以下に表示される php エラー メッセージは、プログラムがフォールト トレラントではないことを示しています
まずこれらを解決してから話してください