Quantcast
Channel: Tópicos
Viewing all articles
Browse latest Browse all 14700

Sistema de likes

$
0
0
Boas, eu achei um sistema de likes na internet e quero utiliza-lo no meu site, só que tá-me a dar um erro que é mesmo que não tenha nada inserido na base de dados ele diz sempre que o utilizador já votou...alguem me pode ajudar? Obrigado...

ficheiro: config.php

Código (PHP):
<?php
$host = 'localhost';
$user = 'root';
$pass = '';
$banco = 'video_aula';

$conectar = mysql_connect($host, $user, $pass);
if ($conectar){
mysql_select_db($banco);
}
?>

ficheiro : index.php

Código (HTML):
<?php
session_start();
$_SESSION['id_usuario']=4;
include_once "funcoes/conexao.php";
include_once "funcoes/funcoes.php";

?>


<html>
<head>
<title> Sistema de Likes </title>
<link href="style.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/funcoes.js"></script>
</head>

<body>
<?php

$resultados= get_artigos();
if (count($resultados) == 0) {
echo 'Desculpe nao existe';
}else{
echo '<ul>';
foreach($resultados as $artigos){
echo '<li><p>'.$artigos['titulo'].'</p>
<p> <a href="#" class="like" onclick="javascript:add_like('.$artigos['id_artigo'].');">Like</a>
<span id="artigo_'.$artigos['id_artigo'].'_like">'.$artigos['likes'].'</span> gostaram disto!</p>
</li>';
}
echo '</ul>';
}
?>
</body>

</html>


ficheiro : funcoes.php

Código (PHP):
<?php
function get_artigos(){
$artigos = array();

$selecionar = mysql_query("Select * from artigos");
while($row = mysql_fetch_object($selecionar)){
$artigos[]= array(
'id_artigo' => $row->artigo_id,
'titulo' => $row->titulo,
'likes' => $row->likes
);
}
return $artigos;
}
function verificar_clicado($id_artigo, $id_usuario){
$id_artigo = (int)$id_artigo;
$id_usuario = (int)$id_usuario;
$verificar = mysql_query("Select like_id from likes where user_id = '$id_usuario' AND artigo_id ='$id_artigo'");
return (mysql_num_rows($verificar)>=1) ? true:false;
}

function adicionar_like($id_artigo, $id_usuario){
$id_artigo = (int)$id_artigo;
$id_usuario = (int)$id_usuario;
$actualizar_likes_post = mysql_query("UPDATE artigos SET likes = likes+1 where artigo_id ='$id_artigo'");
if ($actualizar_likes_post){
$inserir_like = mysql_query("INSERT INTO likes (user_id,artigo_id) VALUES ('$id_usuario','$id_artigo')");
if ($inserir_like){
return true;
}else{
return false;
}
}
}

function retornar_likes($id_artigo){
$id_artigo = (int)$id_artigo;
$selecionar_num_likes = mysql_query ("SELECT likes FROM artigos WHERE artigo_id='$id_artigo'");
$fetch_likes = mysql_fetch_object($selecionar_num_likes);
return $fetch_likes->likes;
}
?>


ficheiro : funcoes.js

Código (Javascript):
function add_like(id_artigo){
$('#artigo_'+id_artigo+'_like').html('<img src="images/loading.gif" />');

$.post('init/add_like.php',{artigo_id:id_artigo}, function(dados){
if(dados == 'sucesso'){
get_like(id_artigo);
}else{
alert ("Já votaste");
location.href="index.php";
}
});
}

function get_like (id_artigo){
$.post('init/get_like.php', {artigo_id:id_artigo}, function (valor){
$('#artigo_'+id_artigo+'_like').text(valor);
});
}


ficheiro : add_like.php

Código (PHP):
<?php
session_start();
sleep(2);
include_once "funcoes/conexao.php";
include_once "funcoes/funcoes.php";
$id_artigo = (int)$_POST['artigo_id'];
$id_usuario= (int)$_SESSION['id_usuario'];

if (!verificar_clicado($id_artigo,$id_usuario)){
if (adicionar_like($id_artigo,$id_usuario)){
echo 'sucesso';
}else{
echo 'erro';
}
}else{
echo 'erro';
}
?>


ficheiro : get_like.php

Código (PHP):
<?php
include_once "funcoes/conexao.php";
include_once "funcoes/funcoes.php";
$id_artigo = (int)$_POST['artigo_id'];
$numero_de_likes = retornar_likes($id_artigo);
echo $numero_de_likes;
?>

Viewing all articles
Browse latest Browse all 14700