Ver Mensaje Individual
  #7 (permalink)  
Antiguo 28/10/2008, 14:40
aliyuwey
 
Fecha de Ingreso: mayo-2008
Mensajes: 148
Antigüedad: 16 años
Puntos: 1
Respuesta: mostrar datos de usuario

Cita:
Iniciado por nicolaspar Ver Mensaje
Por que no haces directamente un if sobre la asignación de $row?; No digo que sea el problema, pero es lo mejor:
Código PHP:
if( $row mysql_fetch_array($resultado) ){
   ....

Y en cuanto a tu problema...
El el código original: Estas asignado, iterando y no se que más siempre sobre el mismo resource...Si vas a mover el puntero (o esperas eso) usá mysql_data_seek().
En el segundo código: no veo donde haces un simple echo, solo estas asignando valores a dos sessions. Hace lo mismo, si es uno un if sobre la asignación, si son varios un while directamente.
aqui los dos codigos:
el primero de inicio de secion con un formulario simple:
Código PHP:
<!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=iso-8859-1" />
<
title>Documento sin t&iacute;tulo</title>
</
head>

<
body>
<
form name="formulario" method="post" action="final.php">
     <
div align="left"><strong><font size="3" face="Arial, Helvetica, sans-serif">Nombre 
       Usuario
:</font></strong></div>
<
input name="nombre" type="text" id="nombre" />
          <
div align="left"><font size="3" face="Arial, Helvetica, sans-serif"><strong>Contrase&ntilde;a:</strong></font></div>
<
input name="clave" type="password" id="clave">
    <
div align="right">
      <
label for="entrar"></label>
      <
div align="left"></div>
      <
div align="left">
        <
input type="submit" name="entrar" id="entrar" value="entrar" onClick="validar()" />
    </
div></div>
</
form>
</
body>
</
html
el segundo con la hoja que toma el nombre de usuario y contraseña de la pagina anterior, incluye el if que me dijiste y las modificacioes que me han sugerido

Código PHP:
<?php 
ob_start
(); 
session_start(); 

//recojo el valor del formulario mediante $_POST 
echo $nombre $_POST['nombre']; 
echo 
$clave $_POST['clave']; 
$i=0

//conexion con mysql 
$dp_di="localhost"
$db_usuario="root"
$db_clave="admin"
$conectar=mysql_connect ($dp_di,$db_usuario,$db_clave); 
if (
$conectar==NULL

 
printf ("Error"); 


//conectamos con la base de datos prueba 
$db='estudio'
mysql_select_db($db$conectar); 

//hago la consulta a la tabla usuarios  
$consulta"SELECT * FROM principal WHERE rut_proveedor='$nombre' and codigo_bip=SHA1('$clave')";  
$resultado=mysql_query($consulta,$conectar);  
//checas si devuelve un resultado la consulta 
while(mysql_num_rows($resultado) == 1) {  
  
// Asignas la fila a una variable
 
if( $row mysql_fetch_array($resultado) );
 
  
$_SESSION['user'] = $row['nombre']; //recojo en una sesion el nombre del usuario  
  
$_SESSION['password'] = $row['clave']; //recojo en una sesion la contraseña del usuario para identificarse  
 
if ( $row mysql_fetch_array($resultado) );
 
        
//$_SESSION['estudio']=$row[$i]; //recogo en una sesion el nombre de la bd que puede utilizar el usuario
echo "<tr><td width=113>Nombre: ".$row ['nombre_proveedor']."</td>"
echo 
"<td width=113>Rut: ".$row ['rut_proveedor']."</td>"
echo 
"<td width=113>Codigo: ".$row ['codigo_bip']."</td>"
echo 
"<td width=113>Neto: ".$row ['neto']."</td></tr>";  

        
//y todos los demas campos que deseas mostrar.
   
}if ($resultado == FALSE)

//si llegas aqui es por que no se encontro el usuario o no coincidio con el password.. 
//hacemos lo que quieras.. 
echo "El usuario no existe"

?>
nota:si tengo echo, fijate bien en el codigo a lo mejor soy yo el que no entiende pero tiene echo

gracias a todos por estar ayudandome de verdad gracias