Ver Mensaje Individual
  #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