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. Hola chicos , he conseguido crear un perfil base creo..con muchos intentos y preguntando por aqui y sobre todo con la ayuda de un script. ...

  #1 (permalink)  
Antiguo 21/01/2012, 12:28
 
Fecha de Ingreso: diciembre-2011
Mensajes: 414
Antigüedad: 12 años, 4 meses
Puntos: 1
Perfil visible si eres amigo o no

Hola chicos , he conseguido crear un perfil base creo..con muchos intentos y preguntando por aqui y sobre todo con la ayuda de un script.

Ahora quiero crear el "Agregar amigo"

Una pregunta repetidas por muchas veces y que quiero inicializarlo de esta manera

Tengo una tabla llamada users estructurada asi

id smallint(5) NOT NULL auto_increment,
name varchar(30) NOT NULL default '',
surname varchar(32) NOT NULL default '',
mail varchar(32) NOT NULL default '',
password varchar(32) NOT NULL default '',
alias varchar(23) NOT NULL default '',
permisos tinyint NOT NULL,
PRIMARY KEY (id),
UNIQUE KEY username (alias)
);";

Quiero crear una tabla llamada friends y no se como tiene que estar estructurada , se que tengo que tener un campo para cada usuarios, pero no se de que manera crearla. :( por supuesto despues relacionar la tabla.
  #2 (permalink)  
Antiguo 21/01/2012, 13:24
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Perfil visible si eres amigo o no

yo pondria

id autoincrementable
un campo para el nombre del amigo
un campo para el nombre mio digamos // aki usas el surname o alias o algun campo de la tabla users para identificar
y un campo para ver si sigue siendo amigos o no, bloquedao o lo que sea // campo relacion valores amigo/bloqueado/no amigo/ x ejemplo

esto lo basico luego puedes añadir mas campos

y luego consultas todo donde el where sea mi nombre y muestras todos los nombres de amigos con valor en relacion sea amigo

Última edición por webankenovi; 21/01/2012 a las 13:32
  #3 (permalink)  
Antiguo 22/01/2012, 08:30
 
Fecha de Ingreso: diciembre-2011
Mensajes: 414
Antigüedad: 12 años, 4 meses
Puntos: 1
Respuesta: Perfil visible si eres amigo o no

Lo he configurado así pero no se como se hace en si


CREATE TABLE `kfernandez`.`friends` (
`id` INT NOT NULL AUTO_INCREMENT ,
`namefriend` VARCHAR( 20 ) NOT NULL ,
`alias` VARCHAR( 20 ) NOT NULL ,
`bloqueado` VARCHAR( 20 ) NOT NULL ,
PRIMARY KEY ( `id` )
) ENGINE = INNODB;
  #4 (permalink)  
Antiguo 22/01/2012, 11:12
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Perfil visible si eres amigo o no

ID autoincrementable ok
namefriend el nombre del amigo ok
alias el dato para identificar al usuario de la tabla users ok
bloqueado para ver la amistad que hay ok

como se hace en si? sabes programar? habria que saber mas datos para poder construirlo datos que desconozco

como x ejemplo el alias . como lo generas al hacer login creas una session con el alias??
tienes pagina de perfil por usuario??. como entra un usuario a ver el perfil de otro y como haces para que se vea la pagina de otro usuario , este punto es bueno saberlo xq mas o menos sera la misma manera, no se si me entiendes
  #5 (permalink)  
Antiguo 22/01/2012, 15:36
 
Fecha de Ingreso: diciembre-2011
Mensajes: 414
Antigüedad: 12 años, 4 meses
Puntos: 1
Respuesta: Perfil visible si eres amigo o no

Haber te voy diciendo como lo tengo ,

Tengo un perfil base , solo uno imagino que necesitaré crear otro , ese perfil base está dentro de la carpeta members y todos los usuario acceden a el.

members/profile.php

Primero saber esto luego te sigo explicando :D
  #6 (permalink)  
Antiguo 22/01/2012, 15:45
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Perfil visible si eres amigo o no

necesito saber como logeas para dar una session a alias
  #7 (permalink)  
Antiguo 22/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

Diría que no le doy ninguna sesion a alias .. utilizo este código con cookies

setcookie("loggedin", "".$_POST['mail']."", time()+(3600 * 24));
echo "Welcome: <strong>".$_POST['mail']."</strong><br>";
echo "Continue to the <a href=members.php>members</a> section.";

Necesito programar una session_start con ??y este es el login.php

ob_start();
$mail=$_POST["mail"];
$password=$_POST["password"];
if ($mail&&$password);
{
include("config.php");
$query = mysql_query("SELECT * FROM users WHERE mail='$mail'");
$numrows = mysql_num_rows($query);
{
while ($row = mysql_fetch_assoc($query))
{
$dbusername = $row['mail'];
$dbpassword = $row['password'];
$dbalias = $row['alias'];
$dbname = $row['name'];
$dbsurname = $row['surname'];
//
}
if ($mail==$dbusername&&$password==$dbpassword)
{
echo"Contraseña correcta";
setcookie("loggedin", "".$_POST['mail']."", time()+(3600 * 24));
echo "Welcome: <strong>".$_POST['mail']."</strong><br>";
echo "Continue to the <a href=members.php>members</a> section.";
}
else
echo "Contraseña errónea";
}
}
ob_end_flush();
  #8 (permalink)  
Antiguo 22/01/2012, 15:53
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Perfil visible si eres amigo o no

tu identificas al usuario por cookies , entonces al logear ay que recojer el campo que kieres guardar como identificador en la tabla friends en este caso alias

mejor que cookies guardalo en una session si los datos son correctos . en esta pagina si añade session_start() al comienzo bueno en todas las paginas deberia de estar.

if ($mail==$dbusername&&$password==$dbpassword)
{
$_SESSION['alias'] = $dbalias;
echo"Contraseña correcta";

y a partir de ahora tambien deberas de destruir las sesiones en el logout
  #9 (permalink)  
Antiguo 22/01/2012, 16:01
 
Fecha de Ingreso: diciembre-2011
Mensajes: 414
Antigüedad: 12 años, 4 meses
Puntos: 1
Respuesta: Perfil visible si eres amigo o no

vale, en todas las paginas lo tendré que poner ahora :D , entonces ahora me tendrias que decir lo del perfil no?o ya está bien?
  #10 (permalink)  
Antiguo 22/01/2012, 16:04
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Perfil visible si eres amigo o no

ahora necesito saber como un usuario ve el perfil de otro vale me as dixo la pagina donde esta creado el perfil pero como le mandas alli por un link no? o como? ponmelo aqui el link entero o la forma de como lo haces

por ejemplo

<a href="esto necesito saber si esque lo haces por link" >ver perfil antonio</a>
  #11 (permalink)  
Antiguo 23/01/2012, 07: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

Yo te explico lo que tengo hecho de perfil.

Todos los usuarios acceden al mismo perfil a través de , solo hay UN PERFIL CREADO o se necesita uno por usuario eso es lo que no se ...es de lo que me quiero informar

<a href="members/index.php">
  #12 (permalink)  
Antiguo 23/01/2012, 13:18
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Perfil visible si eres amigo o no

ok pero nm entendiste , yo a ti si

imaginate que inicio sesion y voy a mi perfil que es memebers/index vale pero se puede ver el perfil de otro usuario o solo del que inicio sesion??

sin conocimientos de programacion te va a costar crear el sistema pero yo te ayudo paso por paso no te preocupes
  #13 (permalink)  
Antiguo 23/01/2012, 16:39
 
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 solo se puede ver el que ha iniciado sesion...no tengo un perfil por usuario ni nada por el estilo me gustaria que me ayudaras en este tema que es donde estoy estancado.
  #14 (permalink)  
Antiguo 24/01/2012, 11:16
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Perfil visible si eres amigo o no

el tema se va complicando amigo , pero bueno te intentare ayudar

una pregunta podria ver tu web o solo es en local para poder ir diciendote y ver como lo podrias hacer
  #15 (permalink)  
Antiguo 24/01/2012, 12:46
 
Fecha de Ingreso: diciembre-2011
Mensajes: 414
Antigüedad: 12 años, 4 meses
Puntos: 1
Respuesta: Perfil visible si eres amigo o no

lo tengo unicamente local :( si es complicado me podrias resumir los pasos seria perfecto
  #16 (permalink)  
Antiguo 25/01/2012, 12:35
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Perfil visible si eres amigo o no

entnces olvidemonos de todo y deja todo tal cual lo tenias y parte desde cero es lo mejor que puedes hacer

1 paso - como haces para mostrar al usuario su perfil ? el codigo que tienes en profile.php seria de utilidad saberlo
  #17 (permalink)  
Antiguo 26/01/2012, 09: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

ahy no tengo nada ...solo me sale el mail que introduzco a la hora de iniciar sesión (utilizando cookies) pero no adquiero ningun datos de la base de datos ...pero es que hay muy pocas gias de esto :(

<?php
$username = $_COOKIE['loggedin'];
if (!isset($_COOKIE['loggedin'])) die("You are not logged in, <a href=../login.html>click here</a> to login.");
echo "You are logged in $username";
?> |
  #18 (permalink)  
Antiguo 26/01/2012, 11:22
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Perfil visible si eres amigo o no

ok si esta vacio el archivo mejor aun mas facil para trabajar

empecemos en el loggin , que prefieres cookies por algo o no te importa usar sessiones ??
  #19 (permalink)  
Antiguo 26/01/2012, 11:53
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Perfil visible si eres amigo o no

empezamos el trabajo primero el loggin ya con todas las sesiones

login.php

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' and password='$password' ") or die (mysql_error());
  11.     $numrows = mysql_num_rows($query);
  12.    
  13.     if($numrows == 0){
  14.        
  15.         echo 'el email o la contraseña no existen';
  16.        
  17.         }else{
  18.  
  19.     while ($row = mysql_fetch_assoc($query)){
  20.        
  21.         $dbusername = $row['mail'];
  22.         $dbpassword = $row['password'];
  23.         $dbalias = $row['alias'];
  24.         $dbname = $row['name'];
  25.         $dbsurname = $row['surname']; } //fin de while
  26.    
  27.     if($mail == $dbusername){ // comparamos el email
  28.        
  29.         if($password == $dbpassword){ // comparamos la contraseña
  30.            
  31.             // creamos la session con todos los datos en un array
  32.            
  33.         $_SESSION['user'] = array(
  34.         'username' => $dbusername,
  35.         'password' => $dbpassword,
  36.         'alias' => $dbalias,
  37.         'name' => $dbname,
  38.         'surname' => $dbsurname);
  39.            
  40.            
  41.         echo 'Se ha identificado correctamente<br><br>';   
  42.         echo 'Welcome: <strong>'.$_SESSION['user']['username'].'</strong><br>';
  43.         echo 'Continue to the <a href="members.php">members</a> section.';
  44.            
  45.            
  46.     }else{
  47.                
  48.     echo 'El password no coincide';
  49.                
  50.     }}else{ // fin de validacion de contraseña
  51.        
  52.     echo 'el usuario introducido no es correcto';
  53.        
  54.     }}}else{ // fin de validacion mail
  55.    
  56.     echo 'No ha introducido ningun dato';
  57.    
  58.     } // fin de isset
  59.    
  60.  
  61. ?>

Última edición por webankenovi; 26/01/2012 a las 12:39
  #20 (permalink)  
Antiguo 26/01/2012, 13:18
 
Fecha de Ingreso: noviembre-2011
Mensajes: 516
Antigüedad: 12 años, 5 meses
Puntos: 10
Respuesta: Perfil visible si eres amigo o no

Simplemente entra al profile.php mandando datos por get es decir profile.php?id=1
y este es antonio, entonces en esa pagina profile pasa ese valor get y busca en la base de datos los datos de tal usuario, pero antes solo dejale ver ese link si ya es amigo, con un if o un swicth busca informacion por google, y sera mucho mas facil. espero aber ayudado. un saludo.
  #21 (permalink)  
Antiguo 26/01/2012, 13:35
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Perfil visible si eres amigo o no

es mas dificl que eso , no es solo ver el perfil de otro si no añadir amigos ver bloqueados peticiones de amistad etc... es algo mas complicado
  #22 (permalink)  
Antiguo 26/01/2012, 14:06
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Perfil visible si eres amigo o no

haber te paso un script que tal vez te pueda servir si no te funciona lo corrijes y lo vas amoldando a tu gusto

1 crea la tabla friends con los campos alias , namefriend , estado

en estado solo se admiten como valido (amigo,peticion,bloqueado)

y en el login.php

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' and password='$password' ") or die (mysql_error());
  11.     $numrows = mysql_num_rows($query);
  12.    
  13.     if($numrows == 0){
  14.        
  15.         echo 'el email o la contraseña no existen';
  16.        
  17.         }else{
  18.  
  19.     while ($row = mysql_fetch_assoc($query)){
  20.        
  21.         $dbusername = $row['mail'];
  22.         $dbpassword = $row['password'];
  23.         $dbalias = $row['alias'];
  24.         $dbname = $row['name'];
  25.         $dbsurname = $row['surname']; } //fin de while
  26.    
  27.     if($mail == $dbusername){ // comparamos el email
  28.        
  29.         if($password == $dbpassword){ // comparamos la contraseña
  30.            
  31.             // creamos la session con todos los datos en un array
  32.            
  33.         $_SESSION['user'] = array(
  34.         'username' => $dbusername,
  35.         'password' => $dbpassword,
  36.         'alias' => $dbalias,
  37.         'name' => $dbname,
  38.         'surname' => $dbsurname);
  39.            
  40.            
  41.         echo 'Se ha identificado correctamente<br><br>';   
  42.         echo 'Welcome: <strong>'.$_SESSION['user']['username'].'</strong><br>';
  43.         echo 'Continue to the <a href="members/index.php">members</a> section.';
  44.            
  45.            
  46.     }else{
  47.                
  48.     echo 'El password no coincide';
  49.                
  50.     }}else{ // fin de validacion de contraseña
  51.        
  52.     echo 'el usuario introducido no es correcto';
  53.        
  54.     }}}else{ // fin de validacion mail
  55.    
  56.     echo 'No ha introducido ningun dato';
  57.    
  58.     } // fin de isset
  59.    
  60.  
  61. ?>
  #23 (permalink)  
Antiguo 26/01/2012, 14:07
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Perfil visible si eres amigo o no

y el members/index.php

lo hace todo en la misma pagina

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]' or namefriend='$_SESSION[user][alias]' and alias='$_GET[user]' or namefriend='$_GET[user]'");
  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/index.php?user='.$result['alias'].'">ver el perfil</a>';
  93.     echo '<a href="members/index.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' ");
  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/index.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]' 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/index.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/index.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><br>';
  178.     echo '<form action="member.php?user=?&action=add" method="post">';
  179.     echo '<input name="friend" type="text">';
  180.     echo '</form>';
  181.     echo '<br><br><a href="members/index.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.     }}?>
  #24 (permalink)  
Antiguo 26/01/2012, 14:42
Avatar de geeck22  
Fecha de Ingreso: agosto-2010
Ubicación: Tijuana B.C.
Mensajes: 79
Antigüedad: 13 años, 7 meses
Puntos: 7
Respuesta: Perfil visible si eres amigo o no

quisas no sea profecional esta opcion pero lo que yo haria seria crear otra tabla (amistad) con:
id (para llevar el control)
id_usuario1 (id del usuario 1)
id_usuario2 (id del usuario 2)
amigos → 0 ó 1 (0 por si dejan de ser amigos y 1 para cuando se acepta la amistad)

se hacen unas cuantas consultas como
Código PHP:
Ver original
  1. //conexion
  2. $sql = "SELECT * FROM amistad WHERE id_usuario1 = '$id_usuario1' and id_usuario2 = '$id_usuario2'";
  3. $consulta = mysql_query($sql);
  4. while($dato=mysql_fetch_assoc($consulta);{
  5. $amistad = $dato['amistad'];
  6. }
  7. if(isset($amistad == 1)){ echo "TU Y USUARIO2 SON AMIGOS!"; }
y listo! :P
  #25 (permalink)  
Antiguo 26/01/2012, 15:03
 
Fecha de Ingreso: diciembre-2011
Mensajes: 414
Antigüedad: 12 años, 4 meses
Puntos: 1
Respuesta: Perfil visible si eres amigo o no

Iré paso a paso , el login me sigue funcionando y el profile se me ve de la siguiente manera

http://img71.xooimage.com/files/f/f/...le-30f6b06.jpg

La base de datos está creada de la siguiente manera


CREATE*TABLE*`kfernandez`.`friends`*(
`alias`*VARCHAR(*30*)*NOT*NULL*,
`namefriend`*VARCHAR(*30*)*NOT*NULL*,
`estado`*VARCHAR(*30*)*NOT*NULL
)*ENGINE*=*INNODB;

:D Gracias por tu empeño ojalá pudiera agradecertelo de alguna manera ...pero el codigo este tiene que estar en index.php o profile.php :)
  #26 (permalink)  
Antiguo 26/01/2012, 15:12
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Perfil visible si eres amigo o no

da igual en members/index.php o members/profile.php pero los links que ay en el codigo tienen que apuntar hacia la url que tu elijas o index o profile nada mas

aaa `pues te quedo chulo , mas o menos eso es lo que querias no??

claro que faltan cosas como borrar amigo , o algunas cosas mas y algun fallo seguro que te da pero bueno ves comentando y vamos viendo
  #27 (permalink)  
Antiguo 26/01/2012, 15:16
 
Fecha de Ingreso: diciembre-2011
Mensajes: 414
Antigüedad: 12 años, 4 meses
Puntos: 1
Respuesta: Perfil visible si eres amigo o no

de esta manera estamos configurando un perfil , en el cual accede el usuario no? y depende de que usuario sea se cargará una cosa o otra ?
  #28 (permalink)  
Antiguo 26/01/2012, 15:22
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Perfil visible si eres amigo o no

esta pagina maneja la pagina personal del usuario que inio sesion , tambien se puede ver las paginas de otros usuarios , ademas hace las funciones de desbloquear añadir peticiones etcc... todo en una segun lo que vayas haciendo

una cosa se me olvido el bottom en el form donde agregar amigo

az un cambio por

echo '<br><b>Agregar amigo</b><br><br>';
echo '<form action="member.php?user=?&action=add" method="post">';
echo '<input name="friend" type="text">';
echo '<input name="friend" type="button" /></form>';
echo '<br><br><a href="members/index.php?user=?&action=list">ver lista de usuarios</a>';

mas o menos por la linea 178


el codigo cuando ya te funcione bien puedes separalo y hacerlo como tu mejor veas por partes con includes etc...

añade 3 registros de prueba en la tabla uno como peticion otro como bloqueado y otro como amigo y asi ves que te muestra y como accedes a ver otros perfiles y si puedes sube una imagen con los registros metidos haber como te sale


si te falla es normal esta dentro de lo previsto asique no te preocupes

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

Ahora tendría que relacionar las dos tablas users y friend a traves del elemento alias no?para poder continuar? y alias tendira que ser UNIQUE ?
  #30 (permalink)  
Antiguo 26/01/2012, 15:34
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Perfil visible si eres amigo o no

no no la tabla friends seria asi

campo id int autoincrementable
campo alias varchar // el que relacionamos pero no tienes que hacer nada ya esta echo
campo namefriend varchar // campo del amigo
campo estado varchar //

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 13:18.