En mi sitio web ingresan los usuarios sin problemas, acceden a su perfil, pero necesito saber como bloquear para que no puedan ver otros perfiles, por ejemplo mi perfil está en: perfil.php?id=3
Pero si lo cambio por perfil.php?id=2, entro directamente a otro perfil y puedo ver sus datos sin problemas, el código de perfil.php es el siguiente:
Código PHP:
<?php
session_start();
include('config/acceso_db.php');
$perfil = mysql_query("SELECT * FROM usuarios WHERE usuario_id='".$_GET['id']."'") or die(mysql_error());
if(mysql_num_rows($perfil)) { // Comprobamos que exista el registro con la ID ingresada
$row = mysql_fetch_array($perfil);
$id = $row["usuario_id"];
$nick = $row["usuario_nombre"];
$email = $row["usuario_email"];
$freg = $row["usuario_freg"];
?>
<strong>Nombre de Cliente:</strong> <?=$nick?><br />
<strong>Email:</strong> <?=$email?><br />
<strong>Registrado el:</strong> <?=$freg?><br />
<strong>URL del perfil:</strong> <a href="perfil.php?id=<?=$id?>">Click aquí</a>
<?php
}else {
?>
<p>El perfil seleccionado no existe o ha sido eliminado.</p>
<?php
}
?>
Código PHP:
<?php
session_start();
include('config/acceso_db.php');
if(isset($_POST['enviar'])) { // comprobamos que se hayan enviado los datos del formulario
// comprobamos que los campos usuarios_nombre y usuario_clave no estén vacíos
if(empty($_POST['usuario_email']) || empty($_POST['usuario_clave'])) {
echo "El email o la contraseña no han sido ingresados. <a href='javascript:history.back();'>Reintentar</a>";
}else {
// "limpiamos" los campos del formulario de posibles códigos maliciosos
$usuario_email = mysql_real_escape_string($_POST['usuario_email']);
$usuario_clave = mysql_real_escape_string($_POST['usuario_clave']);
$usuario_clave = md5($usuario_clave);
// comprobamos que los datos ingresados en el formulario coincidan con los de la BD
$sql = mysql_query("SELECT usuario_id, usuario_email, usuario_clave FROM usuarios WHERE usuario_email='".$usuario_email."' AND usuario_clave='".$usuario_clave."'");
if($row = mysql_fetch_array($sql)) {
$_SESSION['usuario_id'] = $row['usuario_id']; // creamos la sesion "usuario_id" y le asignamos como valor el campo usuario_id
$_SESSION['usuario_email'] = $row["usuario_email"]; // creamos la sesion "usuario_nombre" y le asignamos como valor el campo usuario_nombre
header("Location: index.php");
}else {
?>
Error, <a href="acceso.php">Reintentar</a>
<?php
}
}
}else {
header("Location: index.php");
}
?>
Código PHP:
<?php
if(isset($_SESSION['usuario_email'])) {
?>
<li class="highlighted">Bienvenido:<a class="key" href="perfil.php?id=<?=$_SESSION['usuario_id']?>"><strong><?=$_SESSION['usuario_email']?></strong></a> | <a class"key" href="logout.php">Cerrar Sesión</a> </li>
<?php
}
?>
Desde ya muchas gracias.
Saludos cordiales,
Mosiah