Friend System ayuda error

Iniciado por J0RG325, 10 Agosto 2013, 20:12 PM

0 Miembros y 1 Visitante están viendo este tema.

J0RG325

Hola amigos de elhacker.net en esta ocasión les pido ayuda con un sistema de usuarios que tiene un sistema de amigos la verdad muy básico pero muy bueno, el sistema funciona bien si lo haces manualmente osea del phpmyadmin ya que normal el modulo no funciona

DB

CREATE TABLE IF NOT EXISTS `users` (
 `id` int(11) NOT NULL AUTO_INCREMENT,
 `username` varchar(255) CHARACTER SET latin1 NOT NULL,
 `password` varchar(255) CHARACTER SET latin1 NOT NULL,
 PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=5 ;

CREATE TABLE IF NOT EXISTS `frnd_req` (
 `id` int(11) NOT NULL AUTO_INCREMENT,
 `from` int(11) NOT NULL,
 `to` int(11) NOT NULL,
 PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=3 ;

CREATE TABLE IF NOT EXISTS `frnds` (
 `id` int(11) NOT NULL AUTO_INCREMENT,
 `user_one` int(11) NOT NULL,
 `user_two` int(11) NOT NULL,
 PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=5 ;  


perfil.php

<html>
<head>
<title>Profile - Friend System</title>
<link rel='stylesheet' href='style.css' />
</head>
<body>
<? include 'connect.php'; ?>

<? include 'functions.php'; ?>

<? include 'header.php'; ?>

<div class='container'>
<?php 
if(isset($_GET['user']) && !empty($_GET['user'])){ 
    
$user $_GET['user']; 
} else { 
    
$user $_SESSION['user_id']; 

    
$my_id $_SESSION['user_id']; 
    
$username getuser($user'username'); 
    
?>

<h3><?php echo $username?></h3>
<?php 
if($user != $my_id){ 
    
$check_frnd_query mysql_query("SELECT id FROM frnds WHERE (user_one='$my_id' AND user_two='$user') OR (user_one='$user' AND user_two='$my_id')"); 
    if(
mysql_num_rows($check_frnd_query) == 1){ 
        echo 
"<a href='#' class='box'>Already Frnds</a> | <a href='actions.php?action=unfrnd&user=$user' class='box'>Unfriend $username</a>"
    } else { 
        
$from_query mysql_query("SELECT `id` FROM `frnd_req` WHERE `from`='$user' AND `to`='$my_id'"); 
        
$to_query mysql_query("SELECT `id` FROM `frnd_req` WHERE `from`='$my_id' AND `to`='$user'"); 
        if(
mysql_num_rows($from_query) == 1){ 
            echo 
"<a href='#' class='box'>Ignore</a> | <a href='actions.php?action=accept&user=$user' class='box'>Accept</a>"
        } else if (
mysql_num_rows($to_query) == 1){ 
            echo 
"<a href='actions.php?action=cancel&user=$user' class='box'>Cancel Request</a>"
        } else { 
            echo 
"<a href='actions.php?action=send&user=$user' class='box'>Send Friend Request</a>"
        } 
    } 

?>

</div>

</body>
</html>


si aprietas el boton que dice "Send Friend Request" debería mandar la solicitud recargar la pagina solo y cambiar el boton por "Cancel Request" pero no lo hace siempre se queda igual sin embargo si entras al phpmyadmin y miras la consulta notaras que si la hace pero la hace mal. En "id" va el "id" de la solicitud ahí todo bien, y en "from" siempre queda en 0 pero ahí esta mal ya que debería ser el "id" de quien manda la solicitud y en "to" si lo hace bien y pone el "id" de a quien se manda la solicitud.
Cuando te llega la solicitud tampoco puedes aceptarla por que se queda igual
También si tu mandas una solicitud y quieres cancelarlo tampoco lo hace.


-Este es el archivo actions.php que hace las consultas
actions.php

<?

include 'connect.php';

include 'functions.php';

$action = $_GET['action'];

$user = $_GET['user'];

$my_id = $_SESSION['usuer_id'];

if($action == 'send'){
   
   mysql_query("INSERT INTO frnd_req VALUES('', '$my_id', '$user')");
   
}

if($action == 'cancel'){
   
   mysql_query("DELETE FROM `frnd_req` WHERE `from`='$my_id' AND `to`='$user'");
   
}

if($action == 'accept'){
   
   mysql_query("DELETE FROM frnd_req WHERE from='$user' AND to='$my_id'");
   
   mysql_query("INSERT INTO frnds VALUES('', '$user', '$my_id')");

}

if($action == 'unfrnd'){
   
   mysql_query("DELETE FROM frnds WHERE (user_one='$my_id' AND user_two='$user') OR (user_one='$user' AND user_two='$my_id')");
   
}

header('location: profile.php?user='.$user);

?>


-El archivo functions.php que sirve para el login
functions.php

<?php 

session_start
(); 

function 
loggedin(){ 
    if(isset(
$_SESSION['user_id']) && !empty($_SESSION['user_id'])){ 
        return 
true
    } else { 
        return 
false
    } 


function 
getuser($id$field){ 
    
$query mysql_query("SELECT $field FROM users WHERE id='$id'"); 
    
$run mysql_fetch_array($query); 
    return 
$run[$field]; 


?>



y por ultimo esta el archivo req.php que es donde te deben aparecer las solicitudes de amistad pero nunca aparecen, no se cual sea el problema...

<html>
<head>
<title>Requests - Friend System</title>
<link rel='stylesheet' href='style.css' />
</head>
<body>
<? include 'connect.php'; ?>

<? include 'functions.php'; ?>

<? include 'header.php'; ?>

<div class='container'>
   <hr>Requests : </h3>
   <?php 
        $my_id 
$_SESSION['user_id']; 
        
$req_query mysql_query("SELECT `from` FROM `frnd_req` WHERE `to`='my_id'"); 
        while(
$run_req mysql_fetch_array($req_query)){ 
            
$from $run_req['from']; 
            
$from_username getuser($from'username'); 
            echo 
"<a href='profile.php?user=$from' class='box' style='display:block'>$from_username</a>"
        } 
    
?>

</div>

</body>
</html>


por favor ayúdenme a arreglarlo ya que me gustaría usar este sistema, también si quieres les comparto todo el sistema completo para el que lo quiera usar :D