Buenas, ante todo me presento porque soy nuevo en este foro :), ahora comentaros mi problema:
Tengo que hacer un proyecto donde a través de un formulario de usuaruio y contraseña, pueda saber según el nivel, si el usuario es administrador o cliente... y una vez lo sepa, entrar a una parte u otra a través de sesiones.
Tenemos la primera que es ingreso.php
Código PHP:
<?
session_start();
?>
<form name="form1" method="post" action="comprueba.php">
<strong>Usuario:</strong>
<label>
<input name="login" type="text" id="login">
</label>
<p><strong>Contraseña:</strong>
<label>
<input name="pass" type="text" id="pass">
</label>
</p>
<p>
<label>
<input type="submit" name="Submit" value="comprobar">
</label>
</p>
</form>
Esta nos lleva a comprueba.php que comprobará si el usuario y contraseña están en la base de datos, y según el level que tenga irá a la página menuadmin.php o menureg.php. Este es el comprueba.php
Código PHP:
<?
session_start();
$db="servtein";
$tabla="registro";
$sql="SELECT * FROM $tabla WHERE login='$login' AND pass='$pass'";
$conexion = mysql_connect("localhost", "root", "02051250");
mysql_select_db($db, $conexion);
$resultado=mysql_query($sql, $conexion);
while ($registro= mysql_fetch_row($resultado))
{
$lv = $registro[3];
if ($lv != 0 && 1)
{
$ok = "falso";
header ("location: error.php");
}
else
{
if ($lv == 0)
{
$ok = "correcto";
header ("location: menuadmin.php");
}
else
{
if ($lv == 1)
{
$ok = "correcto";
header ("location: menureg.php");
}}}}
?>
<p>El usuario o contraseña que está intentando utilizar, no está registrada en nuestra base de datos, por favor:</p>
<p> <a href="ingreso.php">inténtelo de nuevo</a> o registrese
Introduciremos un usuario con level 0 que son los adminsitradores, para que vaya a menuadmin.php que es esta:
Código PHP:
<?
session_start();
if ($ok!="correcto")
{
header("location: error.php");
}
else
{
?>
<p align="center"><strong>Bienvenido al área administrativa</strong></p>
<p align="center"><strong>Desde aquí puedes hacer las siguientes operaciones </strong></p>
<p align="center"> </p>
<table width="100%" border="0">
<tr>
<td width="33%"><ul>
<li><em><strong>Noticias</strong></em>
<ul>
<li><a href="noticias/altanot.php">Dar de alta una noticia</a></li>
<li><a href="noticias/bajanot.php">Dar de baja una noticia</a></li>
<li><a href="noticias/modifnot.php">Modificar una noticia</a></li>
<li><a href="noticias/consunot.php">Consultar una noticia </a></li>
</ul>
</li>
</ul></td>
<td width="34%"><ul>
<li><em><strong>Usuarios / Clientes</strong></em>
<ul>
<li>Dar de alta clientes</li>
<li>Dar de baja clientes</li>
<li>Modificar clientes</li>
<li>Consultar clientes </li>
</ul>
</li>
</ul></td>
<td width="33%"><ul>
<li><strong>Usuarios / Administradores
</strong>
<ul>
<li><a href="usuarios/altaadmin.php">Dar de alta administrador </a></li>
<li><a href="usuarios/bajaadmin.php">Dar de baja administrador</a></li>
<li><a href="usuarios/modifiadmin.php">Modificar administrador</a></li>
<li><a href="usuarios/consuladmin.php">Consultar administrador </a></li>
</ul>
</li>
</ul></td>
</tr>
<tr>
<td> </td>
<td> </td>
<td><p> </p>
</td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
</tr>
</table>
<p align="center"> </p>
<? } ?>
Si pongo el usuario mal, osea que no esté en la base de datos, me sale en el comprueba.php que no está registrado y tal, osea funciona... El problema es cuando meto un usuario correcto, ya que no entra en menuadmin.php y me devuelve este error:
Cita: Notice: Undefined variable: ok in d:\utilidades\internet\servidor\easyphp1-8\www\proyecto\menuadmin.php on line 4
Warning: Cannot modify header information - headers already sent by (output started at d:\utilidades\internet\servidor\easyphp1-8\www\proyecto\menuadmin.php:4) in d:\utilidades\internet\servidor\easyphp1-8\www\proyecto\menuadmin.php on line 6
He leido que puede ser problemas de los espacios o del php.ini... pero es que no doy con la tecla
A ver si alguien me ayuda a revisar el código o arroja luz.
Gracias