Autor Tema: Agregar y eliminar amigos, adaptación al sistema de users. [AYUDA]  (Leído 3679 veces)

Desconectado maska

  • PHPer@ Fijo
  • ***
  • Mensajes: 126
  • Karma: 2
  • Nuev@ PHPer@
    • Ver Perfil
Agregar y eliminar amigos, adaptación al sistema de users. [AYUDA]
« en: 22 de Marzo de 2012, 14:48:11 pm »
Hola amigos.

Tengo un Sistema de Usuarios al cual quiero adaptarle un código que ví en una página. Ya que no soy capaz de montar un Sistema de Agregar y Eliminar amigos desde cero porque me hago un lío.
Mi idea, como he dicho es adaptarlo con vuestra ayuda. Así que a continuación os pongo el código de mi Sistema de Usuarios y el código de gente.php y agregara.php

Sistema de Usuarios

acceso.php
Código: [Seleccionar]
<form action="comprobar.php" method="post">
            <label>Usuario:</label>
            <br />
            <input type="text" name="user_nombre" /><br />
            <label>Contraseña:</label>
            <br />
            <input type="password" name="user_clave" /><br />
            <br />
            <br />
            <input type="submit" name="enviar" value="Ingresar" /> | <a href="registro.php">Regístrate </a>
        </form>

comprobar.php
Código: [Seleccionar]
<?php
    session_start
();
    include(&
#39;includes/conectar_db.php&#39;);
    
if(isset($_POST[&#39;enviar&#39;])) { // Comprobamos que se hayan enviado los datos del formulario.



// Comprobamos que los campos user_nombre y user_clave no estén vacíos.
        
if(empty($_POST[&#39;user_nombre&#39;]) || empty($_POST[&#39;user_clave&#39;])) {
            
echo "No has introducido todo tus datos. <a href=&#39;javascript:history.back();&#39;>Reintentar</a>";
        }else {
            
// "Limpiamos" los campos del formulario de posibles códigos maliciosos.
            
$user_nombre mysql_real_escape_string($_POST[&#39;user_nombre&#39;]);
            
$user_clave mysql_real_escape_string($_POST[&#39;user_clave&#39;]);
            
$user_clave md5($user_clave);
            
// Comprobamos que los datos ingresados en el formulario coincidan con los de la base de datos.
            
$sql mysql_query("SELECT user_id, user_nombre, user_clave FROM users WHERE user_nombre=&#39;".$user_nombre."&#39; AND user_clave=&#39;".$user_clave."&#39;");
            if(
$row mysql_fetch_array($sql)) {
                
$_SESSION[&#39;user_id&#39;] = $row[&#39;user_id&#39;]; // Creamos la sesión "user_id" y le asignamos como valor el campo user_id.
                
$_SESSION[&#39;user_nombre&#39;] = $row[&#39;user_nombre&#39;]; // Creamos la sesión "user_nombre" y le asignamos como valor el campo user_nombre.
$_SESSION[&#39;ultimoAcceso&#39;]= date(&#39;Y-n-j H:i:s&#39;); // Creamos la sesión "ultimoAcceso" y le asignamos como valor date.
                
header("Location: acceso.php");

// Script: usuarios online. Comprobamos si ya se ha ingresado anteriormente.
$online mysql_query("SELECT onlineuser FROM online WHERE onlineuser=&#39;".$_POST[&#39;user_nombre&#39;]."&#39;");
$online_exist mysql_num_rows($online);
// Script: usuarios online. Si no existe ninguna coincidencia insertamos nueva conexión, de lo contrario actualizamos la conexión existente.
if($online_exist==0){
mysql_query("INSERT INTO `online` (`onlineuser`, `lastdate`, `ip`) VALUES (&#39;".$_POST[&#39;user_nombre&#39;]."&#39;, &#39;".time()."&#39;, &#39;".$_SERVER[&#39;REMOTE_ADDR&#39;]."&#39;)") or die(mysql_error());
}else{
mysql_query("UPDATE online SET lastdate=&#39;".time()."&#39;,ip=&#39;".$_SERVER[&#39;REMOTE_ADDR&#39;]."&#39; WHERE onlineuser=&#39;".$_POST[&#39;user_nombre&#39;]."&#39;") or die(mysql_error());
// Fin de script: usuarios online

            }else {
?>

                Ha ocurrido un error. <a href="acceso.php">Reintentar</a>
<?php
            
}
        }
    }else {

        
header("Location: acceso.php");
    }
?>

perfil.php
Código: [Seleccionar]
<?php
// OBLIGATORIO.
session_start();
include(&
#39;includes/conectar_db.php&#39;);
if(isset($_SESSION[&#39;user_nombre&#39;])) {
include(&#39;includes/funciones.php&#39;);

// Datos de perfil.php
$perfil mysql_query("SELECT * FROM users WHERE user_id=&#39;".$_GET[&#39;user_id&#39;]."&#39;") or die(mysql_error());
    
if(mysql_num_rows($perfil)) { // Comprobamos que exista el registro con la ID ingresada.
        
$row mysql_fetch_array($perfil);
        
$user_id $row["user_id"];
        
$user_nombre $row["user_nombre"];
        
$user_email $row["user_email"];
        
$user_reg $row["user_reg"];
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Perfil</title>
<meta name="description" content="" />
<meta name="keywords" content="" />
<link rel="shortcut icon" href="imagenes/logotipo/">
<link href="css/plantilla.css" rel="stylesheet" type="text/css">
<link href="css/perfil.css" rel="stylesheet" type="text/css">
</head>
<body>
<?php include(&#39;includes/header.php&#39;); ?>
<div id="wrap" class="clearfix">
  <div id="container">
    <div id="margen-izq">
      <div class="div">
        <div class="titulo-div">Perfil</div><!-- class titulo-div -->
        <div id="datos-user">
          <p>ID: <?=$user_id?><br />
            Nombre: <?=$user_nombre?><br />
            Email: <?=$user_email?><br />
            Registro: <?=$user_reg?>
          </p>
          <p>&nbsp;</p>
          <p>&nbsp;</p>
        </div><!-- fin de datos-user -->
      </div><!-- class div -->     
    </div><!-- FIN de margen-izq -->
    <div id="center">
      <div class="div">
        <div class="titulo-div">Comentarios</div><!-- class titulo-div -->
        <div id="novedades" style="font-size:12px;">Si quieres trabajar con nosotros no dudes en contactar con nosotros. Si quieres trabajar con nosotros no dudes en contactar con nosotros. Si quieres trabajar con nosotros no dudes en contactar con nosotros. Si quieres trabajar con nosotros no dudes en contactar con nosotros. Si quieres trabajar con nosotros no dudes en contactar con nosotros. Si quieres trabajar con nosotros no dudes en contactar con nosotros.
        </div><!-- fin de novedades -->
      </div><!-- class div -->
    </div><!-- FIN de center -->
    <div id="margen-dcha">
      <div class="div">
        <div class="titulo-div">Fotografías</div><!-- class titulo-div -->
        <div id="proximamente">Álbum vacío.</div><!-- fin de proximamente -->
      </div><!-- class div -->
    </div><!-- FIN de margen-dcha -->
  </div><!-- FIN DE CONTAINER -->
  <?php include(&#39;includes/footer.php&#39;); ?>
</div><!-- FIN DE WRAP -->
</body>
</html>
<?php
// Fin de if(mysql_num_rows($perfil)) {.
} else { header("Location: inicio.php"); }

// Fin de $_SESSION[&#39;user_nombre&#39;].
} else { header("Location: acceso.php"); }
?>

gente.php y agregara.php

gente.php
Código: [Seleccionar]
<?php
// OBLIGATORIO.
session_start();
include(&
#39;includes/conectar_db.php&#39;);
if(isset($_SESSION[&#39;user_nombre&#39;])) {
include(&#39;includes/funciones.php&#39;);
?>





<?php
$nombre 
=$_SESSION[&#39;user_nombre&#39;];
$id_usuario=$_SESSION[&#39;user_id&#39;];
?>


<?php
include("config.php");
$registros=mysql_query("select * from users WHERE user_id != &#39;$id_usuario&#39; ORDER BY user_id desc "$conexion)or
die(
"Problemas en el select:".mysql_error());
$i=0;
while(
$reg=mysql_fetch_array($registros))
?>

<img src="<?php echo "".$reg[&#39;imagen&#39;]. "";?>" /><br />
<?php
$consulta
="select Estado from amigos where id_logueado=&#39;$id_usuario&#39; and id_amigo=&#39;$reg[id]&#39;";
$ejecuta=mysql_query($consulta) or die("Problemas en el select:".mysql_error());
$cantidad=mysql_num_rows($ejecuta);
$consulta1="select Estado from amigos where id_logueado=&#39;$reg[id]&#39; and id_amigo=&#39;$id_usuario&#39;";
$ejecuta1=mysql_query($consulta1) or die ("Problemas en el select:".mysql_error());
$cantidad1=mysql_num_rows($ejecuta1);
if(
$cantidad 0)
{
$row mysql_fetch_assoc($ejecuta);
switch(
$row[&#39;Estado&#39;])
{
case &
#39;pendiente&#39;:
echo &#39;<div class="amigos">Ya mandaste petición</div>&#39;;
echo $reg[&#39;nombre&#39;];
break;
case &
#39;aceptado&#39;:
echo &#39;<a href="perfil.php?id=&#39;.$reg[&#39;id&#39;].&#39;">&#39;.$reg[&#39;nombre&#39;].&#39;</a>&#39;;
break;

}
}
elseif(
$cantidad1 0)
{
$row1mysql_fetch_assoc($ejecuta1);
switch(
$row1[&#39;Estado&#39;])
{
case &
#39;pendiente&#39;:
echo &#39;<div class="amigos">
<form action="agregara.php" method="post">
<
input type="hidden" name="id" value="&#39;.$reg[&#39;id&#39;].&#39;">
<
input type="hidden" name="accion" value="modificar">
<
input type="submit" value="Aceptar petición">
</
form>
</
div>&#39;;
echo $reg[&#39;nombre&#39;];
break;
case &
#39;aceptado&#39;:
echo &#39;<a href="perfil.php?id=&#39;.$reg[&#39;id&#39;].&#39;">&#39;.$reg[&#39;nombre&#39;].&#39;</a>&#39;;
break;
}
}
else
{
echo &
#39;<div class="amigos">
<form action="agregara.php" method="post">
<
input type="hidden" name="id" value="&#39;.$reg[&#39;id&#39;].&#39;">
<
input type="hidden" name="accion" value="insertar">
<
input type="submit" value="Agregar Amigos">
</
form>
</
div>&#39;;
echo $reg[&#39;nombre&#39;];
}



?>







<div id="consulta"></div>
<? } ?>


<?php
// Fin de $_SESSION[&#39;user_nombre&#39;].
} else { header("Location: acceso.php"); }
?>

agregara.php
Código: [Seleccionar]
<?php
// OBLIGATORIO.
session_start();
include(&
#39;includes/conectar_db.php&#39;);
if(isset($_SESSION[&#39;user_nombre&#39;])) {
include(&#39;includes/funciones.php&#39;);
?>





<?php
$nombre 
=$_SESSION[&#39;user_nombre&#39;];
$id_usuario=$_SESSION[&#39;user_id&#39;];
?>


<?php
$id_amigo
=$_POST[&#39;id&#39;];
$accion=$_POST[&#39;accion&#39;];
echo "$accion <br>";
echo 
"$id_usuario <br>";
echo 
"$id_amigo";
include(
"config.php");
switch(
$accion) {
case &
#39;insertar&#39;:
$registros=mysql_query("insert into amigos (id, id_logueado, id_amigo, Estado) values (&#39;null&#39;,&#39;$id_usuario&#39;,&#39;$id_amigo&#39;,&#39;pendiente&#39;)",$conexion);
break;
case &
#39;modificar&#39;:
$registros2=mysql_query("update amigos set Estado=&#39;aceptado&#39; where id_amigo=&#39;$id_usuario&#39;",$conexion);
break;
/*case &#39;delete&#39;:
echo "";
break;*/
}
?>

<?php
// Fin de $_SESSION[&#39;user_nombre&#39;].
} else { header("Location: acceso.php"); }
?>

amigos.sql
Código: [Seleccionar]
CREATE TABLE `amigos` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`id_logueado` varchar(30) COLLATE latin1_general_ci NOT NULL,
`id_amigo` varchar(30) COLLATE latin1_general_ci NOT NULL,
`Estado` varchar(30) COLLATE latin1_general_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=2 ;
« Última modificación: 22 de Marzo de 2012, 18:33:32 pm por maska »

Comunidad PHPeros

Agregar y eliminar amigos, adaptación al sistema de users. [AYUDA]
« en: 22 de Marzo de 2012, 14:48:11 pm »

Desconectado MEJORENHO

  • PHPer@ Fijo
  • ***
  • Mensajes: 204
  • Karma: 3
  • Sexo: Masculino
    • Ver Perfil
    • Beeme
Re:Agregar y eliminar amigos, adaptación al sistema de users. [AYUDA]
« Respuesta #1 en: 22 de Marzo de 2012, 15:37:15 pm »
Hola amigos.

Tengo un Sistema de Usuarios al cual quiero adaptarle un código que ví en una página. Ya que no soy capaz de montar un Sistema de Agregar y Eliminar amigos desde cero porque me hago un lío.
Mi idea, como he dicho es adaptarlo con vuestra ayuda. Así que a continuación os pongo el código de mi Sistema de Usuarios y el código de gente.php y agregara.php

Sistema de Usuarios

acceso.php
Código: [Seleccionar]
<form action="comprobar.php" method="post">
            <label>Usuario:</label>
            <br />
            <input type="text" name="user_nombre" /><br />
            <label>Contraseña:</label>
            <br />
            <input type="password" name="user_clave" /><br />
            <br />
            <br />
            <input type="submit" name="enviar" value="Ingresar" /> | <a href="registro.php">Regístrate </a>
        </form>

comprobar.php
Código: [Seleccionar]
<?php
    session_start
();
    include(&
#39;includes/conectar_db.php&#39;);
    
if(isset($_POST[&#39;enviar&#39;])) { // Comprobamos que se hayan enviado los datos del formulario.



// Comprobamos que los campos user_nombre y user_clave no estén vacíos.
        
if(empty($_POST[&#39;user_nombre&#39;]) || empty($_POST[&#39;user_clave&#39;])) {
            
echo "No has introducido todo tus datos. <a href=&#39;javascript:history.back();&#39;>Reintentar</a>";
        }else {
            
// "Limpiamos" los campos del formulario de posibles códigos maliciosos.
            
$user_nombre mysql_real_escape_string($_POST[&#39;user_nombre&#39;]);
            
$user_clave mysql_real_escape_string($_POST[&#39;user_clave&#39;]);
            
$user_clave md5($user_clave);
            
// Comprobamos que los datos ingresados en el formulario coincidan con los de la base de datos.
            
$sql mysql_query("SELECT user_id, user_nombre, user_clave FROM users WHERE user_nombre=&#39;".$user_nombre."&#39; AND user_clave=&#39;".$user_clave."&#39;");
            if(
$row mysql_fetch_array($sql)) {
                
$_SESSION[&#39;user_id&#39;] = $row[&#39;user_id&#39;]; // Creamos la sesión "user_id" y le asignamos como valor el campo user_id.
                
$_SESSION[&#39;user_nombre&#39;] = $row[&#39;user_nombre&#39;]; // Creamos la sesión "user_nombre" y le asignamos como valor el campo user_nombre.
$_SESSION[&#39;ultimoAcceso&#39;]= date(&#39;Y-n-j H:i:s&#39;); // Creamos la sesión "ultimoAcceso" y le asignamos como valor date.
                
header("Location: acceso.php");

// Script: usuarios online. Comprobamos si ya se ha ingresado anteriormente.
$online mysql_query("SELECT onlineuser FROM online WHERE onlineuser=&#39;".$_POST[&#39;user_nombre&#39;]."&#39;");
$online_exist mysql_num_rows($online);
// Script: usuarios online. Si no existe ninguna coincidencia insertamos nueva conexión, de lo contrario actualizamos la conexión existente.
if($online_exist==0){
mysql_query("INSERT INTO `online` (`onlineuser`, `lastdate`, `ip`) VALUES (&#39;".$_POST[&#39;user_nombre&#39;]."&#39;, &#39;".time()."&#39;, &#39;".$_SERVER[&#39;REMOTE_ADDR&#39;]."&#39;)") or die(mysql_error());
}else{
mysql_query("UPDATE online SET lastdate=&#39;".time()."&#39;,ip=&#39;".$_SERVER[&#39;REMOTE_ADDR&#39;]."&#39; WHERE onlineuser=&#39;".$_POST[&#39;user_nombre&#39;]."&#39;") or die(mysql_error());
// Fin de script: usuarios online

            }else {
?>

                Ha ocurrido un error. <a href="acceso.php">Reintentar</a>
<?php
            
}
        }
    }else {

        
header("Location: acceso.php");
    }
?>

perfil.php
Código: [Seleccionar]
<?php
// OBLIGATORIO.
session_start();
include(&
#39;includes/conectar_db.php&#39;);
if(isset($_SESSION[&#39;user_nombre&#39;])) {
include(&#39;includes/funciones.php&#39;);

// Datos de perfil.php
$perfil mysql_query("SELECT * FROM users WHERE user_id=&#39;".$_GET[&#39;user_id&#39;]."&#39;") or die(mysql_error());
    
if(mysql_num_rows($perfil)) { // Comprobamos que exista el registro con la ID ingresada.
        
$row mysql_fetch_array($perfil);
        
$user_id $row["user_id"];
        
$user_nombre $row["user_nombre"];
        
$user_email $row["user_email"];
        
$user_reg $row["user_reg"];
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Perfil</title>
<meta name="description" content="" />
<meta name="keywords" content="" />
<link rel="shortcut icon" href="imagenes/logotipo/">
<link href="css/plantilla.css" rel="stylesheet" type="text/css">
<link href="css/perfil.css" rel="stylesheet" type="text/css">
</head>
<body>
<?php include(&#39;includes/header.php&#39;); ?>
<div id="wrap" class="clearfix">
  <div id="container">
    <div id="margen-izq">
      <div class="div">
        <div class="titulo-div">Perfil</div><!-- class titulo-div -->
        <div id="datos-user">
          <p>ID: <?=$user_id?><br />
            Nombre: <?=$user_nombre?><br />
            Email: <?=$user_email?><br />
            Registro: <?=$user_reg?>
          </p>
          <p>&nbsp;</p>
          <p>&nbsp;</p>
        </div><!-- fin de datos-user -->
      </div><!-- class div -->     
    </div><!-- FIN de margen-izq -->
    <div id="center">
      <div class="div">
        <div class="titulo-div">Comentarios</div><!-- class titulo-div -->
        <div id="novedades" style="font-size:12px;">Si quieres trabajar con nosotros no dudes en contactar con nosotros. Si quieres trabajar con nosotros no dudes en contactar con nosotros. Si quieres trabajar con nosotros no dudes en contactar con nosotros. Si quieres trabajar con nosotros no dudes en contactar con nosotros. Si quieres trabajar con nosotros no dudes en contactar con nosotros. Si quieres trabajar con nosotros no dudes en contactar con nosotros.
        </div><!-- fin de novedades -->
      </div><!-- class div -->
    </div><!-- FIN de center -->
    <div id="margen-dcha">
      <div class="div">
        <div class="titulo-div">Fotografías</div><!-- class titulo-div -->
        <div id="proximamente">Álbum vacío.</div><!-- fin de proximamente -->
      </div><!-- class div -->
    </div><!-- FIN de margen-dcha -->
  </div><!-- FIN DE CONTAINER -->
  <?php include(&#39;includes/footer.php&#39;); ?>
</div><!-- FIN DE WRAP -->
</body>
</html>
<?php
// Fin de if(mysql_num_rows($perfil)) {.
} else { header("Location: inicio.php"); }

// Fin de $_SESSION[&#39;user_nombre&#39;].
} else { header("Location: acceso.php"); }
?>

gente.php y agregara.php

gente.php
Código: [Seleccionar]
<?php
// OBLIGATORIO.
session_start();
include(&
#39;includes/conectar_db.php&#39;);
if(isset($_SESSION[&#39;user_nombre&#39;])) {
include(&#39;includes/funciones.php&#39;);
?>





<?php
$nombre 
=$_SESSION[&#39;user_nombre&#39;];
$id_usuario=$_SESSION[&#39;user_id&#39;];
?>


<?php
include("config.php");
$registros=mysql_query("select * from users WHERE user_id != &#39;$id_usuario&#39; ORDER BY user_id desc "$conexion)or
die(
"Problemas en el select:".mysql_error());
$i=0;
while(
$reg=mysql_fetch_array($registros))
?>

<img src="<?php echo "".$reg[&#39;imagen&#39;]. "";?>" /><br />
<?php
$consulta
="select Estado from amigos where id_logueado=&#39;$id_usuario&#39; and id_amigo=&#39;$reg[id]&#39;";
$ejecuta=mysql_query($consulta) or die("Problemas en el select:".mysql_error());
$cantidad=mysql_num_rows($ejecuta);
$consulta1="select Estado from amigos where id_logueado=&#39;$reg[id]&#39; and id_amigo=&#39;$id_usuario&#39;";
$ejecuta1=mysql_query($consulta1) or die ("Problemas en el select:".mysql_error());
$cantidad1=mysql_num_rows($ejecuta1);
if(
$cantidad 0)
{
$row mysql_fetch_assoc($ejecuta);
switch(
$row[&#39;Estado&#39;])
{
case &
#39;pendiente&#39;:
echo &#39;<div class="amigos">Ya mandaste petición</div>&#39;;
echo $reg[&#39;nombre&#39;];
break;
case &
#39;aceptado&#39;:
echo &#39;<a href="perfil.php?id=&#39;.$reg[&#39;id&#39;].&#39;">&#39;.$reg[&#39;nombre&#39;].&#39;</a>&#39;;
break;

}
}
elseif(
$cantidad1 0)
{
$row1mysql_fetch_assoc($ejecuta1);
switch(
$row1[&#39;Estado&#39;])
{
case &
#39;pendiente&#39;:
echo &#39;<div class="amigos">
<form action="agregara.php" method="post">
<
input type="hidden" name="id" value="&#39;.$reg[&#39;id&#39;].&#39;">
<
input type="hidden" name="accion" value="modificar">
<
input type="submit" value="Aceptar petición">
</
form>
</
div>&#39;;
echo $reg[&#39;nombre&#39;];
break;
case &
#39;aceptado&#39;:
echo &#39;<a href="perfil.php?id=&#39;.$reg[&#39;id&#39;].&#39;">&#39;.$reg[&#39;nombre&#39;].&#39;</a>&#39;;
break;
}
}
else
{
echo &
#39;<div class="amigos">
<form action="agregara.php" method="post">
<
input type="hidden" name="id" value="&#39;.$reg[&#39;id&#39;].&#39;">
<
input type="hidden" name="accion" value="insertar">
<
input type="submit" value="Agregar Amigos">
</
form>
</
div>&#39;;
echo $reg[&#39;nombre&#39;];
}



?>







<div id="consulta"></div>
<? } ?>


<?php
// Fin de $_SESSION[&#39;user_nombre&#39;].
} else { header("Location: acceso.php"); }
?>

agregara.php
Código: [Seleccionar]
<?php
// OBLIGATORIO.
session_start();
include(&
#39;includes/conectar_db.php&#39;);
if(isset($_SESSION[&#39;user_nombre&#39;])) {
include(&#39;includes/funciones.php&#39;);
?>





<?php
$nombre 
=$_SESSION[&#39;user_nombre&#39;];
$id_usuario=$_SESSION[&#39;user_id&#39;];
?>


<?php
$id_amigo
=$_POST[&#39;id&#39;];
$accion=$_POST[&#39;accion&#39;];
echo "$accion <br>";
echo 
"$id_usuario <br>";
echo 
"$id_amigo";
include(
"config.php");
switch(
$accion) {
case &
#39;insertar&#39;:
$registros=mysql_query("insert into amigos (id, id_logueado, id_amigo, Estado) values (&#39;null&#39;,&#39;$id_usuario&#39;,&#39;$id_amigo&#39;,&#39;pendiente&#39;)",$conexion);
break;
case &
#39;modificar&#39;:
$registros2=mysql_query("update amigos set Estado=&#39;aceptado&#39; where id_amigo=&#39;$id_usuario&#39;",$conexion);
break;
/*case &#39;delete&#39;:
echo "";
break;*/
}
?>

<?php
// Fin de $_SESSION[&#39;user_nombre&#39;].
} else { header("Location: acceso.php"); }
?>

No entiendo, el código ya está montado :S

¿Qué es lo que quieres adaptar?

Desconectado maska

  • PHPer@ Fijo
  • ***
  • Mensajes: 126
  • Karma: 2
  • Nuev@ PHPer@
    • Ver Perfil
Re:Agregar y eliminar amigos, adaptación al sistema de users. [AYUDA]
« Respuesta #2 en: 22 de Marzo de 2012, 16:44:22 pm »
Citar
No entiendo, el código ya está montado :S

¿Qué es lo que quieres adaptar?

En gente.php me imprime esto:

Notice: Undefined index: id in C:\xampp\htdocs\webs\proyectoweb2\gente.php on line 26

Notice: Undefined index: id in C:\xampp\htdocs\webs\proyectoweb2\gente.php on line 29

Notice: Undefined index: id in C:\xampp\htdocs\webs\proyectoweb2\gente.php on line 71

-------------------------------

Línea 26: $consulta="select Estado from amigos where id_logueado='$id_usuario' and id_amigo='$reg[id]'";
Línea 29: $consulta1="select Estado from amigos where id_logueado='$reg[id]' and id_amigo='$id_usuario'";
Línea 71: <input type="hidden" name="id" value="'.$reg['id'].'">

Creo que no reconoce el $reg['id'] porque no la tengo declarada. Entonces mi pregunta sería, con los datos de mi Sistema de Usuarios, ¿cómo lo podría solucionar?

Muchas gracias chicos.

Desconectado maska

  • PHPer@ Fijo
  • ***
  • Mensajes: 126
  • Karma: 2
  • Nuev@ PHPer@
    • Ver Perfil
Re:Agregar y eliminar amigos, adaptación al sistema de users. [AYUDA]
« Respuesta #3 en: 22 de Marzo de 2012, 16:59:38 pm »
En gente.php me imprime esto:

Notice: Undefined index: id in C:\xampp\htdocs\webs\proyectoweb2\gente.php on line 26

Notice: Undefined index: id in C:\xampp\htdocs\webs\proyectoweb2\gente.php on line 29

Notice: Undefined index: id in C:\xampp\htdocs\webs\proyectoweb2\gente.php on line 71

-------------------------------

Línea 26: $consulta="select Estado from amigos where id_logueado='$id_usuario' and id_amigo='$reg[id]'";
Línea 29: $consulta1="select Estado from amigos where id_logueado='$reg[id]' and id_amigo='$id_usuario'";
Línea 71: <input type="hidden" name="id" value="'.$reg['id'].'">

Creo que no reconoce el $reg['id'] porque no la tengo declarada. Entonces mi pregunta sería, con los datos de mi Sistema de Usuarios, ¿cómo lo podría solucionar?

Muchas gracias chicos.

Ya está solucionado. En vez de $reg['id'] era $reg['user_id'].

---------------

Lo que sí, es que en el archivo agregar.php me aparece esto:

Notice: Undefined index: id in C:\xampp\htdocs\webs\proyectoweb2\agregara.php on line 18

Notice: Undefined index: accion in C:\xampp\htdocs\webs\proyectoweb2\agregara.php on line 19

Línea 18: $id_amigo=$_POST['id'];
Línea 19: $accion=$_POST['accion'];

¿A qué es debido? Gracias de nuevo.

Desconectado Slipknot

  • PHPer@
  • **
  • Mensajes: 60
  • Karma: 0
  • Sexo: Masculino
    • Ver Perfil
Re:Agregar y eliminar amigos, adaptación al sistema de users. [AYUDA]
« Respuesta #4 en: 22 de Marzo de 2012, 17:17:23 pm »
Lo que sí, es que en el archivo agregar.php me aparece esto:

Notice: Undefined index: id in C:\xampp\htdocs\webs\proyectoweb2\agregara.php on line 18

Notice: Undefined index: accion in C:\xampp\htdocs\webs\proyectoweb2\agregara.php on line 19

Línea 18: $id_amigo=$_POST['id'];
Línea 19: $accion=$_POST['accion'];

¿A qué es debido? Gracias de nuevo.

Es porque las variables no estan definidas, se da por hecho que al acceder al archivo sera por POST, por lo que si el metodo es GET o cualquier otro va a generar el error. Un quick hack seria anteponer & al $_POST

$id_amigo=&$_POST[&#39;id&#39;];
$accion=&$_POST[&#39;accion&#39;];


Aunque a mi modo de ver no es una solucion tal cual, lo mejor seria comprobar si las variables existen, se proceda a...

if(isset($_POST[&#39;id&#39;]) && isset($_POST[&#39;accion&#39;])) {
$id_amigo=$_POST[&#39;id&#39;];
$accion=$_POST[&#39;accion&#39;];
} else {
# Accion a realizar en caso de que las variables no esten definidas... Ejemplo
$id_amigo NULL;
$accion NULL;
}
"He omitido intencionalmente los acentos en la mayoría de mis mensajes"

Desconectado maska

  • PHPer@ Fijo
  • ***
  • Mensajes: 126
  • Karma: 2
  • Nuev@ PHPer@
    • Ver Perfil
Re:Agregar y eliminar amigos, adaptación al sistema de users. [AYUDA]
« Respuesta #5 en: 22 de Marzo de 2012, 17:30:25 pm »
Me funciona a la perfeción pero si ingreso con Admin por ejemplo y agrego a Pepe, me dice petición pendiente (lo registra 100% en la bd). Pero si ingreso con Pepe, no veo la petición para aceptar. ¿A qué es debido? ¿Qué hago mal?

Desconectado maska

  • PHPer@ Fijo
  • ***
  • Mensajes: 126
  • Karma: 2
  • Nuev@ PHPer@
    • Ver Perfil
Re:Agregar y eliminar amigos, adaptación al sistema de users. [AYUDA]
« Respuesta #6 en: 22 de Marzo de 2012, 18:03:09 pm »
Citar
Es porque las variables no estan definidas, se da por hecho que al acceder al archivo sera por POST, por lo que si el metodo es GET o cualquier otro va a generar el error. Un quick hack seria anteponer & al $_POST

$id_amigo=&$_POST[&#39;id&#39;];
$accion=&$_POST[&#39;accion&#39;];


Aunque a mi modo de ver no es una solucion tal cual, lo mejor seria comprobar si las variables existen, se proceda a...

if(isset($_POST[&#39;id&#39;]) && isset($_POST[&#39;accion&#39;])) {
$id_amigo=$_POST[&#39;id&#39;];
$accion=$_POST[&#39;accion&#39;];
} else {
# Accion a realizar en caso de que las variables no esten definidas... Ejemplo
$id_amigo NULL;
$accion NULL;
}


¿También serviría para $nombre_usuario=&$_SESSION['user_nombre'];?

Desconectado Slipknot

  • PHPer@
  • **
  • Mensajes: 60
  • Karma: 0
  • Sexo: Masculino
    • Ver Perfil
Re:Agregar y eliminar amigos, adaptación al sistema de users. [AYUDA]
« Respuesta #7 en: 22 de Marzo de 2012, 18:17:42 pm »
¿También serviría para $nombre_usuario=&$_SESSION['user_nombre'];?

Teoricamente, si, aunque nunca lo he hecho :confused:

Pero si ingreso con Pepe, no veo la petición para aceptar. ¿A qué es debido? ¿Qué hago mal?

hmm.. cual es el archivo que muestra la peticion, gente.php? Podrias poner la tabla "amigos", ya que sin ella es mas complicado saber ;)
"He omitido intencionalmente los acentos en la mayoría de mis mensajes"

Desconectado maska

  • PHPer@ Fijo
  • ***
  • Mensajes: 126
  • Karma: 2
  • Nuev@ PHPer@
    • Ver Perfil
Re:Agregar y eliminar amigos, adaptación al sistema de users. [AYUDA]
« Respuesta #8 en: 22 de Marzo de 2012, 18:32:52 pm »
Citar
hmm.. cual es el archivo que muestra la peticion, gente.php? Podrias poner la tabla "amigos", ya que sin ella es mas complicado saber ;)

El que muestra la petición es gente.php. Más arribita puse el archivo gente.php detallado. Y he subido el sql de amigos.

Desconectado maska

  • PHPer@ Fijo
  • ***
  • Mensajes: 126
  • Karma: 2
  • Nuev@ PHPer@
    • Ver Perfil
Re:Agregar y eliminar amigos, adaptación al sistema de users. [AYUDA]
« Respuesta #9 en: 22 de Marzo de 2012, 19:26:02 pm »
Ya sí. Ya logro verlo. De nuevo era un pequeño despiste mío.

Quiero ir más allá. Al visualizar en el navegador la página gente.php me hace un array de todos los usuarios registrados en la base de datos, y junto a cada nombre nombre hay un input que dice "Agregar amigo" o "Aceptar petición de amigo", éste último, en el caso de que nos agreguen a nosotros. El script funciona a la perfección, pero mi pregunta es la siguiente:

- ¿Cómo podría hacer para que el mensaje de << Nombre_X     "Clic aquí para aceptar petición de amigo" >> me lo notificara en un DIV llamado "notificaciones" de la página de inicio.php
     * Ejemplo: Tienes 3 peticiones de amigo. Y que al pulsar en ese 3 mostrara solamente las tres personas que están interesadas en que yo le agregue concretamente.

Agradecería mucho vuestras ayudas.

Desconectado Animus

  • PHPero Avanzado
  • ****
  • Mensajes: 273
  • Karma: 1
  • Sexo: Masculino
  • Aprende a aprender, el resto vendrá solo.
    • Ver Perfil
Re:Agregar y eliminar amigos, adaptación al sistema de users. [AYUDA]
« Respuesta #10 en: 22 de Marzo de 2012, 19:40:28 pm »
Código: [Seleccionar]
<html>
<div id="notificaciones">
<?php
$solicitudes_amistad 
=mysql_fetch_assoc(mysql_query("SELECT * FROM solicitudes WHERE para =&#39;".$_SESSION[&#39;usuario&#39;]."&#39; ", $conexion));
?>


Hola <b><?php echo $_SESSION[&#39;usuario&#39;]; ?></b>, tienes solicitudes de amistad:
De: <?php echo $solicitudes_amistad[&#39;de&#39;]; ?>, <a href="aceptar.php?id_solicitud=<?php echo $solicitud_amistad[&#39;id&#39;];?>&aceptar=1>Aceptar</a> - Denegar
</div>
</html>

Denegar es lo mismo, pero con aceptar 0, o como tu quieras hacerlo,  lo he hecho abstractamente por que no he mirado tus tablas, adaptalo a tus necessidades, pero si te he entendido bien es más o menos algo así, y si no dimelo :D


La red social de tus sueños.


Desconectado Slipknot

  • PHPer@
  • **
  • Mensajes: 60
  • Karma: 0
  • Sexo: Masculino
    • Ver Perfil
Re:Agregar y eliminar amigos, adaptación al sistema de users. [AYUDA]
« Respuesta #11 en: 22 de Marzo de 2012, 19:44:35 pm »
Ya sí. Ya logro verlo. De nuevo era un pequeño despiste mío.

Que bueno que lo hayas resuelto, pero el script esta terriblemente mal programado. Tal como esta hara por lo menos el doble de consultas a MySQL de los usuarios que tengas registrados, lo que supone que tu sitio tarde o temprano consumira "muchos recursos" y podria ir lento, entre otros :confused:

Referente a tu duda, debes hacer una consulta a la base de datos, algo asi:

$query mysql_query("select * from amigos where id_logueado=&#39;$id_usuario&#39; && Estado=&#39;pendiente&#39; order by id desc limit 0,3");
"He omitido intencionalmente los acentos en la mayoría de mis mensajes"

Desconectado Animus

  • PHPero Avanzado
  • ****
  • Mensajes: 273
  • Karma: 1
  • Sexo: Masculino
  • Aprende a aprender, el resto vendrá solo.
    • Ver Perfil
Re:Agregar y eliminar amigos, adaptación al sistema de users. [AYUDA]
« Respuesta #12 en: 22 de Marzo de 2012, 20:06:26 pm »
cuando hagas las consultas slipknot recomiendo que las sintaxis del servidor SQL la separes por letras mayúsculas SELECT name FROM user (EJ)..

pero cada uno tiene su manera, mi código no ha servidor ?


La red social de tus sueños.


Desconectado maska

  • PHPer@ Fijo
  • ***
  • Mensajes: 126
  • Karma: 2
  • Nuev@ PHPer@
    • Ver Perfil
Re:Agregar y eliminar amigos, adaptación al sistema de users. [AYUDA]
« Respuesta #13 en: 22 de Marzo de 2012, 20:15:41 pm »
cuando hagas las consultas slipknot recomiendo que las sintaxis del servidor SQL la separes por letras mayúsculas SELECT name FROM user (EJ)..

pero cada uno tiene su manera, mi código no ha servidor ?

Lo estoy adaptando con mis variables. Ahora comento amigos.

Desconectado Slipknot

  • PHPer@
  • **
  • Mensajes: 60
  • Karma: 0
  • Sexo: Masculino
    • Ver Perfil
Re:Agregar y eliminar amigos, adaptación al sistema de users. [AYUDA]
« Respuesta #14 en: 22 de Marzo de 2012, 20:25:17 pm »
cuando hagas las consultas slipknot recomiendo que las sintaxis del servidor SQL la separes por letras mayúsculas SELECT name FROM user (EJ)..

Sabes por que o para que "se debe separar" la estructura SQL en mayusculas?

pero cada uno tiene su manera, mi código no ha servidor ?

Servir..? :confused: Si, debe de, al igual que el mio (tomando en cuenta que ambos son ejemplos nada mas y que, obviamente, se deben realizar las correciones pertinentes ;)). Cual es el punto?
"He omitido intencionalmente los acentos en la mayoría de mis mensajes"