Foros del Web » Programando para Internet » PHP »

Muestra de datos de un registro

Estas en el tema de Muestra de datos de un registro en el foro de PHP en Foros del Web. Hola buenas, tengo un sistema de usuarios con logueo mediante login y password previamente guardado en una base de datos, pues bien los clientes se ...
  #1 (permalink)  
Antiguo 29/12/2006, 07:07
Avatar de Javiglez  
Fecha de Ingreso: marzo-2006
Ubicación: Valladolid
Mensajes: 496
Antigüedad: 18 años, 2 meses
Puntos: 0
Muestra de datos de un registro

Hola buenas, tengo un sistema de usuarios con logueo mediante login y password previamente guardado en una base de datos, pues bien los clientes se loguean e inician sesión bien pero no consigo mostrar dentro de su sesión sus datos, es una tontería pero no lo consigo, hago una consulta de mysql en la que guardo el cliente con esa sesión asi..

$result = mysql_query("SELECT * FROM Clientes WHERE login='".$HTTP_COOKIE_VARS["usNick"]."' AND pass='".$HTTP_COOKIE_VARS["usPass"]."'");

y loguea bien y todo pero soy incapaz de que me muestre los datos...Os pongo los 3 archivos a ver si veis algo mal..
Este es el formulario donde ingresan el login y password y se loguean.
Código:
<form action="ingresar.php" method="post"> 

<label for="login">Login</label><input type="text" class="Estilo6bis" name="login" id="login" />
<br />
<label for="pass">Password</label><input type="password"  class="Estilo6" name="pass" id="pass" />

  <p>
    <input class="clase2" type="submit" name="Submit" value="Aceptar" />
  </p>
por POST le paso a ingresar.php ese login y pass
Código PHP:
<?php 
include("conectarse_bd.php"); 
//$link=Conectarse(); 
function quitar($mensaje

$mensaje str_replace("<","&lt;",$mensaje); 
$mensaje str_replace(">","&gt;",$mensaje); 
$mensaje str_replace("\'","'",$mensaje); 
$mensaje str_replace('\"',"&quot;",$mensaje); 
$mensaje str_replace("\\\\","&#92",$mensaje); 
return 
$mensaje


if(
trim($HTTP_POST_VARS["login"]) != "" && trim($HTTP_POST_VARS["pass"]) != ""

/*Asi que continuamos suponiendo que todo este bien, ahora lo que hacemos es quitarle el html, 
apostrofe comillas y demas al nick y password enviados por el usuario para su comprobacion 
con la base de datos, para ello utilizamos la funcion quitar($mensaje) que explicamos antes, 
y guardamos las nuevas cadenas en dos nuevas variables:*/ 
$nickN quitar($HTTP_POST_VARS["login"]); 
$passN quitar($HTTP_POST_VARS["pass"]); 
/*Ahora ejecutamos una instruccion sql, en la cual le pedimos a la base de da
tos que de la tabla usuarios nos devuelva la fila cuyo nick corresponda por 
el enviado por el usuario: */
$result mysql_query("SELECT pass FROM Clientes WHERE login='$nickN'"); 
if(
$row mysql_fetch_array($result)) 

/*Ahora continuamos con el proceso suponiendo que el usuario exista en la base de datos ahora 
debemos comprobar que el password sea correcto, para ello hacemos una simple comparacion, si 
es correcto continuamos de lo contrario mostramos el mensaje de password incorrecto: */

if($row["pass"] == $passN

session_start(); 
$_SESSION['caduca'] = time() + 7776000;
$_SESSION['usNick'] = $nickN
$_SESSION['usPass'] = $passN;   
//la pabtalla principal cuando ya te has logeado correctamente
header("Location: cuenta.php");

else 

header("Location: error_clientes.php");


else
    {    
header("Location: error_clientes.php");
    }

mysql_free_result($result); 

else 

header("Location: error_clientes.php");

mysql_close(); 
?>
y luego ya si esta bien el login y password les asigno nombre de sesión y les paso a cuenta que es donde no me muestra los datos del usuario, los intento mostrar con una tabla y $row......Este es cuenta.php

Código PHP:
<?php 
include("conectarse_bd.php"); 
include(
"login.php"); 
$result mysql_query("SELECT * FROM Clientes WHERE login='".$HTTP_COOKIE_VARS["usNick"]."' AND pass='".$HTTP_COOKIE_VARS["usPass"]."'");
while(
$row mysql_fetch_array($result)) {
        
    }
if(
$loginCorrecto)  
{  
//echo "<p style='font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 11px;color: #000000; font-weight: bold; float:right;'  > Bienvenido Administrador $nickUsuarioL </p>"; 
$mostrar "Bienvenido !!!!";
}  
else  
{  
//echo "Bienvenido visitante, el sistema no te ha reconocido, sino te autentificas no podras realizar ninguna de las funciones";  
$mostrar 'Bienvenido visitante, el sistema no te ha reconocido, sino te autentificas no podras realizar ninguna de las funciones';
//falla
header("Location: acceso.html");  
}      
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Nogues | Arquitecto</title> 

<script type="text/javascript" src="Funciones.js"></script>
<link rel="stylesheet" type="text/css" href="Estilo.css"/>


</head>
<body>
<div id="Contenedor">
<div id="Capa_titulo_admin">
<div id="logo" onclick="location='index.html'" title="Inicio" ></div> 
</div>
<div id="Capa_admin">
<?php echo "<p style='font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 11px;color: #000000; font-weight: bold; float:right;'  > Zona Clientes </p>"
printf("<tr><td><td>  %s</td><td><td>  %s </td><td> </tr>"$row["nombre"],$row["apellido1"], $row["apellido2"]);

?>
 <form id="form1" method="post" action="">
<fieldset class="clase1"><legend>Datos Personales</legend>
    <label for="nombre">Nombre</label><input  name="nombre" type="text" id="nombre" value= "<?php $row["nombre"];?>" size="40" readonly="readonly"/>
    <br />
    <label for="apellidom">Apellido </label><input name="apellido1" type="text" id="apellido1" value= "<?php echo $row["apellido1"];?>" size="40" readonly="readonly"/>
    <br />
    <label for="apellidop">Apellido </label><input name="apellido2" type="text" id="apellido2" value= "<?php echo $row["apellido2"];?>" size="40" readonly="readonly" />
    <br />
    <label for="Email">Email</label> 
    <input name="mail" type="text" id="mail" value= "<?php echo $row["mail"];?>" size="40" readonly="readonly"/>
    <br />    
    <label for="telefono">Telefono</label><input name="telefono" type="text" id="telefono" value= "<?php echo $row["telefono"];?>" size="40" readonly="readonly" />
    <br />    
    <label for="direccion">Dirección</label><input name="direccion" type="text" id="direccion" value= "<?php echo $row["direccion"];?>" size="40" readonly="readonly" />
    <br />
    
    
</fieldset>

<fieldset class="clase1"><legend>Trabajos en curso</legend>

<?php
$sql
="SELECT * FROM Expedientes WHERE dni='$dniUsuarioL'";
$link "<a href=\"cuenta2.php?expediente=%s\">%s<br></a>";
$result mysql_query($sql);
if(isset(
$result) && mysql_num_rows($result)>0)
{
while(
$fila=mysql_fetch_assoc($result))
{
echo 
sprintf$link$fila['expediente'], $fila['nombre'] );
echo 
"<br>";

}
}
?> 
</fieldset>
</form>
<?
//si hay resultados crea tabla
if ($row mysql_fetch_array($result)){ 
echo 
"<table border = '1'> \n";                                     
//Mostramos los nombres de las tablas 
mysql_field_seek($result,0); 
echo 
"<tr> \n";
echo  
"<td style='font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 11px;color: #000000; font-weight: bold;' <b>Fecha</b></td> \n";
echo  
"<td style='font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 11px;color: #000000; font-weight: bold;' <b>Nombre</b></td> \n";
echo  
"<td style='font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 11px;color: #000000; font-weight: bold;' <b>Ver</b></td> \n";

  
echo  
"<td style='font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 11px;color: #000000; font-weight: bold;' <b>Eliminar</b></td> \n";

echo  
"<td style='font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 11px;color: #000000; font-weight: bold;' <b>Modificar</b></td> \n";
echo 
" </tr> \n"
echo 
"</tr> \n"

do { 
echo 
"<tr> \n"//para ver el cliente entero
?><form name="form1" method="post" action="datos_expedientes.php">
<?
echo "<td>"?>
  <textarea cols="22" rows="1" name="fecha" readonly style="overflow:auto; border-width: 2px; font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 11px;color: #000000;  text-align:center;"><?php echo $row["fecha"];?></textarea>
  </TD>

<? "</td> \n"

echo 
"<td>"?>
  <textarea cols="70" rows="1" name="nombre" readonly style="overflow:auto; border-width: 2px; font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 11px;color: #000000;  text-align:center;"><?php echo $row["nombre"];?></textarea>
<? "</td> \n"
?>

<?
echo "<td>"?>
<input type="submit" name="Submit" value="Ver detalles" style="font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 11px;color: #000000;  text-align:center;"></TD>
</form>
<? echo "<td>"?>
<form name="form" method="post" action="confirmacion_baja_exp.php">
 <input name="expediente" type="hidden" value="<? echo $row["expediente"]; ?>">
 <input type="submit" name="Submit2" value="Eliminar" style="font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 11px;color: #000000;  text-align:center;"></TD>
</form>                         
<? echo "<td>"?>
<form name="form" method="post" action="modificar_expediente.php">
 <input name="expediente" type="hidden" value="<? echo $row["expediente"]; ?>">
 <input type="submit" name="Submit2" value="Modificar" style="font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 11px;color: #000000;  text-align:center;"></TD>
</form> 
<?     


 
"</td> \n"?>
<?
echo "</tr> \n"

} while (
$row mysql_fetch_array($result)); 


?> 
</table>

</p>
  <p>&nbsp;</p>
  <p>&nbsp;</p>
  <p>&nbsp;</p>
  <p>&nbsp;</p>
  <p>&nbsp;</p>
  <p>&nbsp;</p>
  <p><a href="cerrar_sesion.php">Cerrar sesión</a> </p>
</div>
</div>
</body>
</html>
A ver si podeis echarme una mano, un saludo y gracias
  #2 (permalink)  
Antiguo 29/12/2006, 07:16
 
Fecha de Ingreso: diciembre-2006
Mensajes: 25
Antigüedad: 17 años, 4 meses
Puntos: 0
Re: Muestra de datos de un registro

Wop!

¿pero qué error te da? ¿qué es exactamente lo que te pasa?
  #3 (permalink)  
Antiguo 29/12/2006, 07:33
Avatar de Javiglez  
Fecha de Ingreso: marzo-2006
Ubicación: Valladolid
Mensajes: 496
Antigüedad: 18 años, 2 meses
Puntos: 0
Re: Muestra de datos de un registro

EL tema es que error no me da simplemente no me muestra nada....no se si primero trendre que sacar por pantalla el resultado de la consulta o como, de manera local me funcionaba por eso creo q debe de ser una bobada, me saca las tablas pero sin nada dentro del texfield
  #4 (permalink)  
Antiguo 29/12/2006, 10:52
Avatar de Javiglez  
Fecha de Ingreso: marzo-2006
Ubicación: Valladolid
Mensajes: 496
Antigüedad: 18 años, 2 meses
Puntos: 0
Re: Muestra de datos de un registro

Como soy muy cabezón y perseverante sigo aqui dandole vueltas..He creido descubrir el fallo y es que al principio de cuenta tengo un while de que si da resultado la consulta saque un hola y no lo saca con lo cual no entra...
$result = mysql_query("SELECT * FROM Clientes WHERE login='".$HTTP_COOKIE_VARS["usNick"]."' AND pass='".$HTTP_COOKIE_VARS["usPass"]."'");
while($row = mysql_fetch_array($result)) {
echo "hola";
}

No se si esta mal la consulta o que, lo que quiero es mostrar los datos del Cliente que se loguea e inicia sesion, usNick y Uspass son las variables de sesión
$_SESSION['usNick'] = $nickN;
$_SESSION['usPass'] = $passN;
No se si no si alguien sabe otra forma de mostrar los datos del usuario que se logue, es motrar un registro de una tabla de Mysql pero no me sale!!!
  #5 (permalink)  
Antiguo 30/12/2006, 10:00
Avatar de Javiglez  
Fecha de Ingreso: marzo-2006
Ubicación: Valladolid
Mensajes: 496
Antigüedad: 18 años, 2 meses
Puntos: 0
Re: Muestra de datos de un registro

a ver si alguien me echa una mano que sigo atascado!!!
  #6 (permalink)  
Antiguo 02/01/2007, 06:01
Avatar de Javiglez  
Fecha de Ingreso: marzo-2006
Ubicación: Valladolid
Mensajes: 496
Antigüedad: 18 años, 2 meses
Puntos: 0
Re: Muestra de datos de un registro

Es año nuevo y aqui sigo sin dar pasos alante....a ver si los gurus de PHP me ayudan, Gracias y FELIZ AÑO
  #7 (permalink)  
Antiguo 02/01/2007, 07:40
Avatar de urgido  
Fecha de Ingreso: febrero-2005
Mensajes: 2.351
Antigüedad: 19 años, 2 meses
Puntos: 25
Re: Muestra de datos de un registro

creo que te hace falta un paso muy importante amigo, Usar sesiones de esta forma puedes identificar el nombre de la sesión y con eso jalar la información de tu base de datos para mostrarla.

Saludos
__________________
Hospedaje Web al mejor costo!
  #8 (permalink)  
Antiguo 02/01/2007, 09:44
Avatar de Javiglez  
Fecha de Ingreso: marzo-2006
Ubicación: Valladolid
Mensajes: 496
Antigüedad: 18 años, 2 meses
Puntos: 0
Re: Muestra de datos de un registro

urgido correcto uso sesiones....pero algo me falla...En la consulta que recojo el dato las variables UsNick por ejempl es una variable de sesion....
  #9 (permalink)  
Antiguo 02/01/2007, 10:03
 
Fecha de Ingreso: julio-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.304
Antigüedad: 18 años, 9 meses
Puntos: 6
Re: Muestra de datos de un registro

Has utilizado este codigo no?

Código PHP:
<?php
$sql
="SELECT * FROM Expedientes WHERE dni='$dniUsuarioL'";
$link "<a href=\"cuenta2.php?expediente=%s\">%s<br></a>"
?>
¿De donde viene $dniUsuarioL?



Por otro lado, $HTTP_COOKIE_VARS["usNick"] no es lo mismo que $_SESSION['usNick']. Lo primero es una variable de una cookie, lo segundo una variable de session. Por eso al principio te pregunto si el script es ese que sale en maestrosdelweb, dicho script utiliza cookies y variables de session, el tuyo tambien o lo modificaste?


Saludos.
__________________
Federico.

Mi página: www.jourmoly.com.ar

Última edición por Fridureiks; 02/01/2007 a las 10:16
  #10 (permalink)  
Antiguo 02/01/2007, 10:38
Avatar de Javiglez  
Fecha de Ingreso: marzo-2006
Ubicación: Valladolid
Mensajes: 496
Antigüedad: 18 años, 2 meses
Puntos: 0
Re: Muestra de datos de un registro

$dniUsuarioL Es el dni del Cliente que se logue y que paso como variable pero ta mal en teoria equivale a $row [dni] osea el dni del cliente que se loguea, si empece al prinicipio a partir de ese codigo, utilice varios metodos de el...El tema es que con esta consulta
$result = mysql_query("SELECT * FROM Clientes WHERE login='".$HTTP_COOKIE_VARS["usNick"]."' AND pass='".$HTTP_COOKIE_VARS["usPass"]."'");

que son las variables cookies como bien dices, no me detecta las comparaciones o no se y si que me entra en la zona privada pero no me muestra los datos del usuaruio q ha entrado...
  #11 (permalink)  
Antiguo 02/01/2007, 10:48
 
Fecha de Ingreso: julio-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.304
Antigüedad: 18 años, 9 meses
Puntos: 6
Re: Muestra de datos de un registro

Cita:
Iniciado por Javiglez Ver Mensaje
$dniUsuarioL Es el dni del Cliente que se logue y que paso como variable pero ta mal en teoria equivale a $row [dni] osea el dni del cliente que se loguea,
Me refiero a, puedes mostrar el codigo donde le cargas un valor a $dniUsuarioL?, pues puede ser el motivo de uno de los errores si dicha variable no contiene nada.

Cita:
Iniciado por Javiglez Ver Mensaje
si empece al prinicipio a partir de ese codigo, utilice varios metodos de el...El tema es que con esta consulta
$result = mysql_query("SELECT * FROM Clientes WHERE login='".$HTTP_COOKIE_VARS["usNick"]."' AND pass='".$HTTP_COOKIE_VARS["usPass"]."'");

que son las variables cookies como bien dices, no me detecta las comparaciones o no se y si que me entra en la zona privada pero no me muestra los datos del usuaruio q ha entrado...
Quiza has borrado la parte de las cookies y claro, si estas no estan puedes olvidarte de que funcione. Deberias colocar todo el codigo, asi a medias, es dificil ayudarte...
__________________
Federico.

Mi página: www.jourmoly.com.ar
  #12 (permalink)  
Antiguo 02/01/2007, 11:02
Avatar de Javiglez  
Fecha de Ingreso: marzo-2006
Ubicación: Valladolid
Mensajes: 496
Antigüedad: 18 años, 2 meses
Puntos: 0
Re: Muestra de datos de un registro

La cargo en login.php que adjunto debajo...Lo de las cookies no se si las he borrado....o si hay otra forma de hacer lo que quiero que no es ni mas ni menos que mostrar los datos del cliente que se loguea....Ahi va login_admin lo demas esta ya en el post...Gracias Fridureiks!!!

Código PHP:
<?php   
/*Guardar datos Cliente */  
$loginCorrecto false;   
$nickUsuarioL;   
$emailUsuarioL;   
$nombreUsuarioL;   
$dniUsuarioL;
/*Copmprobacion cookies" : */  
session_start(); 
if(isset(
$_SESSION["usNick"]) && isset($_SESSION["usPass"]))   

$_SESSION["autentificado"]= "SI";    
/*resultado de nick y pass guardado por las cookies */  
$result mysql_query("SELECT * FROM Clientes WHERE login='".$_SESSION["usNick"]."' AND pass='".$_SESSION["usPass"]."'");   
if(
$row mysql_fetch_array($result) && (time() < $_SESSION['caduca']) )   
{   
/*si los datos son correctos se actualizan las cookiees caducan a los 90 dias*/   
$loginCorrecto true;   
$nickUsuarioL $row["login"];    
$emailUsuarioL $row["mail"];   
$dniUsuarioL $row["dni"];

}  
else   
{   
//Destruimos las cookies.  
$_SESSION = array(); 
session_destroy(); 
}   
mysql_free_result($result);   
}   
?>
  #13 (permalink)  
Antiguo 02/01/2007, 11:10
 
Fecha de Ingreso: julio-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.304
Antigüedad: 18 años, 9 meses
Puntos: 6
Re: Muestra de datos de un registro

Si tocaste el codigo y no te acordas, ahi ya vamos mal jeje.
Si queres hacer una prueba rapida, cambia esta consulta en cuenta.php:

Código PHP:
<?php
$result 
mysql_query("SELECT * FROM Clientes WHERE login='".$HTTP_COOKIE_VARS["usNick"]."' AND pass='".$HTTP_COOKIE_VARS["usPass"]."'");
?>
Por esta otra:

Código PHP:
<?php
$result 
mysql_query("SELECT * FROM Clientes WHERE login='".$_SESSION["usNick"]."' AND pass='".$_SESSION["usPass"]."'");
?>

De todas formas, aunque te llegara a funcionar... tu codigo lo veo un poco desarmado y quiza inseguro, es viejo y utiliza sentencias que estan obsoletas ($HTTP_***)...quiza hast ate saldria mejor buscar algun script mas sencillito de esos que abundan por google... pero bueno. Ojala se te solucione.

Saludos.
__________________
Federico.

Mi página: www.jourmoly.com.ar
  #14 (permalink)  
Antiguo 02/01/2007, 11:21
Avatar de Javiglez  
Fecha de Ingreso: marzo-2006
Ubicación: Valladolid
Mensajes: 496
Antigüedad: 18 años, 2 meses
Puntos: 0
Re: Muestra de datos de un registro

Lo he probado y sigue sin mostrarlo, si que esta un pelin obsoleto...pero es lo que hay, no se esque poner otro nuevo no se si me llevaría mucho tiempo...
  #15 (permalink)  
Antiguo 03/01/2007, 10:25
Avatar de Javiglez  
Fecha de Ingreso: marzo-2006
Ubicación: Valladolid
Mensajes: 496
Antigüedad: 18 años, 2 meses
Puntos: 0
Re: Muestra de datos de un registro

Nada no entiendo como no puede funcionar recogiendo como me has puesto tu
Código PHP:
$result mysql_query("SELECT * FROM Clientes WHERE login='".$_SESSION["usNick"]."' AND pass='".$_SESSION["usPass"]."'"); 
recogiendo las variables de sesión si ademas lo tengo bien definido en el ingresar.php que tengo puesto mas arriba y que es el archivo que valida los datos que le mando del login y password...
Código PHP:
$_SESSION['usNick'] = $nickN
$_SESSION['usPass'] = $passN
A ver si aparece el maestro avlin y me hecha una mano....
  #16 (permalink)  
Antiguo 03/01/2007, 10:35
 
Fecha de Ingreso: julio-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.304
Antigüedad: 18 años, 9 meses
Puntos: 6
Re: Muestra de datos de un registro

En estos casos conviene utilizar echos para ir revisando el codigo...

Código PHP:
<?php
$sql 
"SELECT * FROM Clientes WHERE login='".$_SESSION["usNick"]."' AND pass='".$_SESSION["usPass"]."'";

echo 
$sql;

$result mysql_query($sql);
?>
La consulta SQL que te sale por pantalla, si es valida, la pegas en phpMyAdmin y te fijas que te devuelve... Si no es valida, revisala para corregir lo que tenga mal.

Quiza solamente te falta un session_start(), pero como aun sigues sin ponr el codigo completo...


Saludos.
__________________
Federico.

Mi página: www.jourmoly.com.ar
  #17 (permalink)  
Antiguo 03/01/2007, 10:48
Avatar de Javiglez  
Fecha de Ingreso: marzo-2006
Ubicación: Valladolid
Mensajes: 496
Antigüedad: 18 años, 2 meses
Puntos: 0
Re: Muestra de datos de un registro

esta bien Friderukis, no tengo el PHPMYADMIN porque en el phpmyadmin me funcionaba de manera local, y ya estoy probando todo ya en un servidor web normal...En cuanto a lo del codigo te voy a pegar todo y explicadito para que veas exactamente lo que quiero hacer, porque creo que es una bobada pero no doy con el fallo, Gracias en seguida tendras todo el codigo comentado.
  #18 (permalink)  
Antiguo 03/01/2007, 10:53
 
Fecha de Ingreso: julio-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.304
Antigüedad: 18 años, 9 meses
Puntos: 6
Re: Muestra de datos de un registro

Hiciste la prueba que te comente? Al menos fijate que es lo que hace esa sentencia SQL aunque no puedas probarla en phpMyAdmin.... pegala aqui, como minimo. De esa forma dividirias el codigo en dos y sabrias mejor por donde buscar.
__________________
Federico.

Mi página: www.jourmoly.com.ar
  #19 (permalink)  
Antiguo 03/01/2007, 10:59
Avatar de Javiglez  
Fecha de Ingreso: marzo-2006
Ubicación: Valladolid
Mensajes: 496
Antigüedad: 18 años, 2 meses
Puntos: 0
Re: Muestra de datos de un registro

Bien lo que quiero es mostrar datos de un Cliente que se haya logueado en mi applicación, Ese cliente esta dado de alta en la tabla Clientes y tiene un login y un password que teclea para entrar en su cuenta. Bien en archivo donde teclea el login y pass es acceso.html que no es mas q un formulario..
Código:
<form action="ingresar.php" method="post"> 
<label for="login">Login</label><input type="text" class="Estilo6bis" name="login" id="login" />
<br />
<label for="pass">Password</label><input type="password"  class="Estilo6" name="pass" id="pass" />
  <p>
    <input class="clase2" type="submit" name="Submit" value="Aceptar" />
  </p>
</form>
De ahi como se aprecia lo mando a ingresar.php que es el archivo que validara el login y password establecerá las variables de sesión e iniciara la sesión...Este archivo contiene dos includes, uno de Login.php que es donde valida el login y el conectarse que es el archivo de conexión a la base de datos que esta bien, a continuación pongo ingresar.php
Código PHP:
<?php 
include("conectarse_bd.php"); 
//$link=Conectarse(); 
function quitar($mensaje

$mensaje str_replace("<","&lt;",$mensaje); 
$mensaje str_replace(">","&gt;",$mensaje); 
$mensaje str_replace("\'","'",$mensaje); 
$mensaje str_replace('\"',"&quot;",$mensaje); 
$mensaje str_replace("\\\\","&#92",$mensaje); 
return 
$mensaje


if(
trim($HTTP_POST_VARS["login"]) != "" && trim($HTTP_POST_VARS["pass"]) != ""

/*Asi que continuamos suponiendo que todo este bien, ahora lo que hacemos es quitarle el html, 
apostrofe comillas y demas al nick y password enviados por el usuario para su comprobacion 
con la base de datos, para ello utilizamos la funcion quitar($mensaje) que explicamos antes, 
y guardamos las nuevas cadenas en dos nuevas variables:*/ 
$nickN quitar($HTTP_POST_VARS["login"]); 
$passN quitar($HTTP_POST_VARS["pass"]); 
/*Ahora ejecutamos una instruccion sql, en la cual le pedimos a la base de da
tos que de la tabla usuarios nos devuelva la fila cuyo nick corresponda por 
el enviado por el usuario: */
$result mysql_query("SELECT pass FROM Clientes WHERE login='$nickN'"); 
if(
$row mysql_fetch_array($result)) 

/*Ahora continuamos con el proceso suponiendo que el usuario exista en la base de datos ahora 
debemos comprobar que el password sea correcto, para ello hacemos una simple comparacion, si 
es correcto continuamos de lo contrario mostramos el mensaje de password incorrecto: */

if($row["pass"] == $passN

session_start(); 
$_SESSION['caduca'] = time() + 7776000;
$_SESSION['usNick'] = $nickN
$_SESSION['usPass'] = $passN;   
//la pabtalla principal cuando ya te has logeado correctamente
header("Location: cuenta.php");

else 

header("Location: error_clientes.php");


else
    {    
header("Location: error_clientes.php");
    }

mysql_free_result($result); 

else 

header("Location: error_clientes.php");

mysql_close(); 
?>
y login.php
Código PHP:
<?php   
/*Guardar datos Cliente*/  
$loginCorrecto false;   
$nickUsuarioL;   
$emailUsuarioL;   
$nombreUsuarioL;   
$dniUsuarioL;
/*Copmprobacion cookies" : */  
session_start(); 
if(isset(
$_SESSION["usNick"]) && isset($_SESSION["usPass"]))   

$_SESSION["autentificado"]= "SI";    
/*resultado de nick y pass guardado por las cookies */  
$result mysql_query("SELECT * FROM Clientes WHERE login='".$_SESSION["usNick"]."' AND pass='".$_SESSION["usPass"]."'");   
if(
$row mysql_fetch_array($result) && (time() < $_SESSION['caduca']) )   
{   
/*si los datos son correctos se actualizan las cookiees caducan a los 90 dias*/   
$loginCorrecto true;   
$nickUsuarioL $row["login"];    
$emailUsuarioL $row["mail"];   
$dniUsuarioL $row["dni"];

}  
else   
{   
//Destruimos las cookies.  
$_SESSION = array(); 
session_destroy(); 
}   
mysql_free_result($result);   
}   
?>
en login también tengo un sesion start() y no se si eso puede estar mal y tengo que quitarlo...
Bien despues una vez que ingresar.php valida todo me manda a cuenta.php con ya la sesión iniciada del Cliente y es aqui donde no me muestra los datos del cliente....en cuenta.php

Código PHP:
<?php 
include("conectarse_bd.php"); 
include(
"login.php"); 
$result mysql_query("SELECT * FROM Clientes WHERE login='".$_SESSION["usNick"]."' AND pass='".$_SESSION["usPass"]."'");

while(
$row mysql_fetch_array($result)) {
    }
if(
$loginCorrecto)  
{  
$mostrar "Bienvenido !!!!";
}  
else  
{  
//echo "Bienvenido visitante, el sistema no te ha reconocido, sino te autentificas no podras realizar ninguna de las funciones";  
$mostrar 'Bienvenido visitante, el sistema no te ha reconocido, sino te autentificas no podras realizar ninguna de las funciones';
//falla
header("Location: acceso.html");  
}      
?>
<?php 
echo "<p style='font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 11px;color: #000000; font-weight: bold; float:right;'  > Zona Clientes </p>"
echo 
$mostrar;
?>
 <form id="form1" method="post" action="">
<fieldset class="clase1"><legend>Datos Personales</legend>
    <label for="nombre">Nombre</label><input  name="nombre" type="text" id="nombre" value= "<?php $row["nombre"];?>" size="40" readonly="readonly"/>
    <br />
    <label for="apellidom">Apellido </label><input name="apellido1" type="text" id="apellido1" value= "<?php echo $row["apellido1"];?>" size="40" readonly="readonly"/>
    <br />
    <label for="apellidop">Apellido </label><input name="apellido2" type="text" id="apellido2" value= "<?php echo $row["apellido2"];?>" size="40" readonly="readonly" />
    <br />
    <label for="Email">Email</label> 
    <input name="mail" type="text" id="mail" value= "<?php echo $row["mail"];?>" size="40" readonly="readonly"/>
    <br />    
    <label for="telefono">Telefono</label><input name="telefono" type="text" id="telefono" value= "<?php echo $row["telefono"];?>" size="40" readonly="readonly" />
    <br />    
    <label for="direccion">Dirección</label><input name="direccion" type="text" id="direccion" value= "<?php echo $row["direccion"];?>" size="40" readonly="readonly" />
    <br />
    
    
</fieldset>

<fieldset class="clase1"><legend>Trabajos en curso</legend>

<?php
$sql
="SELECT * FROM Expedientes WHERE dni='$dniUsuarioL'";
$link "<a href=\"cuenta2.php?expediente=%s\">%s<br></a>";
$result mysql_query($sql);
if(isset(
$result) && mysql_num_rows($result)>0)
{
while(
$fila=mysql_fetch_assoc($result))
{
echo 
sprintf$link$fila['expediente'], $fila['nombre'] );
echo 
"<br>";

}
}
?> 
</fieldset>
</form>
<?
//si hay resultados crea tabla
if ($row mysql_fetch_array($result)){ 
echo 
"<table border = '1'> \n";                                     
//Mostramos los nombres de las tablas 
mysql_field_seek($result,0); 
echo 
"<tr> \n";
echo  
"<td style='font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 11px;color: #000000; font-weight: bold;' <b>Fecha</b></td> \n";
echo  
"<td style='font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 11px;color: #000000; font-weight: bold;' <b>Nombre</b></td> \n";
echo  
"<td style='font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 11px;color: #000000; font-weight: bold;' <b>Ver</b></td> \n";

  
echo  
"<td style='font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 11px;color: #000000; font-weight: bold;' <b>Eliminar</b></td> \n";

echo  
"<td style='font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 11px;color: #000000; font-weight: bold;' <b>Modificar</b></td> \n";
echo 
" </tr> \n"
echo 
"</tr> \n"

do { 
echo 
"<tr> \n"//para ver el cliente entero
?><form name="form1" method="post" action="datos_expedientes.php">
<?
echo "<td>"?>
  <textarea cols="22" rows="1" name="fecha" readonly style="overflow:auto; border-width: 2px; font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 11px;color: #000000;  text-align:center;"><?php echo $row["fecha"];?></textarea>
  </TD>

<? "</td> \n"

echo 
"<td>"?>
  <textarea cols="70" rows="1" name="nombre" readonly style="overflow:auto; border-width: 2px; font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 11px;color: #000000;  text-align:center;"><?php echo $row["nombre"];?></textarea>
<? "</td> \n"
?>

<?
echo "<td>"?>
<input type="submit" name="Submit" value="Ver detalles" style="font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 11px;color: #000000;  text-align:center;"></TD>
</form>
<? echo "<td>"?>
<form name="form" method="post" action="confirmacion_baja_exp.php">
 <input name="expediente" type="hidden" value="<? echo $row["expediente"]; ?>">
 <input type="submit" name="Submit2" value="Eliminar" style="font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 11px;color: #000000;  text-align:center;"></TD>
</form>                         
<? echo "<td>"?>
<form name="form" method="post" action="modificar_expediente.php">
 <input name="expediente" type="hidden" value="<? echo $row["expediente"]; ?>">
 <input type="submit" name="Submit2" value="Modificar" style="font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 11px;color: #000000;  text-align:center;"></TD>
</form> 
<?     


 
"</td> \n"?>
<?
echo "</tr> \n"

} while (
$row mysql_fetch_array($result)); 


?> 
</table>

</p>
  <p>&nbsp;</p>
  <p>&nbsp;</p>
  <p>&nbsp;</p>
  <p>&nbsp;</p>
  <p>&nbsp;</p>
  <p>&nbsp;</p>
  <p><a href="cerrar_sesion.php">Cerrar sesión</a> </p>
</div>
</div>
</body>
</html>
Y esto es todo, a ver si me he explicado bien y damos pronto porque se que hay cosas que sobran, por lo menos del inicio de sesion etc...
  #20 (permalink)  
Antiguo 03/01/2007, 11:06
 
Fecha de Ingreso: julio-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.304
Antigüedad: 18 años, 9 meses
Puntos: 6
Re: Muestra de datos de un registro

- En login.php borra el mysql_free_result($result); del final.
- En cuenta.hp borra el siguiente codigo:
Código PHP:
$result mysql_query("SELECT * FROM Clientes WHERE login='".$_SESSION["usNick"]."' AND pass='".$_SESSION["usPass"]."'");

while(
$row mysql_fetch_array($result)) {
    } 

Supongo que asi deberia funcionar... pero no estoy seguro. Te repito, es un codigo feo y desarmado. Yo la verdad lo cambiaria como ya te dije... ademas si deseas aprender, no creo que esta sea una buena manera.

Saludos y ojala te sirva.
__________________
Federico.

Mi página: www.jourmoly.com.ar
  #21 (permalink)  
Antiguo 03/01/2007, 11:21
Avatar de Javiglez  
Fecha de Ingreso: marzo-2006
Ubicación: Valladolid
Mensajes: 496
Antigüedad: 18 años, 2 meses
Puntos: 0
Re: Muestra de datos de un registro

Gracias por la ayuda Fridureiks pero no los muestra sigue igual, yo creo que no coge $result lo que tiene que coger o ya no se....Yo no lo veo tan desarmado pero no soy tan entendido pero es lo poquito que se hacer...Me da rabia porque la aplicación registra borra modifica loguea Clientes pero me falta eso que me muestre los datos de ese Cliente en su cuenta....Gracias por la ayuda.
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 11:43.