Hola nuevamente gente de foro elhacker, he estado trabajando en el Script de me gusta de Marcofbb: http://www.marcofbb.com.ar/script-me-gusta-hecho-e... pero el lo tiene para un sistema de noticias donde esta es su DB
CREATE TABLE `post` (
`id` int(11) NOT NULL auto_increment,
`nombre` varchar(255) collate utf8_unicode_ci NOT NULL,
`megusta` int(11) default '0',
`ips` text collate utf8_unicode_ci NOT NULL,
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=4 ;
agregue la fila de "megusta" y la de "ips" a mi DB quedando de la siguiente forma
CREATE TABLE `usuarios` (
`usuario_id` int(4) NOT NULL AUTO_INCREMENT,
`usuario_matricula` varchar(5) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
`usuario_clave` varchar(32) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
`usuario_nombre` varchar(60) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
`usuario_email` varchar(50) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
`sexo` tinyint(6) NOT NULL DEFAULT '0',
`usuario_avatar` varchar(250) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
`EstadoKEY` varchar(40) COLLATE utf8_unicode_ci NOT NULL,
`CodigoKEY` varchar(40) COLLATE utf8_unicode_ci NOT NULL,
`megusta` int(11) NOT NULL DEFAULT '0',
`ips` text COLLATE utf8_unicode_ci NOT NULL,
`usuario_freg` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
PRIMARY
KEY (`usuario_id`
)) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=13 ;
ahora les dejo los archivos php que he modificado para que funcionen con mi db
voto.php
<?php
$dbhost = "127.0.0.1"; // Servidor
$dbuser = "root"; // Nombre de usuario
$dbpass = "123456"; // Contraseña
$dbname = "usuariosdb"; // Nombre de la base de datos
# Creamos conexion a la base de datos
# Imprimimos una prueba para dar como ejemplo
$sql = "SELECT * FROM usuarios ORDER BY megusta DESC";
?>
<table width="800" border="0" align="center">
<tr>
<td width="5%" align="center">ID</td>
<td width="63%" align="center">USUARIO</td>
<td width="32%" align="center">ME GUSTA</td>
</tr>
<?php
{?>
<tr>
<td width="5%" align="center"><?=$row['usuario_id']?></td>
<td width="63%" align="center"><?=$row['usuario_matricula']?></td>
<td width="32%" align="center">[<a href="index.php?page_id=megusta&voto=positivo&id=<?=$row['usuario_id']?>">Me gusta</a>] <?=$row['megusta']?> [<a href="index.php?page_id=megusta&voto=negativo&id=<?=$row['usuario_id']?>">No me gusta</a>]</td>
</tr>
<?php
}
?>
</table>
y aca el script que hace todo
megusta.php
<?php
$dbhost = "127.0.0.1"; // Servidor
$dbuser = "root"; // Nombre de usuario
$dbpass = "123456"; // Contraseña
$dbname = "usuariosdb"; // Nombre de la base de datos
# Creamos conexion a la base de datos
# Saber si el voto es negativo o positivo
# Tomamos el id de nuestro post y vemos todas las ip que pusieron megusta
$usuario_id = (int) $_GET['usuario_id'];
$query = mysql_query("SELECT usuario_id,ips FROM usuarios WHERE usuario_id='".$usuario_id."'",$link); $ip = $row['ips'];
# Obtenemos la ip de nuestro visitante
if ($HTTP_X_FORWARDED_FOR == "") {
}
else {
$ipp = getenv(HTTP_X_FORWARDED_FOR
); }
# Me gusta o No me gusta
switch($voto)
{
case "positivo";
if($query)
{
if(!$arr)
{
mysql_query("UPDATE usuarios SET megusta=megusta+1, ips=CONCAT(usuarios.ips,'".$ipp.",') WHERE usuario_id='".$usuario_id."'",$link); }
}
break;
case "negativo";
if($query)
{
if(!$arr)
{
mysql_query("UPDATE usuarios SET megusta=megusta-1, ips=CONCAT(usuarios.ips,'".$ipp.",') WHERE usuario_id='".$usuario_id."'",$link); }
}
break;
}
header('location:index.php?page_id=voto'); ?>
el archivo voto.php muestra un ranking donde muestra a todos los usuarios registrados y a un costado te aparecen 2 links para darle megusta o no me gusta y enmedio de esos 2 sale la cantidad de votos que ha recibido pero al precionar sobre alguno de esos 2 links no da ni quita nada y siempre queda en 0 la unica forma de darle votos es manualmente mediante el phpmyadmin y el ranking voto.php si los muestra
no estoy seguro si tenga algo mal mi DB o mi modulo de registro que tenga que ver con la IP o el link que me genera el voto.php no funcione ese es mi unico problema que al precionar no da los votos y ya no se que más hacer ya he movido casi todo y nada espero me puedan ayudar con este problema que tengo
por las dudas aca les dejo el sistema modular que tengo en el index.php
<?php
if(empty($_GET['page_id'])) { include("modulos/news.php");
} else {
switch ($_GET['dir']) {
default:
$dir = "modulos/".$_GET['page_id'].".php";
$file = "modulos/".basename($_GET['page_id']).".php"; break;
}
include($file);
} else {
echo '<table border=0 cellpadding=0 cellspacing=0>
<tr>
<td width=85%>'.text_site_module.'</td>
</tr>
</table>';
}
}
?>