Foros del Web » Programando para Internet » PHP »

por que el perfil de usuarios no se mostra

Estas en el tema de por que el perfil de usuarios no se mostra en el foro de PHP en Foros del Web. hola a todos miren tengo un sistema de usuarios con base de datos *esta es mi tabla:* CREATE TABLE IF NOT EXISTS `usuarios` ( `usuario_id` ...
  #1 (permalink)  
Antiguo 15/11/2013, 04:32
all7
Invitado
 
Mensajes: n/a
Puntos:
por que el perfil de usuarios no se mostra

hola a todos miren tengo un sistema de usuarios con base de datos

*esta es mi tabla:*


CREATE TABLE IF NOT EXISTS `usuarios` (
`usuario_id` int(4) NOT NULL AUTO_INCREMENT,
`usuario_nombre` varchar(15) NOT NULL DEFAULT '',
`usuario_clave` varchar(32) NOT NULL DEFAULT '',
`usuario_email` varchar(50) NOT NULL DEFAULT '',
`usuario_freg` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`tipo` enum('2','1') NOT NULL DEFAULT '2',
`facebook` varchar(250) NOT NULL,
`twitter` varchar(250) NOT NULL,
`imagen` varchar(500) NOT NULL,
PRIMARY KEY (`usuario_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

*esto para registra los usuarios*


<html>

<head></head>

<body>

<form name="subirImagen" method="post" action="subir.php" enctype="multipart/form-data">

<label>Usuario:</label><br />
<input type="text" name="usuario_nombre" maxlength="15" /><br />

<label>Contraseña:</label><br />
<input type="password" name="usuario_clave" maxlength="15" /><br />
<label>Confirmar Contraseña:</label><br />
<input type="password" name="usuario_clave_conf" maxlength="15" /><br />
<label>Email:</label><br />
<input type="text" name="usuario_email" maxlength="50" /><br />

<p>
<label for="picture">Imagen:</label>
<input type="file" name="imagen" id="picture"/>
</p>
<p>
<input type="submit" name="btnSubir" value="Subir imagen"/>
</p>
</form>
</body>

</html>

*y esto es comprobar los usuarios*

<?php
session_start();
?>
<?php
include ("acceso_db.php"); session_start();
$usuario = strtolower($_POST["usuario"]);
$password = $_POST["password"];
if($usuario!= "" && $password!= "")
{
$sql = mysql_query('SELECT * FROM usuarios WHERE usuario="'.$usuario.'"');
if($f= mysql_fetch_array($sql)){
if($f["password"] == $password){
$_SESSION["id"] = $f['id'];
$_SESSION["k_username"] = $f['usuario'];
$_SESSION["email"]=$f['email'];
$_SESSION["fecha"]=$f['fecha'];
$_SESSION["foto"]=$f['foto'];
echo 'Has sido logueado correctamente '.$_SESSION['k_username'].' <p>';
echo '<a href="acceso.php">acceso</a></p>';

}else{
echo 'Password incorrecto';
echo '<a href="acceso.php">Index</a></p>';
}
}else{
echo 'Usuario no existente en la base de datos ';
echo '<a href="acceso.php">Index</a></p>';
}

}

?>

<div align="right">
<p>Hola <strong><?=$_SESSION['usuario_nombre']?></strong> |
<a href="logout.php">Salir</a></p>
</div>

<div align="center">
<h2><? echo $nombre ?></h2>
</div>

<center>
<a href="perfil.php?id=<?=$_SESSION['usuario_id']?>">Ir a tu perfil</a> |

<a href="usuarios.php">Lista de usuarios</a>
</center>
<?php

?>


vale el problema que los datos se registran bien en la base de datos pero a hacer un loquedo no puedo entrar y mi sale este mensaje
*El usuario o perfil que buscas no existe .-.*

el perfil es este

<? include '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);
$usuario_id = $row["usuario_id"];
$usuario_nombre = $row["usuario_nombre"];
$usuario_email = $row["usuario_email"];
$usuario_freg = $row["usuario_freg"];
$facebook = $row["facebook"];
$twitter = $row["twitter"];
$avatar = $row["avatar"];
?>

<html>

<head>
<title>Perfil de <?=$usuario_nombre?> | Tu web</title>
</head>

<body>

<h2><? echo $nombre ?></h2>

<div id="menu">
<a href="usuarios.php">Usuarios</a> |
<a href="acceso.php">Acceso-Portal</a>
</div>

<h2>Perfil de <?=$usuario_nombre?></h2>

<img src="<?=$avatar?>" width="200" height="200" />

<p>Email: <?=$usuario_email?></p>
<p>Fecha de registro: <?=$usuario_freg?></p>


</body>

</html>

<? } else { ?>

<p>El usuario o perfil que buscas no existe .-.</p>
<a href="usuarios.php"><button>Lista de usuarios</button></a>

<? } ?>

alguien puede ayudarme en esto gracias
  #2 (permalink)  
Antiguo 15/11/2013, 08:20
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 15 años, 6 meses
Puntos: 175
Respuesta: por que el perfil de usuarios no se mostra

La verdad, me da pereza copiar y pegar todo el código en un editor para entenderlo.

Porque no nos ayudas con eso, organizas bien tu código y le pones resaltador de código, así no será doble trabajo. Creo que podemos ayudarte con el problema.

El QUICK esta aqui, por algo está entrando en el ELSE de la condición, pero no se ni donde empieza ni donde continúa tu codificación...

Código PHP:
Ver original
  1. <? } else { ?>
  2.  
  3. <p>El usuario o perfil que buscas no existe .-.</p>
  4. <a href="usuarios.php"><button>Lista de usuarios</button></a>

AH, no uses <? por favor... reemplazalo por <?php
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...
  #3 (permalink)  
Antiguo 15/11/2013, 09:35
all7
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: por que el perfil de usuarios no se mostra

gracias por la respuesta estos son los codigos

1: la tabla.sql

CREATE TABLE IF NOT EXISTS `usuarios` (
`usuario_id` int(4) NOT NULL AUTO_INCREMENT,
`usuario_nombre` varchar(15) NOT NULL DEFAULT '',
`usuario_clave` varchar(32) NOT NULL DEFAULT '',
`usuario_email` varchar(50) NOT NULL DEFAULT '',
`usuario_freg` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`tipo` enum('2','1') NOT NULL DEFAULT '2',
`facebook` varchar(250) NOT NULL,
`twitter` varchar(250) NOT NULL,
`imagen` varchar(500) NOT NULL,
PRIMARY KEY (`usuario_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

2: registro.php


<html>

<head></head>

<body>

<form name="subirImagen" method="post" action="subir.php" enctype="multipart/form-data">

<label>Usuario:</label><br />
<input type="text" name="usuario_nombre" maxlength="15" /><br />

<label>Contraseña:</label><br />
<input type="password" name="usuario_clave" maxlength="15" /><br />
<label>Confirmar Contraseña:</label><br />
<input type="password" name="usuario_clave_conf" maxlength="15" /><br />
<label>Email:</label><br />
<input type="text" name="usuario_email" maxlength="50" /><br />

<p>
<label for="picture">Imagen:</label>
<input type="file" name="imagen" id="picture"/>
</p>
<p>
<input type="submit" name="btnSubir" value="Subir imagen"/>
</p>
</form>
</body>

</html>

3: el comprobar.php

<?php
session_start();
?>
<?php
include ("acceso_db.php"); session_start();
$usuario = strtolower($_POST["usuario"]);
$password = $_POST["password"];
if($usuario!= "" && $password!= "")
{
$sql = mysql_query('SELECT * FROM usuarios WHERE usuario="'.$usuario.'"');
if($f= mysql_fetch_array($sql)){
if($f["password"] == $password){
$_SESSION["id"] = $f['id'];
$_SESSION["k_username"] = $f['usuario'];
$_SESSION["email"]=$f['email'];
$_SESSION["fecha"]=$f['fecha'];
$_SESSION["foto"]=$f['foto'];
echo 'Has sido logueado correctamente '.$_SESSION['k_username'].' <p>';
echo '<a href="acceso.php">acceso</a></p>';

}else{
echo 'Password incorrecto';
echo '<a href="acceso.php">Index</a></p>';
}
}else{
echo 'Usuario no existente en la base de datos ';
echo '<a href="acceso.php">Index</a></p>';
}

}

?>

<div align="right">
<p>Hola <strong><?=$_SESSION['usuario_nombre']?></strong> |
<a href="logout.php">Salir</a></p>
</div>

<div align="center">
<h2><? echo $nombre ?></h2>
</div>

<center>
<a href="perfil.php?id=<?=$_SESSION['usuario_id']?>">Ir a tu perfil</a> |

<a href="usuarios.php">Lista de usuarios</a>
</center>
<?php

?>

4: el perfil.php

<? include '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);
$usuario_id = $row["usuario_id"];
$usuario_nombre = $row["usuario_nombre"];
$usuario_email = $row["usuario_email"];
$usuario_freg = $row["usuario_freg"];
$facebook = $row["facebook"];
$twitter = $row["twitter"];
$avatar = $row["avatar"];
?>

<html>

<head>
<title>Perfil de <?=$usuario_nombre?> | Tu web</title>
</head>

<body>

<h2><? echo $nombre ?></h2>

<div id="menu">
<a href="usuarios.php">Usuarios</a> |
<a href="acceso.php">Acceso-Portal</a>
</div>

<h2>Perfil de <?=$usuario_nombre?></h2>

<img src="<?=$avatar?>" width="200" height="200" />

<p>Email: <?=$usuario_email?></p>
<p>Fecha de registro: <?=$usuario_freg?></p>


</body>

</html>

<? } else { ?>

<p>El usuario o perfil que buscas no existe .-.</p>
<a href="usuarios.php"><button>Lista de usuarios</button></a>

<? } ?>
  #4 (permalink)  
Antiguo 15/11/2013, 10:36
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 15 años, 6 meses
Puntos: 175
Respuesta: por que el perfil de usuarios no se mostra

Porque deducis que esto se hace asi
if(mysql_num_rows($perfil)) {

y no asi?
$num=mysql_num_rows($perfil);

if($num>0) {
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...

Etiquetas: fecha, html, mysql, perfil, registro, select, sql, tabla, usuarios
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 14:45.