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
<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
<?php
session_start();
include('includes/conectar_db.php');
if(isset($_POST['enviar'])) { // 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['user_nombre']) || empty($_POST['user_clave'])) {
echo "No has introducido todo tus datos. <a href='javascript:history.back();'>Reintentar</a>";
}else {
// "Limpiamos" los campos del formulario de posibles códigos maliciosos.
$user_nombre = mysql_real_escape_string($_POST['user_nombre']);
$user_clave = mysql_real_escape_string($_POST['user_clave']);
$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='".$user_nombre."' AND user_clave='".$user_clave."'");
if($row = mysql_fetch_array($sql)) {
$_SESSION['user_id'] = $row['user_id']; // Creamos la sesión "user_id" y le asignamos como valor el campo user_id.
$_SESSION['user_nombre'] = $row['user_nombre']; // Creamos la sesión "user_nombre" y le asignamos como valor el campo user_nombre.
$_SESSION['ultimoAcceso']= date('Y-n-j H:i:s'); // 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='".$_POST['user_nombre']."'");
$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 ('".$_POST['user_nombre']."', '".time()."', '".$_SERVER['REMOTE_ADDR']."')") or die(mysql_error());
}else{
mysql_query("UPDATE online SET lastdate='".time()."',ip='".$_SERVER['REMOTE_ADDR']."' WHERE onlineuser='".$_POST['user_nombre']."'") 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
<?php
// OBLIGATORIO.
session_start();
include('includes/conectar_db.php');
if(isset($_SESSION['user_nombre'])) {
include('includes/funciones.php');
// Datos de perfil.php
$perfil = mysql_query("SELECT * FROM users WHERE user_id='".$_GET['user_id']."'") 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('includes/header.php'); ?>
<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> </p>
<p> </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('includes/footer.php'); ?>
</div><!-- FIN DE WRAP -->
</body>
</html>
<?php
// Fin de if(mysql_num_rows($perfil)) {.
} else { header("Location: inicio.php"); }
// Fin de $_SESSION['user_nombre'].
} else { header("Location: acceso.php"); }
?>
gente.php y agregara.php
gente.php
<?php
// OBLIGATORIO.
session_start();
include('includes/conectar_db.php');
if(isset($_SESSION['user_nombre'])) {
include('includes/funciones.php');
?>
<?php
$nombre =$_SESSION['user_nombre'];
$id_usuario=$_SESSION['user_id'];
?>
<?php
include("config.php");
$registros=mysql_query("select * from users WHERE user_id != '$id_usuario' 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['imagen']. "";?>" /><br />
<?php
$consulta="select Estado from amigos where id_logueado='$id_usuario' and id_amigo='$reg[id]'";
$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='$reg[id]' and id_amigo='$id_usuario'";
$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['Estado'])
{
case 'pendiente':
echo '<div class="amigos">Ya mandaste petición</div>';
echo $reg['nombre'];
break;
case 'aceptado':
echo '<a href="perfil.php?id='.$reg['id'].'">'.$reg['nombre'].'</a>';
break;
}
}
elseif($cantidad1 > 0)
{
$row1= mysql_fetch_assoc($ejecuta1);
switch($row1['Estado'])
{
case 'pendiente':
echo '<div class="amigos">
<form action="agregara.php" method="post">
<input type="hidden" name="id" value="'.$reg['id'].'">
<input type="hidden" name="accion" value="modificar">
<input type="submit" value="Aceptar petición">
</form>
</div>';
echo $reg['nombre'];
break;
case 'aceptado':
echo '<a href="perfil.php?id='.$reg['id'].'">'.$reg['nombre'].'</a>';
break;
}
}
else
{
echo '<div class="amigos">
<form action="agregara.php" method="post">
<input type="hidden" name="id" value="'.$reg['id'].'">
<input type="hidden" name="accion" value="insertar">
<input type="submit" value="Agregar Amigos">
</form>
</div>';
echo $reg['nombre'];
}
?>
<div id="consulta"></div>
<? } ?>
<?php
// Fin de $_SESSION['user_nombre'].
} else { header("Location: acceso.php"); }
?>
agregara.php
<?php
// OBLIGATORIO.
session_start();
include('includes/conectar_db.php');
if(isset($_SESSION['user_nombre'])) {
include('includes/funciones.php');
?>
<?php
$nombre =$_SESSION['user_nombre'];
$id_usuario=$_SESSION['user_id'];
?>
<?php
$id_amigo=$_POST['id'];
$accion=$_POST['accion'];
echo "$accion <br>";
echo "$id_usuario <br>";
echo "$id_amigo";
include("config.php");
switch($accion) {
case 'insertar':
$registros=mysql_query("insert into amigos (id, id_logueado, id_amigo, Estado) values ('null','$id_usuario','$id_amigo','pendiente')",$conexion);
break;
case 'modificar':
$registros2=mysql_query("update amigos set Estado='aceptado' where id_amigo='$id_usuario'",$conexion);
break;
/*case 'delete':
echo "";
break;*/
}
?>
<?php
// Fin de $_SESSION['user_nombre'].
} else { header("Location: acceso.php"); }
?>
amigos.sql
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 ;