Foros del Web » Programando para Internet » PHP »

Sistema amigos php

Estas en el tema de Sistema amigos php en el foro de PHP en Foros del Web. Hola a todos! Estoy haciendo con php que entre usuarios puedan agregarse como amigos. Primero se listan todos los usuarios que tengo registrado en mi ...
  #1 (permalink)  
Antiguo 26/02/2011, 20:58
Avatar de ale_dla  
Fecha de Ingreso: abril-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 189
Antigüedad: 15 años
Puntos: 3
Sistema amigos php

Hola a todos!
Estoy haciendo con php que entre usuarios puedan agregarse como amigos.
Primero se listan todos los usuarios que tengo registrado en mi pagina y con un enlace a follow.php para agregar como amigo.
Tengo una tabla friends que es esta:
Código PHP:


CREATE TABLE  
`friends` (
  `
friends_idint(11NOT NULL auto_increment,
  `
username1varchar(250NOT NULL,
  `
username2varchar(250NOT NULL,
  `
statusenum('0','1','2'NOT NULL default '0',
  
PRIMARY KEY  (`friends_id`)
ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=
Bueno en friends_id va autoincrementando todos los que van haciendose amigos, el username1 guarda el usuario que esta logueado y el username2 seria a quien guarda como amigo y status como defecto 0 es que todavia esta esperando..
Cuando agrego un amigo se envia un mp al usuario.
El codigo primero muestra todos los usuarios que tengo registrado en mi pagina.
Código PHP:
<table width="100%">
                  <
tr>
                    <
td width="13%" rowspan="2"><div style=" height:50px; overflow:hidden;"><a href="../../profile/profile.php?id=' . $userid . '" target="_self">' . $user_pic . '</a></div></td>
                    <
td width="14%" class="style7"><div align="right">Nombre:</div></td>
                    <
td width="73%"><a href="../../profile/profile.php?id=' . $userid . '" target="_self"><b>' . $username . '</b></a> </td>
                      <
td></td>
                  </
tr>
                  <
tr>
                    <
td class="style7"><div align="right"></div></td>
                    <
td><a href="follow.php"><img src="follow.png" border="0"/></a> </td>
                  </
tr>
                  </
table>
                  <
hr /> 
Y follow.php
Código PHP:
<?php
session_start
();
include 
'include/php/conexion.php';

//Conexion con la Base de Datos
$link=@dbConnect();
if (!
$link) {
    echo 
"Error conectando a la Base de Datos."
}

if (
$link =="202") {
    echo 
"Error seleccionando la Base de Datos.";
}


/* 0:eliminado,
   1:esperando,
   2:aceptado */
   
$username $_POST['username'];
   
$username "";
    if ( isset(
$_SESSION['userid'])){
            
$userid $_SESSION['userid'];
            
$username $_SESSION['username'];
    
$sql 'INSERT INTO friends (username1,username2,status) VALUES ('.$_SESSION['username'].',$username,0)';
    
$query mysql_query($sql) or die(mysql_error());
    
    
        
$title='Sugerencia de amigos';
        
$to=$_POST['username'];
        
$content=''.$username.' Quiere ser tu amigo.';
        
$from$_SESSION['username'];

        
mysql_query("INSERT INTO messages (from_user, to_user, message_title, message_content, message_date) VALUES ('$from','$to','$title','$content',now())") OR die("Could not send the message: <br>".mysql_error());
        echo 
'<b style="color:green;">Se ha enviado la solicitud de amistad!</b>';
    
    }else{
    
header("Location:login.php");
    }
?>
El problema es que cuando agrego a un usuario como amigo me aparece este error: Unknown column 'minick' in 'field list'

En minick muestra mi nombre de usuario la sesion que guarda en la db.
Bueno quien pueda ayudarme se los agradezco mucho o alguna sugerencia me serviria mucho.
Saludos !
  #2 (permalink)  
Antiguo 26/02/2011, 21:56
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Sistema amigos php

Pues te esta diciendo que no encuentra la columna, verifica que tengas creado esa columna en la base de datos.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 26/02/2011, 22:17
marcofbb
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Sistema amigos php

Te recomiendo utilizar bien las comillas

por ejemplo:
Código PHP:
Ver original
  1. $sql = "INSERT INTO friends (username1,username2,status) VALUES ('".$_SESSION['username']."','".$username."','0')";

[email protected] agregame para hablar mas agilizado(1)


(1) La solución al problema la posteare en este foro para que cuando alguien tiene un problema parecido tenga la solución.

PD: te conosco de Psicofpx :P
  #4 (permalink)  
Antiguo 06/09/2011, 17:08
 
Fecha de Ingreso: marzo-2011
Ubicación: Punta de Mata
Mensajes: 106
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Sistema amigos php

amigo yo tambien estoy en ese problema yo tengo un similar sistema pero como yo lo tengo integrado con el sistema de comentario, como hago para que el usuario1 tiene que agregar a ese usuario2 para que en su pagina inicial aparesca los comentario del usuario1 por favor necesito su ayuda.
  #5 (permalink)  
Antiguo 06/09/2011, 18:12
Avatar de hasdpk  
Fecha de Ingreso: agosto-2011
Ubicación: $spain->city( 'Arucas' );
Mensajes: 1.800
Antigüedad: 12 años, 8 meses
Puntos: 297
Respuesta: Sistema amigos php

Mi opinión personal. Tienes la tabla mal planteada.

Desconozco si hicistes el modelo entidad-relación, que supongo yo que no, pero lo que yo haría es:

- "friends_id", lo eliminaría.
- "username1" y "username2" los pasaría a Llave Primaria.
- Cambiar el motor a InnoDB.
- "username1" y "username2" crearía Llaves foráneas a la tabla de usuarios.
- Crear un campo llamado "fecha"

Estatados:
Mediante el campo fecha gestionaría el estado.

- Si no son amigos todavía o sin invitación, NO ESTARÁN en el registro de la tabla.
- Si hay invitación pero no se han aceptado, registrar los usuario y la fecha a 0.
- Si son amigo, pasar "fecha" a la fecha en la que se aceptaron.

De esta forma eliminas registros innecesarios en la tabla y puedes saber si ya se han aceptado, porque el campo fecha estará a 0, si todavía están esperando a aceptarce, o, con una fecha si ya se han aceptado.
  #6 (permalink)  
Antiguo 06/09/2011, 22:49
 
Fecha de Ingreso: marzo-2011
Ubicación: Punta de Mata
Mensajes: 106
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Sistema amigos php

amigo si hago un sistema similar al de twitter ejemplo que el usuario sin necesidad de aceptar la invitacion ya pueda obtener la comentario en su pagina principal ejemplo:"home.php", yo particularmente estoy un poco confuso por que hago la busqueda a la BD pero me sale todos los comentarios de los usuarios, como haria un codigo que buscara su comentario del usuario y por medio de la invitacion de amistad mostrara los comentarios de los usuario invitados y asi sucesivamente aqui estan los codigo de la busqueda de los comentarios

Código PHP:
Ver original
  1. $resultados=mysql_query("SELECT * FROM comentarios ORDER BY ID DESC ");
  2. $i = 0;
  3.   echo "<div id='comet-one'>";
  4.    while($fhsgah=mysql_fetch_array($resultados)){
  5. $color = ($i % 2 == 0) ? '#edeff4' : '#d8dfea';
  6. echo "  <div id='comet-statu'>";
  7.     echo "<div id='img'><p><a href='perfil.php?id=$datos[username]'><strong>fhsgah[username]</strong></a></p></div>";
  8.         echo "<div id='conte_coment'><div id='comet'><p>". nl2br(($fhsgah['comentario'])) ."</p></div></div>";
  9.     echo "<div id='fecha' align='right'><span title='". fecha($fhsgah['fecha']) ."'>". nl2br(tiempofecha($fhsgah['fecha'])) ."</span></div>";
  10.     $i++;
  11.  }
  12. echo "</div>";
por favor necesito ayuda.!
  #7 (permalink)  
Antiguo 02/06/2013, 12:04
(Desactivado)
 
Fecha de Ingreso: abril-2013
Mensajes: 11
Antigüedad: 11 años
Puntos: 0
Respuesta: Sistema amigos php

Hey Amigo esta revisando tu publicacion y creo que en cuanto a la conexion.php creo que no existe no seria una molestia poner la conexion.php o explicar?

Gracias.

Etiquetas: sitemap
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 01:31.