Foros del Web » Programando para Internet » PHP »

Perfil visible si eres amigo o no

Estas en el tema de Perfil visible si eres amigo o no en el foro de PHP en Foros del Web. añade registros de prueba en users y friends para ver el funcionamiento y posibles fallos...

  #31 (permalink)  
Antiguo 26/01/2012, 15:40
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Perfil visible si eres amigo o no

añade registros de prueba en users y friends para ver el funcionamiento y posibles fallos
  #32 (permalink)  
Antiguo 26/01/2012, 15:48
 
Fecha de Ingreso: diciembre-2011
Mensajes: 414
Antigüedad: 12 años, 4 meses
Puntos: 1
Respuesta: Perfil visible si eres amigo o no

Ok,podris darme un pequeño ejemplo de como insertar al usuario en la tabla friend...es que no me sale :(
  #33 (permalink)  
Antiguo 26/01/2012, 15:51
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Perfil visible si eres amigo o no

entra en phpmyadmin y añade los registros , no te digo desde la web si no desde la bd directamente o es que no puedes acceder y crearlos???
  #34 (permalink)  
Antiguo 26/01/2012, 15:57
 
Fecha de Ingreso: diciembre-2011
Mensajes: 414
Antigüedad: 12 años, 4 meses
Puntos: 1
Respuesta: Perfil visible si eres amigo o no

si puedo acceder y crearlos pero los agrego asi

http://img66.xooimage.com/files/5/0/...ds-30f734a.jpg
  #35 (permalink)  
Antiguo 26/01/2012, 15:57
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Perfil visible si eres amigo o no

asi esta bien crea unos cuantos
  #36 (permalink)  
Antiguo 26/01/2012, 16:02
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Perfil visible si eres amigo o no

haber te doy elos codigos ya modificados para que apunten hacia profile.php y ademas e corregido unas cosillas en las consultas que estaban mal

1 - codigo del login

Código PHP:
Ver original
  1. <?php
  2.     session_start();
  3.      
  4.     if(isset($_POST['mail']) && isset($_POST['password'])){
  5.        
  6.         $mail = $_POST['mail'];
  7.         $password = $_POST['password'];
  8.        
  9.         include 'config.php' ;
  10.        
  11.         $query = mysql_query("SELECT * FROM users WHERE mail='$mail' and password='$password' ") or die (mysql_error());
  12.         $numrows = mysql_num_rows($query);
  13.        
  14.         if($numrows == 0){
  15.            
  16.             echo 'el email o la contraseña no existen';
  17.            
  18.             }else{
  19.      
  20.         while ($row = mysql_fetch_assoc($query)){
  21.            
  22.             $dbusername = $row['mail'];
  23.             $dbpassword = $row['password'];
  24.             $dbalias = $row['alias'];
  25.             $dbname = $row['name'];
  26.             $dbsurname = $row['surname']; } //fin de while
  27.        
  28.         if($mail == $dbusername){ // comparamos el email
  29.            
  30.             if($password == $dbpassword){ // comparamos la contraseña
  31.                
  32.                 // creamos la session con todos los datos en un array
  33.                
  34.             $_SESSION['user'] = array(
  35.             'username' => $dbusername,
  36.             'password' => $dbpassword,
  37.             'alias' => $dbalias,
  38.             'name' => $dbname,
  39.             'surname' => $dbsurname);
  40.                
  41.                
  42.             echo 'Se ha identificado correctamente<br><br>';  
  43.             echo 'bienvenido: <strong>'.$_SESSION['user']['username'].'</strong><br>';
  44.             echo 'Ver <a href="members/profile.php">mi perfil</a>';
  45.                
  46.                
  47.         }else{
  48.                    
  49.         echo 'El password no coincide';
  50.                    
  51.         }}else{ // fin de validacion de contraseña
  52.            
  53.         echo 'el usuario introducido no es correcto';
  54.            
  55.         }}}else{ // fin de validacion mail
  56.        
  57.         echo 'No ha introducido ningun dato';
  58.        
  59.         } // fin de isset
  60.        
  61.      
  62.     ?>

2 este codigo lo metes en members/profile.php

Código PHP:
Ver original
  1. <?php
  2.      
  3.         include 'config.php' ;
  4.      
  5.         if(isset($_GET['user'])){
  6.            
  7.         if(empty($_GET['action'])){
  8.            
  9.         if(isset($_SESSION['user'])){
  10.            
  11.         echo 'Estas viendo el perfil de '.$_GET['user'];
  12.            
  13.         }else{
  14.                
  15.         echo 'No tienes acceso para ver esta pagina<br><br>';
  16.         echo '<a href="login.php">iniciar sesion</a>';
  17.                
  18.         }}else{
  19.            
  20.         if($_GET['action'] == 'desbloquear'){
  21.            
  22.         if(isset($_SESSION['user'])){
  23.            
  24.         echo '<b>Desbloqueo</b><br>';
  25.        
  26.         $sql = mysql_query(" UPDATE friends set estado='amigo' WHERE alias='$_SESSION[user][alias]' and namefriend='$_GET[user]' or alias='$_GET[user]' and namefriend='$_SESSION[user][alias]'");
  27.      
  28.         echo $_GET['user'].' y tu ya sois amigos';
  29.                
  30.         }else{
  31.                
  32.         echo 'No tienes acceso para ver esta pagina<br><br>';
  33.         echo '<a href="login.php">iniciar sesion</a>';
  34.                
  35.         }}elseif($_GET['action'] == 'peticion'){
  36.            
  37.         if(isset($_SESSION['user'])){
  38.            
  39.         echo '<b>Amistad obtenida</b><br>';
  40.        
  41.         $sql = mysql_query(" UPDATE friends set estado='amigo' WHERE alias='$_GET[user]' and namefriend='$_SESSION[user][alias]'");
  42.      
  43.         echo $_GET['user'].' y tu ya sois amigos';
  44.                
  45.         }else{
  46.                
  47.         echo 'No tienes acceso para ver esta pagina<br><br>';
  48.         echo '<a href="login.php">iniciar sesion</a>';
  49.                
  50.         }}elseif($_GET['action'] == 'add'){
  51.            
  52.         if(isset($_SESSION['user'])){
  53.            
  54.         if($_GET['user'] == '?'){
  55.                
  56.         echo '<b>Añadir amigo</b><br>';
  57.        
  58.         $sql = mysql_query("INSERT INTO friends (alias,namefriend,estado) VALUES ('".$_SESSION['user']['alias']."','".$_POST['friend']."', 'peticion') ");
  59.      
  60.         echo 'Se ha enviado la solicitud a '.$_POST['friend'].'';
  61.                
  62.         }else{
  63.                    
  64.         echo '<b>Añadir amigo</b><br>';
  65.        
  66.         $sql = mysql_query("INSERT INTO friends (alias,namefriend,estado) VALUES ('".$_SESSION['user']['alias']."','".$_GET['user']."', 'peticion') ");
  67.      
  68.         echo 'Se ha enviado la solicitud a '.$_GET['user'].'';
  69.                
  70.         }}else{
  71.                
  72.         echo 'No tienes acceso para ver esta pagina<br><br>';
  73.         echo '<a href="login.php">iniciar sesion</a>';
  74.                
  75.         }}elseif($_GET['action'] == 'list'){
  76.                
  77.         if(isset($_SESSION['user'])){
  78.      
  79.         echo '<b>lista de usuarios</b><br>';
  80.        
  81.         $sql = mysql_query("SELECT * FROM users ");
  82.         $numrows = mysql_num_rows($sql);
  83.        
  84.         if($numrows == 0){
  85.            
  86.         echo 'no hay usuarios';
  87.            
  88.         }else{
  89.        
  90.         while ($result = mysql_fetch_assoc($sql)){
  91.            
  92.         echo $result['alias'].' <a href="members/profile.php?user='.$result['alias'].'">ver el perfil</a>';
  93.         echo '<a href="members/profile.php?user='.$result['alias'].'&action=add">añadir como amigo</a><br>';
  94.            
  95.         }}}else{
  96.                
  97.         echo 'No tienes acceso para ver esta pagina<br><br>';
  98.         echo '<a href="login.php">iniciar sesion</a>';
  99.                
  100.         }}else{
  101.                        
  102.         echo 'se ha producido en un error en el action';
  103.                        
  104.         }}}else{
  105.            
  106.         if(isset($_SESSION['user'])){
  107.      
  108.         echo 'Estas en tu perfil <b>'.$_SESSION['user']['alias'].'</b><br><br>';
  109.         echo '<b>Tu lista de amigos</b><br>';
  110.        
  111.         $sql = mysql_query("SELECT * FROM friends WHERE alias = '$_SESSION[user][alias]' and estado = 'amigo' or namefriend = '$_SESSION[user][alias]' and estado = 'amigo'");
  112.         $numrows = mysql_num_rows($sql);
  113.        
  114.         if($numrows == 0){
  115.            
  116.         echo 'no tienes amigos';
  117.            
  118.         }else{
  119.        
  120.         while ($result = mysql_fetch_assoc($sql)){
  121.            
  122.         echo $result['namefriend'].' <a href="members/profile.php?user='.$result['namefriend'].'">ver el perfil</a><br>';
  123.            
  124.         }}
  125.        
  126.         echo '<br><br><b>Tu lista de amigos bloqueados</b><br>';
  127.        
  128.         $sql = mysql_query("SELECT * FROM friends WHERE alias = '$_SESSION[user][alias]' and estado = 'bloqueado' or namefriend = '$_SESSION[user][alias]' and estado = 'bloqueado'");
  129.         $numrows = mysql_num_rows($sql);
  130.        
  131.         if($numrows == 0){
  132.            
  133.         echo 'no tienes amigos bloqueados';
  134.            
  135.         }else{
  136.        
  137.         while ($result = mysql_fetch_assoc($sql)){
  138.            
  139.         echo $result['namefriend'].' <a href="members/profile.php?user='.$result['namefriend'].'&action=desbloquear">desbloquear</a><br>';
  140.            
  141.         }}
  142.        
  143.         echo '<br><br><b>Peticiones de amistad</b><br>';
  144.        
  145.         $sql = mysql_query("SELECT * FROM friends WHERE namefriend = '$_SESSION[user][alias]' and estado = 'peticion' ");
  146.         $numrows = mysql_num_rows($sql);
  147.        
  148.         if($numrows == 0){
  149.            
  150.         echo 'no tienes peticiones';
  151.            
  152.         }else{
  153.        
  154.         while ($result = mysql_fetch_assoc($sql)){
  155.            
  156.         echo $result['alias'].' <a href="members/profile.php?user='.$result['alias'].'&action=peticion">aceptar como amigo</a><br>';
  157.            
  158.         }}
  159.        
  160.         echo '<br><br><b>Tus peticiones de amistad</b><br>';
  161.        
  162.         $sql = mysql_query("SELECT * FROM friends WHERE alias = '$_SESSION[user][alias]' and estado = 'peticion' ");
  163.         $numrows = mysql_num_rows($sql);
  164.        
  165.         if($numrows == 0){
  166.            
  167.         echo 'no tienes peticiones';
  168.            
  169.         }else{
  170.        
  171.         while ($result = mysql_fetch_assoc($sql)){
  172.            
  173.         echo $result['namefriend'].' . . . esperando confirmacion<br>';
  174.            
  175.         }}
  176.        
  177.         echo '<br><b>Agregar amigo</b><br>';
  178.         echo '<form action="members/profile.php?user=?&action=add" method="post">';
  179.         echo '<input name="friend" type="text">';
  180.         echo '<input name="friend" type="button" /></form>';
  181.         echo '<br><br><a href="members/profile.php?user=?&action=list">ver lista de usuarios</a>';
  182.        
  183.         }else{
  184.        
  185.         echo 'No tienes acceso para ver esta pagina<br><br>';
  186.         echo '<a href="login.php">iniciar sesion</a>';
  187.            
  188.         }}?>

y ya con los registros de prueba que as metido ya me dices que tal , prueba todo y si puedes subes una imagen ya cuando tengas echo y te salgan amigos para ver como quedo y tal
  #37 (permalink)  
Antiguo 26/01/2012, 16:10
 
Fecha de Ingreso: diciembre-2011
Mensajes: 414
Antigüedad: 12 años, 4 meses
Puntos: 1
Respuesta: Perfil visible si eres amigo o no

Te digo que el resultado es el mismo pero ahora te dire como estan clasiicadas la bd

Tabla users

http://img71.xooimage.com/files/0/3/...s1-30f74eb.jpg

Tabla friends

http://img71.xooimage.com/views/b/4/...2-30f7507.jpg/

Inicio sesion con kiferhe...me cago en todo :(
  #38 (permalink)  
Antiguo 26/01/2012, 16:15
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Perfil visible si eres amigo o no

te decia una captura de la web en local ya con todo echo

prueba a agregar amifgos poniendo su nombre o ves a la lista de usuarios y observa todo mira que funcione . . .
  #39 (permalink)  
Antiguo 26/01/2012, 16:19
 
Fecha de Ingreso: diciembre-2011
Mensajes: 414
Antigüedad: 12 años, 4 meses
Puntos: 1
Respuesta: Perfil visible si eres amigo o no

esperate que te intentare subir la web a un servidor para que asi vayamos mas rapidos :)
  #40 (permalink)  
Antiguo 26/01/2012, 16:21
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Perfil visible si eres amigo o no

el codigo de profile con un ultimo cambio por si al introducir un usuario en añadir amigo y no existe en la bd no se guarde y te muestre mensaje de error usuario no existe

profile.php

Código PHP:
Ver original
  1. <?php
  2.      
  3.         include 'config.php' ;
  4.      
  5.         if(isset($_GET['user'])){
  6.            
  7.         if(empty($_GET['action'])){
  8.            
  9.         if(isset($_SESSION['user'])){
  10.            
  11.         echo 'Estas viendo el perfil de '.$_GET['user'];
  12.            
  13.         }else{
  14.                
  15.         echo 'No tienes acceso para ver esta pagina<br><br>';
  16.         echo '<a href="login.php">iniciar sesion</a>';
  17.                
  18.         }}else{
  19.            
  20.         if($_GET['action'] == 'desbloquear'){
  21.            
  22.         if(isset($_SESSION['user'])){
  23.            
  24.         echo '<b>Desbloqueo</b><br>';
  25.        
  26.         $sql = mysql_query(" UPDATE friends set estado='amigo' WHERE alias='$_SESSION[user][alias]' and namefriend='$_GET[user]' or alias='$_GET[user]' and namefriend='$_SESSION[user][alias]'");
  27.      
  28.         echo $_GET['user'].' y tu ya sois amigos';
  29.                
  30.         }else{
  31.                
  32.         echo 'No tienes acceso para ver esta pagina<br><br>';
  33.         echo '<a href="login.php">iniciar sesion</a>';
  34.                
  35.         }}elseif($_GET['action'] == 'peticion'){
  36.            
  37.         if(isset($_SESSION['user'])){
  38.            
  39.         echo '<b>Amistad obtenida</b><br>';
  40.        
  41.         $sql = mysql_query(" UPDATE friends set estado='amigo' WHERE alias='$_GET[user]' and namefriend='$_SESSION[user][alias]'");
  42.      
  43.         echo $_GET['user'].' y tu ya sois amigos';
  44.                
  45.         }else{
  46.                
  47.         echo 'No tienes acceso para ver esta pagina<br><br>';
  48.         echo '<a href="login.php">iniciar sesion</a>';
  49.                
  50.         }}elseif($_GET['action'] == 'add'){
  51.            
  52.         if(isset($_SESSION['user'])){
  53.            
  54.         if($_GET['user'] == '?'){
  55.                
  56.         echo '<b>Añadir amigo</b><br>';
  57.        
  58.         $sql = mysql_query("SELECT * FROM users WHERE alias = '$_POST[friend]'");
  59.         $numrows = mysql_num_rows($sql);
  60.        
  61.         if($numrows == 0){
  62.            
  63.         echo 'no existe el usuario';
  64.            
  65.         }else{
  66.        
  67.         $sql = mysql_query("INSERT INTO friends (alias,namefriend,estado) VALUES ('".$_SESSION['user']['alias']."','".$_POST['friend']."', 'peticion') ");
  68.      
  69.         echo 'Se ha enviado la solicitud a '.$_POST['friend'].'';
  70.                
  71.         }}else{
  72.                    
  73.         echo '<b>Añadir amigo</b><br>';
  74.        
  75.         $sql = mysql_query("SELECT * FROM users WHERE alias = '$_POST[friend]'");
  76.         $numrows = mysql_num_rows($sql);
  77.        
  78.         if($numrows == 0){
  79.            
  80.         echo 'no existe el usuario';
  81.            
  82.         }else{
  83.        
  84.         $sql = mysql_query("INSERT INTO friends (alias,namefriend,estado) VALUES ('".$_SESSION['user']['alias']."','".$_GET['user']."', 'peticion') ");
  85.      
  86.         echo 'Se ha enviado la solicitud a '.$_GET['user'].'';
  87.                
  88.         }}}else{
  89.                
  90.         echo 'No tienes acceso para ver esta pagina<br><br>';
  91.         echo '<a href="login.php">iniciar sesion</a>';
  92.                
  93.         }}elseif($_GET['action'] == 'list'){
  94.                
  95.         if(isset($_SESSION['user'])){
  96.      
  97.         echo '<b>lista de usuarios</b><br>';
  98.        
  99.         $sql = mysql_query("SELECT * FROM users ");
  100.         $numrows = mysql_num_rows($sql);
  101.        
  102.         if($numrows == 0){
  103.            
  104.         echo 'no hay usuarios';
  105.            
  106.         }else{
  107.        
  108.         while ($result = mysql_fetch_assoc($sql)){
  109.            
  110.         echo $result['alias'].' <a href="members/profile.php?user='.$result['alias'].'">ver el perfil</a>';
  111.         echo '<a href="members/profile.php?user='.$result['alias'].'&action=add">añadir como amigo</a><br>';
  112.            
  113.         }}}else{
  114.                
  115.         echo 'No tienes acceso para ver esta pagina<br><br>';
  116.         echo '<a href="login.php">iniciar sesion</a>';
  117.                
  118.         }}else{
  119.                        
  120.         echo 'se ha producido en un error en el action';
  121.                        
  122.         }}}else{
  123.            
  124.         if(isset($_SESSION['user'])){
  125.      
  126.         echo 'Estas en tu perfil <b>'.$_SESSION['user']['alias'].'</b><br><br>';
  127.         echo '<b>Tu lista de amigos</b><br>';
  128.        
  129.         $sql = mysql_query("SELECT * FROM friends WHERE alias = '$_SESSION[user][alias]' and estado = 'amigo' or namefriend = '$_SESSION[user][alias]' and estado = 'amigo'");
  130.         $numrows = mysql_num_rows($sql);
  131.        
  132.         if($numrows == 0){
  133.            
  134.         echo 'no tienes amigos';
  135.            
  136.         }else{
  137.        
  138.         while ($result = mysql_fetch_assoc($sql)){
  139.            
  140.         echo $result['namefriend'].' <a href="members/profile.php?user='.$result['namefriend'].'">ver el perfil</a><br>';
  141.            
  142.         }}
  143.        
  144.         echo '<br><br><b>Tu lista de amigos bloqueados</b><br>';
  145.        
  146.         $sql = mysql_query("SELECT * FROM friends WHERE alias = '$_SESSION[user][alias]' and estado = 'bloqueado' or namefriend = '$_SESSION[user][alias]' and estado = 'bloqueado'");
  147.         $numrows = mysql_num_rows($sql);
  148.        
  149.         if($numrows == 0){
  150.            
  151.         echo 'no tienes amigos bloqueados';
  152.            
  153.         }else{
  154.        
  155.         while ($result = mysql_fetch_assoc($sql)){
  156.            
  157.         echo $result['namefriend'].' <a href="members/profile.php?user='.$result['namefriend'].'&action=desbloquear">desbloquear</a><br>';
  158.            
  159.         }}
  160.        
  161.         echo '<br><br><b>Peticiones de amistad</b><br>';
  162.        
  163.         $sql = mysql_query("SELECT * FROM friends WHERE namefriend = '$_SESSION[user][alias]' and estado = 'peticion' ");
  164.         $numrows = mysql_num_rows($sql);
  165.        
  166.         if($numrows == 0){
  167.            
  168.         echo 'no tienes peticiones';
  169.            
  170.         }else{
  171.        
  172.         while ($result = mysql_fetch_assoc($sql)){
  173.            
  174.         echo $result['alias'].' <a href="members/profile.php?user='.$result['alias'].'&action=peticion">aceptar como amigo</a><br>';
  175.            
  176.         }}
  177.        
  178.         echo '<br><br><b>Tus peticiones de amistad</b><br>';
  179.        
  180.         $sql = mysql_query("SELECT * FROM friends WHERE alias = '$_SESSION[user][alias]' and estado = 'peticion' ");
  181.         $numrows = mysql_num_rows($sql);
  182.        
  183.         if($numrows == 0){
  184.            
  185.         echo 'no tienes peticiones';
  186.            
  187.         }else{
  188.        
  189.         while ($result = mysql_fetch_assoc($sql)){
  190.            
  191.         echo $result['namefriend'].' . . . esperando confirmacion<br>';
  192.            
  193.         }}
  194.        
  195.         echo '<br><b>Agregar amigo</b><br>';
  196.         echo '<form action="members/profile.php?user=?&action=add" method="post">';
  197.         echo '<input name="friend" type="text">';
  198.         echo '<input name="friend" type="button" /></form>';
  199.         echo '<br><br><a href="members/profile.php?user=?&action=list">ver lista de usuarios</a>';
  200.        
  201.         }else{
  202.        
  203.         echo 'No tienes acceso para ver esta pagina<br><br>';
  204.         echo '<a href="login.php">iniciar sesion</a>';
  205.            
  206.         }}?>

si lo puedo ver y entrar como usuario si seria mas rapido ver los posibles fallos
  #41 (permalink)  
Antiguo 26/01/2012, 16:31
 
Fecha de Ingreso: diciembre-2011
Mensajes: 414
Antigüedad: 12 años, 4 meses
Puntos: 1
Respuesta: Perfil visible si eres amigo o no

ske stoy subiendolo a webhost ..pero me da muchos errores no se si habra algun servidor mas facil que este :(
  #42 (permalink)  
Antiguo 26/01/2012, 16:36
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Perfil visible si eres amigo o no

nt preocupes ..

haber inicia sesion como kiefer y dale a ver lista de usuarios y me subes la imagen

- pero lo as probado ??? as echo algo??? funciona??? da pistas jejee
  #43 (permalink)  
Antiguo 26/01/2012, 16:42
 
Fecha de Ingreso: diciembre-2011
Mensajes: 414
Antigüedad: 12 años, 4 meses
Puntos: 1
Respuesta: Perfil visible si eres amigo o no

Aqui tienes la pagina ..

http://kfernandez.comuf.com/

jajja han sido problemas del config.php pero ya está todo resuelto yo me voy a dormir ..k vaya bien
  #44 (permalink)  
Antiguo 26/01/2012, 16:48
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Perfil visible si eres amigo o no

bueno pues ya lo pruebas y me vas contando espero que te haya servido
  #45 (permalink)  
Antiguo 27/01/2012, 09:20
 
Fecha de Ingreso: diciembre-2011
Mensajes: 414
Antigüedad: 12 años, 4 meses
Puntos: 1
Respuesta: Perfil visible si eres amigo o no

No me aparece ningun amigo ni nada de la manera que lo estoy haciendo ..puede ser que lo este configurando mal en la bd?Puedes probar de agregar a un usuario tu y lo probamos?

Saludos!!
  #46 (permalink)  
Antiguo 27/01/2012, 10:22
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Perfil visible si eres amigo o no

ok no te preocupes lo reviso y ya te voy contando , no creo que sea de la bd supongo que sera del codigo habra algo que este mal
  #47 (permalink)  
Antiguo 27/01/2012, 10:55
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Perfil visible si eres amigo o no

OK vamos a probar con algunos cambio

por un lado login.php (si te funciona correctamente este archivo ya se queda asi)

Código PHP:
Ver original
  1. <?php
  2.          
  3.         if(isset($_POST['mail']) && isset($_POST['password'])){
  4.            
  5.             $mail = $_POST['mail'];
  6.             $password = $_POST['password'];
  7.            
  8.             include 'config.php' ;
  9.            
  10.             $query = mysql_query("SELECT * FROM users WHERE mail='$mail'") or die (mysql_error());
  11.             $row = mysql_fetch_array($query);
  12.            
  13.             $dbusername = $row['mail'];
  14.             $dbpassword = $row['password'];
  15.             $dbalias = $row['alias'];
  16.             $dbname = $row['name'];
  17.             $dbsurname = $row['surname'];
  18.            
  19.             if($dbusername == NULL){
  20.                
  21.                 echo 'el email no existe<br><br>';
  22.                 echo 'Ver <a href="/iniciarsesion.php">volver a intentar</a>';
  23.                
  24.                 }else{
  25.  
  26.                    if($dbpassword != $password){
  27.                    
  28.                 echo 'el password no es correcto';
  29.                 echo 'Ver <a href="/iniciarsesion.php">volver a intentar</a>';
  30.                
  31.                 }else{
  32.                    
  33.                     // creamos la session con todos los datos en un array
  34.                    
  35.                 $_SESSION['user'] = array(
  36.                 'username' => $dbusername,
  37.                 'password' => $dbpassword,
  38.                 'alias' => $dbalias,
  39.                 'name' => $dbname,
  40.                 'surname' => $dbsurname);
  41.                    
  42.                    
  43.                 echo 'Se ha identificado correctamente<br><br>';  
  44.                 echo 'bienvenido: <strong>'.$_SESSION['user']['alias'].'</strong><br>';
  45.                 echo 'Ver <a href="members/profile.php">mi perfil</a>';
  46.                    
  47.                    
  48.             }}
  49.                        
  50.         }?>

y por otro profile.php (he modificado el if de $numrows en vez de a 0 a NULL)

Código PHP:
Ver original
  1. <?php
  2.          
  3.             include 'config.php' ;
  4.          
  5.             if(isset($_GET['user'])){
  6.                
  7.             if(empty($_GET['action'])){
  8.                
  9.             if(isset($_SESSION['user'])){
  10.                
  11.             echo 'Estas viendo el perfil de '.$_GET['user'];
  12.                
  13.             }else{
  14.                    
  15.             echo 'No tienes acceso para ver esta pagina<br><br>';
  16.             echo '<a href="login.php">iniciar sesion</a>';
  17.                    
  18.             }}else{
  19.                
  20.             if($_GET['action'] == 'desbloquear'){
  21.                
  22.             if(isset($_SESSION['user'])){
  23.                
  24.             echo '<b>Desbloqueo</b><br>';
  25.            
  26.             $sql9 = mysql_query(" UPDATE friends set estado='amigo' WHERE alias='$_SESSION[user][alias]' and namefriend='$_GET[user]' or alias='$_GET[user]' and namefriend='$_SESSION[user][alias]'");
  27.          
  28.             echo $_GET['user'].' y tu ya sois amigos';
  29.                    
  30.             }else{
  31.                    
  32.             echo 'No tienes acceso para ver esta pagina<br><br>';
  33.             echo '<a href="login.php">iniciar sesion</a>';
  34.                    
  35.             }}elseif($_GET['action'] == 'peticion'){
  36.                
  37.             if(isset($_SESSION['user'])){
  38.                
  39.             echo '<b>Amistad obtenida</b><br>';
  40.            
  41.             $sql8 = mysql_query(" UPDATE friends set estado='amigo' WHERE alias='$_GET[user]' and namefriend='$_SESSION[user][alias]'");
  42.          
  43.             echo $_GET['user'].' y tu ya sois amigos';
  44.                    
  45.             }else{
  46.                    
  47.             echo 'No tienes acceso para ver esta pagina<br><br>';
  48.             echo '<a href="login.php">iniciar sesion</a>';
  49.                    
  50.             }}elseif($_GET['action'] == 'add'){
  51.                
  52.             if(isset($_SESSION['user'])){
  53.                
  54.             if($_GET['user'] == '?'){
  55.                    
  56.             echo '<b>Añadir amigo</b><br>';
  57.            
  58.             $sql7 = mysql_query("SELECT * FROM users WHERE alias = '$_POST[friend]'");
  59.              $row7 = mysql_fetch_array($sql7);
  60.            
  61.             if($row7 == NULL){
  62.                
  63.             echo 'no existe el usuario';
  64.                
  65.             }else{
  66.            
  67.             $sql7 = mysql_query("INSERT INTO friends (alias,namefriend,estado) VALUES ('".$_SESSION['user']['alias']."','".$_POST['friend']."', 'peticion') ");
  68.          
  69.             echo 'Se ha enviado la solicitud a '.$_POST['friend'].'';
  70.                    
  71.             }}else{
  72.                        
  73.             echo '<b>Añadir amigo</b><br>';
  74.            
  75.             $sql6 = mysql_query("SELECT * FROM users WHERE alias = '$_POST[friend]'");
  76.              $row6 = mysql_fetch_array($sql6);
  77.            
  78.             if($row6 == NULL){
  79.                
  80.             echo 'no existe el usuario';
  81.                
  82.             }else{
  83.            
  84.             $sql6 = mysql_query("INSERT INTO friends (alias,namefriend,estado) VALUES ('".$_SESSION['user']['alias']."','".$_GET['user']."', 'peticion') ");
  85.          
  86.             echo 'Se ha enviado la solicitud a '.$_GET['user'].'';
  87.                    
  88.             }}}else{
  89.                    
  90.             echo 'No tienes acceso para ver esta pagina<br><br>';
  91.             echo '<a href="login.php">iniciar sesion</a>';
  92.                    
  93.             }}elseif($_GET['action'] == 'list'){
  94.                    
  95.             if(isset($_SESSION['user'])){
  96.          
  97.             echo '<b>lista de usuarios</b><br>';
  98.            
  99.             $sql5 = mysql_query("SELECT * FROM users ");
  100.              $row5 = mysql_fetch_array($sql5);
  101.            
  102.             if($row5 == NULL){
  103.                
  104.             echo 'no hay usuarios';
  105.                
  106.             }else{
  107.            
  108.             while ($row){
  109.                
  110.             echo $row5['alias'].' <a href="members/profile.php?user='.$row5['alias'].'">ver el perfil</a> ';
  111.             echo ' <a href="members/profile.php?user='.$row5['alias'].'&action=add">añadir como amigo</a> <br>';
  112.                
  113.             }}}else{
  114.                    
  115.             echo 'No tienes acceso para ver esta pagina<br><br>';
  116.             echo '<a href="login.php">iniciar sesion</a>';
  117.                    
  118.             }}else{
  119.                            
  120.             echo 'se ha producido en un error en el action';
  121.                            
  122.             }}}else{
  123.                
  124.             if(isset($_SESSION['user'])){
  125.          
  126.             echo 'Estas en tu perfil <b>'.$_SESSION['user']['alias'].'</b><br><br>';
  127.             echo '<b>Tu lista de amigos</b><br>';
  128.            
  129.             $sql4 = mysql_query("SELECT * FROM friends WHERE alias = '$_SESSION[user][alias]' and estado = 'amigo' or namefriend = '$_SESSION[user][alias]' and estado = 'amigo'");
  130.              $row4 = mysql_fetch_array($sql4);
  131.            
  132.             if($row4 == NULL){
  133.                
  134.             echo 'no tienes amigos';
  135.                
  136.             }else{
  137.            
  138.             while ($row4){
  139.                
  140.             echo $row4['namefriend'].' <a href="members/profile.php?user='.$row4['namefriend'].'">ver el perfil</a><br>';
  141.                
  142.             }}
  143.            
  144.             echo '<br><br><b>Tu lista de amigos bloqueados</b><br>';
  145.            
  146.             $sql3 = mysql_query("SELECT * FROM friends WHERE alias = '$_SESSION[user][alias]' and estado = 'bloqueado' or namefriend = '$_SESSION[user][alias]' and estado = 'bloqueado'");
  147.              $row3 = mysql_fetch_array($sql3);
  148.            
  149.             if($row3 == NULL){
  150.                
  151.             echo 'no tienes amigos bloqueados';
  152.                
  153.             }else{
  154.            
  155.             while ($row3){
  156.                
  157.             echo $row3['namefriend'].' <a href="members/profile.php?user='.$row3['namefriend'].'&action=desbloquear">desbloquear</a><br>';
  158.                
  159.             }}
  160.            
  161.             echo '<br><br><b>Peticiones de amistad</b><br>';
  162.            
  163.             $sql2 = mysql_query("SELECT * FROM friends WHERE namefriend = '$_SESSION[user][alias]' and estado = 'peticion' ");
  164.              $row2 = mysql_fetch_array($sql2);
  165.            
  166.             if($row2 == NULL){
  167.                
  168.             echo 'no tienes peticiones';
  169.                
  170.             }else{
  171.            
  172.             while ($row2){
  173.                
  174.             echo $row2['alias'].' <a href="members/profile.php?user='.$row2['alias'].'&action=peticion">aceptar como amigo</a><br>';
  175.                
  176.             }}
  177.            
  178.             echo '<br><br><b>Tus peticiones de amistad</b><br>';
  179.            
  180.             $sql1 = mysql_query("SELECT * FROM friends WHERE alias = '$_SESSION[user][alias]' and estado = 'peticion' ");
  181.              $row1 = mysql_fetch_array($sql1);
  182.            
  183.             if($row1 == NULL){
  184.                
  185.             echo 'no tienes peticiones';
  186.                
  187.             }else{
  188.            
  189.             while ($row1){
  190.                
  191.             echo $row1['namefriend'].' . . . esperando confirmacion<br>';
  192.                
  193.             }}
  194.            
  195.             echo '<br><b>Agregar amigo</b><br>';
  196.             echo '<form action="members/profile.php?user=?&action=add" method="post">';
  197.             echo '<input name="friend" type="text">';
  198.             echo '<input name="friend" value="añadir" type="button" /></form>';
  199.             echo '<br><br><a href="members/profile.php?user=?&action=list">ver lista de usuarios</a>';
  200.            
  201.             }else{
  202.            
  203.             echo 'No tienes acceso para ver esta pagina<br><br>';
  204.             echo '<a href="login.php">iniciar sesion</a>';
  205.                
  206.             }}?>

Subelos y ya lo vamos viendo

Última edición por webankenovi; 27/01/2012 a las 11:13
  #48 (permalink)  
Antiguo 29/01/2012, 07:37
 
Fecha de Ingreso: diciembre-2011
Mensajes: 414
Antigüedad: 12 años, 4 meses
Puntos: 1
Respuesta: Perfil visible si eres amigo o no

Hola, quiero preguntar una cosa, en la tabla friends los usuarios estan asi

http://img66.xooimage.com/files/0/e/...s1-310adad.jpg

Y no muestra nada en ningun perfil..incluso con el editado :( xd un sql de esta tabla no me lo podrias pasar para ver la solucion al problema
  #49 (permalink)  
Antiguo 30/01/2012, 13:00
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Perfil visible si eres amigo o no

el codigo qye te di te dije que tendria errores yo te lo di para orientarte en como lo puedes hacer , como si fuera una guia ahora ya es trabajo tuyo hacer que funcione asi aprenderas a manejarlo , yo solo te e intendado guiar en como hacerlo y tal pero te recomiendo hacerlo por ti mismo
  #50 (permalink)  
Antiguo 30/01/2012, 13:33
 
Fecha de Ingreso: diciembre-2011
Mensajes: 414
Antigüedad: 12 años, 4 meses
Puntos: 1
Respuesta: Perfil visible si eres amigo o no

okk gracias :D

Etiquetas: perfil, tabla, visible, usuarios
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:47.