16
PHP / Re:[AYUDA] if(somos amigos) {veo tu perfil} else {no puedo}.
« en: 12 de Abril de 2012, 18:20:25 pm »OMG mejorenho, gracias hasta a mi me has resuelto dudas con tu ilustración, gracias!
Esque soy muy bueno haciendo esquemas
xddd
Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.
OMG mejorenho, gracias hasta a mi me has resuelto dudas con tu ilustración, gracias!
xddd
Te entiendo. Pero al tu segundo caso: comprobar si son amigos, ¿no te restringe el ver tu propio perfil?
Es que yo tengo esta estructura:
-Compruebo si existe el perfil del usuario.
- Compruebo si son amigos.
- Compruebo que soy yo mismo y entro a mi perfil.
Es parecida a tu estructura, pero claro, como comprobar que soy yo mismo para entrar a mi propio perfil está dentro de comprobar si somos amigos pues no me deja ver nunca mi propio perfil, porque nunca me tendre agregado yo mismo en la tabla de amigos.
Ese es mi dilema. A ver si tu me lo pueses mostrar un poco mas grafica la idea en plan: if(somos amigos) {...
Muchas gracias.
if(Comprobarexistenciadeperfil == no existe) { include("noexiste.php")
Ya comprobamos si existia o no el perfil, si no existe el perfil lo tenemos cubierto. Ahora simplemente mediante if, else y elseif comprobamos lo demas:
}else{
if(es mi perfil) {include miperfil }else
if(perfil amigo) { include perfil amigo }else
if(perfil no amigo) {
//Dentro de este como hay 2 comprobaciones mas, empezamos de nuevo:
if(perfil publico ) include perfil publico }else
if(perfil privado ) include perfil privado }
}
}
¿Alguna ayuda?
$consulta_insertar = "INSERT INTO images (id, id_user, image, name, weight, type) VALUES ('', '$id_user', '$binario_contenido', '$binario_nombre', '$binario_peso', '$binario_tipo')";$consulta_insertar = "INSERT INTO images (id_user, image, name, weight, type) VALUES ( '".$id_user."', '".$binario_contenido."', '".$binario_nombre."', '".$binario_peso."', '".$binario_tipo."')";
mysql_query($consulta_insertar,$conexion)or die(mysql_error());
En vez del error que le asignaste, para que de esta forma, mysql te de una respuesta.
Si no sabes como solucionar el error que mysql te dé, postealo aquí.
Estoy metido en un proyecto de creación de un bloque web el cual está todo gestionado por un panel de administración.
Creo este post para tener opiniones sobre que le incorporaríais o sobre que pensáis que tiene que tener minimamente una web.
Ya cuento con un sistema de noticias con comentarios, un sistema de usuarios y un panel que gestiona todo esto.
Que mas podría incorporarle?
Gracias.
¿Deberia de tener una pagina que se llamase miperfil.php la cual le digo que si existe la session con el nombre de usuario que deje ver la pagina miperfil.php, y otra pagina que se llame perfil.php que tenga el codigo ultimo que puse?
Podria ser una solucion. Ya que el codigo ultimo que puse me deja ver el perfil de otro usuario si lo tengo aceptado en la tabla amigos. Pero mi propio perfil no me deja debido a que no estoy en la tabla amigos.
Un saludo chicos.
<?php
// OBLIGATORIO.
session_start();
include('includes/conectar_db.php');
if(isset($_SESSION['user_nombre'])) {
include('includes/funciones.php');
$nombre_usuario =$_SESSION['user_nombre'];
$id_usuario=$_SESSION['user_id'];
//te cambio esto
$amigos = mysql_query("Select * from amigos where id_logueado = '".$_SESSION['user_id']."' and id_amigo = '".$id_amigo."' and estado = 'aceptado' OR id_logueado = '".$id_amigo."' and id_amigo = '".$_SESSION['user_id']."' and estado = 'aceptado'");
if(mysql_num_rows($amigos)) {
$row = mysql_fetch_array($amigos);
$id = $row["id"];
$id_logueado = $row["id_logueado"];
$id_amigo = $row["id_amigo"];
$Estado = $row["Estado"];
// 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_nombre = $row["user_nombre"];
?>
<!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'); ?>
PERFIL DE USUARIO
<?php include('includes/footer.php'); ?>
</body>
</html>
<?php
// Fin de if(mysql_num_rows($perfil)) {.
} else { header("Location: inicio.php"); }
} else {echo "no puedes ver la página de tu amigo";}
// Fin de $_SESSION['user_nombre'].
} else { header("Location: acceso.php"); }
?>Código: [Seleccionar]$amigos = mysql_query("SELECT * FROM amigos WHERE Estado='aceptado' and id_logueado='".$_SESSION['user_id']."' or id_amigo='".$_SESSION['user_id']."'") or die(mysql_error());
En esta linea, tienes que cambiar el or por and para que sea obligado y en id_amigo, tienes que indicar la id del amigo.
Si poner solo or, lo haces opcional con lo que te devuelve el perfil si id_logueado es tu id o si id_amigo es tu id.
Fijate bien, la idea es que te muestre el amigo si es amigo y si quieres abrir el perfil de esa persona, además de si estas logeado.
Quedatia así.Código: [Seleccionar]$amigos = mysql_query("SELECT * FROM amigos WHERE Estado='aceptado' and id_logueado='".$_SESSION['user_id']."' and id_amigo='".$id_amigo."'") or die(mysql_error());
$amigos = mysql_query("Select * from amigos where id_logueado = '".$_SESSION['user_id']."' and id_amigo = '".$id_amigo."' and estado = 'aceptado' OR id_logueado = '".$id_amigo."' and id_amigo = '".$_SESSION['user_id']."' and estado = 'aceptado'");
PD.
MEJORENHO cuando tengas terminada tu red social, pásanos el enlace para poder visualizarla y echarle un vistazo.
chechu_ iremos a medias en beneficios, pero en gastos también.
Con la API de YouTube se puede hacer TODO. Solo hay que investigar y leer.
Los distintos servicios web crean sus propios API para que podamos traer y hacer todo lo que necesitemos en un ambiente seguro.
¿Cómo podría hacer para que un usuario pudiese visitar aquellos perfiles los cuales tenga previamente agregado cómo amigo al usuario de dicho perfil?
Por ejemplo:
Me llamo Pepe y quiero entrar en el perfil de Marta. (imaginemos, de que no la tengo agregada como amiga) Entonces no puedo ver perfil. De lo contrario, de tenerla agregada cómo amiga me dejaría ir y visualizar el perfil de Marta
*NOTA: Tengo el sistema de agregar y eliminar amigos. Tan solo no sé cómo hacer este pequeño script, porque a pesar de que lo he intentado, no me funciona.
Esta es la base de datos que tengo para amigos.sqlCó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 ;
Este es el código que he podido sacar, pero no me funciona. ¿Alquién me ayuda?Código: [Seleccionar]<?php
// OBLIGATORIO.
session_start();
include('includes/conectar_db.php');
if(isset($_SESSION['user_nombre'])) {
$nombre_usuario =$_SESSION['user_nombre'];
$id_usuario=$_SESSION['user_id'];
$amigos = mysql_query("SELECT * FROM amigos WHERE Estado='aceptado'") or die(mysql_error());
if(mysql_num_rows($amigos)) {
$row = mysql_fetch_array($amigos);
$id = $row["id"];
$id_logueado = $row["id_logueado"];
$id_amigo = $row["id_amigo"];
$Estado = $row["Estado"];
if ($id_amigo=="$id_usuario" or $id_logueado=="$id_usuario") {
echo "pagina de tu amigo";
} else {echo "no puedes ver la página de tu amigo";}
// Fin de if(mysql_num_rows($perfil)) {.
} else { echo "inicio.php"; }
// Fin de $_SESSION['user_nombre'].
} else { echo "acceso.php"; }
?>
Hola amigos.
Tengo la siguiente tabla en mi base de datos:Código: [Seleccionar]CREATE TABLE images (
id int(10) unsigned NOT NULL auto_increment,
image blob NOT NULL,
name varchar(255) NOT NULL default '',
weight varchar(15) NOT NULL default '',
type varchar(25) NOT NULL default '',
PRIMARY KEY (id)
) ENGINE=MyISAM;
Con el código de php y todo funciona muy bien.
Tengo un sistema de login o usuarios, cómo lo queráis llamar, y cada usuario tiene su respectivo perfil: perfil.php?id_user=25.
La pregunta es la siguiente: ¿cómo selecciono las fotografías de cada usuario si en la tabla images no tengo ningún campo sobre id de usuario?
Yo mismo he intentado sacar algunas conclusiones, pero cómo no sé si estoy en lo cierto, es por lo que estoy aquí preguntando, para que me aconsejéis.
Mi idea era crear una columna en la tabla images con el nombre de id_user, para cuando quiera seleccionar las fotografías del usuario 25, por ejemplo, tan solo haga un SELECT en la tabla images, WHERE id_user='$id_user', dónde $id_user, será una variable igualada al registro de dicha id de usuario.
¿Estoy en lo cierto?