Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Guardar nombre de usuario para consulta

Estas en el tema de Guardar nombre de usuario para consulta en el foro de PHP en Foros del Web. Saludos foreros, hoy Jueves os traigo una nueva duda. Tengo una página index.html que muestra un sistema de login, la comprobación la hace en la ...
  #1 (permalink)  
Antiguo 16/05/2013, 03:34
Avatar de the_sheriff_pino  
Fecha de Ingreso: abril-2013
Ubicación: Córdoba
Mensajes: 118
Antigüedad: 6 años, 8 meses
Puntos: 0
Guardar nombre de usuario para consulta

Saludos foreros, hoy Jueves os traigo una nueva duda.

Tengo una página index.html que muestra un sistema de login, la comprobación la hace en la página login.php.
Si usuario y contraseña son correctos, se redirecciona a una página para hacer filtros de una lista, pero ese filtro está condicionado por el nombre de usuario que se haya logado.

Por tanto la consulta es así:

SELECT *
FROM lista_clientes AS tb1
INNER JOIN usuario_zona AS tb2 ON tb1.Zona = tb2.Zona
WHERE tb1.Nombre LIKE "%$nombre%"
AND tb1.Localidad LIKE "%$localidad%"
AND tb2.nom_usuario = 'usuario'

Donde pone usuario en la última línea me gustaría que fuese una variable que almacenase el usuario que se ha logado en index.html.

Os adjunto las páginas y vemos como podemos averiguamos:

INDEX.HTML
Código HTML:
Ver original
  1. <meta charset="iso-8859-1">
  2. <title>San Lorenzo Electro-Harinera</title>
  3.  
  4. <link href="../css/login-box.css" rel="stylesheet" type="text/css" />
  5. </head>
  6.  
  7. <body background="images/fondo_index.jpg"><center>
  8.  
  9. <div style="padding: 175px 0 0 0px;" align="center">
  10.  
  11. <div id="login-box">
  12.  
  13. <H2>Sistema de Login San Lorenzo</H2>
  14. <br />
  15. <br />
  16. <form name="form1" method="post" action="login.php">
  17.    
  18.     <div id="login-box-name" style="margin-top:20px;">Usuario:</div>
  19.     <div id="login-box-field" style="margin-top:20px;">
  20.     <input  type="text" name="usuario" class="form-login" title="Usuario" value="" size="30" maxlength="2048" autocomplete="off" />
  21.     </div>
  22.  
  23.     <div id="login-box-name">Contraseña:</div>
  24.     <div id="login-box-field">
  25.     <input name="clave" type="password" class="form-login" title="Clave" value="" size="30" maxlength="2048" />
  26.     </div>
  27.  
  28. <br />
  29. <br />
  30. <br />
  31.   <input type="image" name="imageField" src="images/login-btn.png" align="right" />
  32. </form>
  33. </div></div></center>
  34.  
  35. </body>
  36. </html>

LOGIN.PHP
Código PHP:
<html>
<meta charset="iso-8859-1">
<head>
</head>
<body>
<?php  
session_start
();  
if (!isset( 
$_POST['usuario'] )) {  
header("Location: login.php");  
} else {  
$id mysql_connect("localhost""root""");  
mysql_select_db("clientes"$id);  
$consulta "SELECT * FROM login WHERE nom_usuario = '{$_POST['usuario']}' AND password = '{$_POST['clave']}'";  
$res mysql_query($consulta$id); // Ponle $res para q no se llame igual que la de abajo, $datos 
$datos = @mysql_fetch_row($res); // En vez de num_rows, que devuelve la cantidad, haz un fetch_row que te devuelve los datos 
if (!isset($datos[0])) {  
 
header("Location: error.html");
} else {  
   
$_SESSION['nom_usuario'] = $_POST['usuario'];  
   
header("Location: ".$datos[2]);  
exit; 
}  
}  
?>  

</body>
</html>
BÚSQUEDA2.PHP
Código PHP:
<?php
$link 
mysql_connect('localhost''root','') or die("Error, no se ha conectado B.D.");
$bd=mysql_select_db('clientes'$link) or die("Error, no se ha seleccionado B.D.");
    
function 
generaClientes()
    {
    
$link         =    mysql_connect('localhost''root','') or die("Error, no se ha conectado B.D.");
    
$bd            =    mysql_select_db('clientes'$link) or die("Error, no se ha seleccionado B.D.");


    
$nombre        =    isset($_POST['nombre'])        ? $_POST['nombre']        : NULL;
    
$localidad    =    isset($_POST['localidad'])    ? $_POST['localidad']    : NULL;
    
$provincia    =    isset($_POST['provincia'])    ? $_POST['provincia']    : NULL;
    
$cif        =    isset($_POST['cif'])         ? $_POST['cif']         : NULL;


if ( !empty (
$nombre) || !empty ($localidad) || !empty ($provincia)|| !empty ($cif) ) {
    
    
/*
    SELECT * 
    FROM lista_clientes AS tb1
    INNER JOIN usuario_zona AS tb2 ON tb1.Zona = tb2.Zona
    WHERE tb1.Nombre LIKE  "%pani%"
    AND tb1.Localidad LIKE  "%Montilla%"
    AND tb2.nom_usuario =  'rrojas'
    */
    
$sql" SELECT * FROM lista_clientes as tb1 INNER JOIN usuario_zona as tb2 ON tb1.Zona = tb2.Zona WHERE";              //Empezar a crear la consulta:

    
if ( !empty($nombre) && !empty ($localidad) && !empty ($provincia) && !empty ($cif) ) {            
         
$sql .= " tb1.Nombre LIKE '%$nombre%' AND tb1.Localidad LIKE '%$localidad%' AND tb1.Provincia LIKE '%$provincia%' AND tb1.CIF LIKE '%$cif%'" ;   
         }
    
    else if ( !empty(
$nombre) && !empty ($localidad) && !empty ($cif) ) {                   
     
$sql .= " tb1.Nombre LIKE '%$nombre%' AND tb1.Localidad LIKE '%$localidad%' AND tb1.CIF LIKE '%$cif%'"
    }
    else if ( !empty(
$nombre) && !empty ($cif) && !empty ($provincia) ) {                       
     
$sql .= " tb1.Nombre LIKE '%$nombre%' AND tb1.CIF LIKE '%$cif%' AND tb1.Provincia LIKE '%$provincia%'"
    }
    else if ( !empty(
$nombre) &&  !empty ($provincia) ) {  
     
$sql .= " tb1.Nombre LIKE '%$nombre%' AND tb1.Provincia LIKE '%$provincia%'"
    }
    else if ( !empty(
$nombre) &&  !empty ($cif) ) {  
     
$sql .= " tb1.Nombre LIKE '%$nombre%' AND tb1.CIF LIKE '%$cif%'"
    }
    else if ( !empty(
$nombre) &&  !empty ($localidad) ) {  
     
$sql .= " tb1.Nombre LIKE '%$nombre%' AND tb1.Localidad LIKE '%$localidad%'"
    }
    else if ( !empty(
$nombre) ) {
     
$sql .= " tb1.Nombre LIKE '%$nombre%'"
    }
    else if ( !empty (
$localidad) && !empty ($provincia) && !empty ($cif) ) {            
     
$sql .= " tb1.Localidad LIKE '%$localidad%' AND tb1.Provincia LIKE '%$provincia%' AND tb1.CIF LIKE '%$cif%'" ;
    }
    else if ( !empty(
$localidad) &&  !empty ($provincia) ) {  
     
$sql .= " tb1.Localidad LIKE '%$localidad%' AND tb1.Provincia LIKE '%$provincia%'"
    }
    else if ( !empty(
$localidad) &&  !empty ($cif) ) {  
     
$sql .= " tb1.Localidad LIKE '%$localidad%' AND tb1.CIF LIKE '%$cif%'";
    }
    else if ( !empty(
$localidad)) {  
     
$sql .= " tb1.Localidad LIKE '%$localidad%'"
    }
    else if ( !empty(
$cif) &&  !empty ($provincia) ) {  
     
$sql .= " tb1.CIF LIKE '%$cif%' AND tb1.Provincia LIKE '%$provincia%'"
    }
    else if ( !empty (
$provincia) ) {  
     
$sql .= " tb1.Provincia LIKE '%$provincia%'"
    }
    else if ( !empty(
$cif) ) {  
     
$sql .= " tb1.CIF LIKE '%$cif%'"
    }
}

           
$sql .= " AND tb2.nom_usuario = 'rrojas' ORDER BY Nombre ASC";
        
        
$consulta mysql_query ($sql) ;   //Hacer la consulta.         
        
   
?>       
    
<!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>

<link href="css/form.css" rel="stylesheet">

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
    <body> 
    <select name='clientes' size="5px" style="width:80%; font-size:22px; f">

    <?php 
        
while($registro=mysql_fetch_assoc($consulta))
            {
?>
            <option value="<?php echo $registro['Nombre']; ?>"><?php echo $registro['Nombre']," ",$registro['Direccion']," ",$registro['Localidad']," ",$registro['Provincia'];  ?></option>
    
        <?php 
            
}
        
?>
    
   </select>

    <?php 
        
}
    
?>    



    <br />
    <br />
        <?php generaClientes();?>
</body></html>
  #2 (permalink)  
Antiguo 16/05/2013, 07:04
Avatar de repara2  
Fecha de Ingreso: septiembre-2010
Ubicación: München
Mensajes: 2.445
Antigüedad: 9 años, 2 meses
Puntos: 331
Respuesta: Guardar nombre de usuario para consulta

Utiliza la misma variable de session que estás inicializando al hacer el login. Si no te sirve, declara tantas variables de session como te hagan falta y leelas luego.
Consulta el manual session_start().
Salu2
__________________
Fere libenter homines, id quod volunt, credunt.
  #3 (permalink)  
Antiguo 16/05/2013, 07:06
Avatar de the_sheriff_pino  
Fecha de Ingreso: abril-2013
Ubicación: Córdoba
Mensajes: 118
Antigüedad: 6 años, 8 meses
Puntos: 0
Respuesta: Guardar nombre de usuario para consulta

Sisisi, correcto repara2, estaba escribiendo como lo he solucionado!
Muchas gracias por contestar!
  #4 (permalink)  
Antiguo 16/05/2013, 07:07
Avatar de the_sheriff_pino  
Fecha de Ingreso: abril-2013
Ubicación: Córdoba
Mensajes: 118
Antigüedad: 6 años, 8 meses
Puntos: 0
Respuesta: Guardar nombre de usuario para consulta

Doy tema por solucionado!

Etiquetas: html, mysql, nombre, registro, select, sql, usuario
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 17:05.