Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/05/2007, 08:02
GoldFran
 
Fecha de Ingreso: mayo-2007
Mensajes: 237
Antigüedad: 17 años
Puntos: 3
hasta las narices de problemas con las sesiones.

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&ntilde;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 (
$registromysql_fetch_row($resultado))
{
$lv $registro[3];

if (
$lv != && 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 &aacute;rea administrativa</strong></p>
<p align="center"><strong>Desde aqu&iacute; puedes hacer las siguientes operaciones </strong></p>
<p align="center">&nbsp;</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>&nbsp;</td>
    <td>&nbsp;</td>
    <td><p>&nbsp;</p>
    </td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
</table>
<p align="center">&nbsp;</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