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
<meta charset="iso-8859-1">
<link href="../css/login-box.css" rel="stylesheet" type="text/css" />
<body background="images/fondo_index.jpg"><center>
<div style="padding: 175px 0 0 0px;" align="center">
<H2>Sistema de Login San Lorenzo
</H2> <form name="form1" method="post" action="login.php">
<div id="login-box-name" style="margin-top:20px;">Usuario:
</div> <div id="login-box-field" style="margin-top:20px;"> <input type="text" name="usuario" class="form-login" title="Usuario" value="" size="30" maxlength="2048" autocomplete="off" />
<div id="login-box-name">Contraseña:
</div> <div id="login-box-field"> <input name="clave" type="password" class="form-login" title="Clave" value="" size="30" maxlength="2048" />
<input type="image" name="imageField" src="images/login-btn.png" align="right" />
LOGIN.PHP
<html>
<meta charset="iso-8859-1">
<head>
</head>
<body>
<?php
if (!isset( $_POST['usuario'] )) { header("Location: login.php"); } else {
$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 header("Location: error.html"); } else {
$_SESSION['nom_usuario'] = $_POST['usuario'];
header("Location: ".$datos[2]); }
}?>
</body>
</html>
BÚSQUEDA.PHP
<?php
$link = mysql_connect('localhost', 'root','') or
die("Error, no se ha conectado B.D.");
function generaClientes()
{
$link = mysql_connect('localhost', 'root','') or
die("Error, no se ha conectado 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;
/*
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:
$sql .= " tb1.Nombre LIKE '%$nombre%' AND tb1.Localidad LIKE '%$localidad%' AND tb1.Provincia LIKE '%$provincia%' AND tb1.CIF LIKE '%$cif%'" ;
}
$sql .= " tb1.Nombre LIKE '%$nombre%' AND tb1.Localidad LIKE '%$localidad%' AND tb1.CIF LIKE '%$cif%'";
}
$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%'";
}
$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%'";
}
$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%'";
}
$sql .= " tb1.Localidad LIKE '%$localidad%' AND tb1.CIF LIKE '%$cif%'";
}
else if ( !empty($localidad)) { $sql .= " tb1.Localidad LIKE '%$localidad%'";
}
$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";
?>
<!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
{?>
<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>