Foros del Web » Programando para Internet » PHP »

Problemas al validar usuario

Estas en el tema de Problemas al validar usuario en el foro de PHP en Foros del Web. Buenas, soy nueva en esto y estoy teniendo el siguiente problema, Tengo una zona reservada, entonces lo que hago es que si esta en la ...
  #1 (permalink)  
Antiguo 14/02/2005, 11:52
 
Fecha de Ingreso: noviembre-2002
Mensajes: 34
Antigüedad: 15 años
Puntos: 0
Problemas al validar usuario

Buenas, soy nueva en esto y estoy teniendo el siguiente problema,
Tengo una zona reservada, entonces lo que hago es que si esta en la base de datos entra y sino no lo dejo pasar.
Pues bien, la primera vez que se valida me da un error y sin embargo si vuelvo a introducir el nombre de usuario y la contraseña, ya lo deja entrar sin problemas.
El codigo es el siguiente:

<?php
//Conexion con la base
mysql_connect("localhost","root","root");
//Ejecucion de la sentencia SQL
$result=mysql_db_query("observatorio","select * from Usuarios where usuario='$HTTP_POST_VARS[usuario]' and contrasenya='$HTTP_POST_VARS[contra]'");

//miramos a ver si tenemos algun dato
$num=mysql_num_rows($result);
mysql_free_result($result);
session_start();

if ($num>0)
{
$HTTP_SESSION_VARS["Valida"]="1";
header("location:index02.php");
}
else
{
$HTTP_SESSION_VARS["Valida"]="0";
header("location:login.php");
}
?>

Los errores son los siguientes:

Notice: Undefined index: Valida on line 3

Warning: Cannot modify header information - headers already sent by (output started at C:\Inetpub\wwwroot\observatorio\admin\index02.php: 3) line 5

Es como si la primera vez la variable de session no estuviese creada, como lo soluciono???

Gracias.
  #2 (permalink)  
Antiguo 15/02/2005, 01:01
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 13 años, 4 meses
Puntos: 101
Prueba con:
Código PHP:
<?php
session_start
();   
  
//Conexion con la base
mysql_connect("localhost","root","root");
  
//Ejecucion de la sentencia SQL
$user=$_POST['usuario']:
$contra=$_POST['contra'];
$result=mysql_db_query("observatorio","SELECT * FROM Usuarios WHERE usuario='$user' AND contrasenya='$contra'");
      
  
//miramos a ver si tenemos algun dato
    
$num=mysql_num_rows($result); 
    
mysql_free_result($result);

     
 if (
$num>0)
 { 
   
$_SESSION["Valida"]=1
   
header("Location:index02.php");
  }
 else
 {
  
$_SESSION["Valida"]=0
  
header("location:login.php");
 } 
?>
Nada nuevo, solo le dí una sintexis más estricta... ojalá y sea eso. Suerte!
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #3 (permalink)  
Antiguo 15/02/2005, 02:41
 
Fecha de Ingreso: noviembre-2002
Mensajes: 34
Antigüedad: 15 años
Puntos: 0
no funciona me sigue dando el mismo error
  #4 (permalink)  
Antiguo 15/02/2005, 02:50
 
Fecha de Ingreso: noviembre-2004
Mensajes: 68
Antigüedad: 13 años
Puntos: 0
quieres hacer que si el usuario ha ingresado los datos ingrese a index02.php y si no lo ha ingresado a login.php???
  #5 (permalink)  
Antiguo 15/02/2005, 03:25
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 13 años, 4 meses
Puntos: 101
.. quiere que, después que el usuario ha ingresado sus datos, corroborar que esté en su base de datos. Si lo está envia a index02.php, sino a login.php...
... me late que es problema de configuración de sesiones en php.ini.
¿Dónde haz probado éste código?? Yo lo probé en línea y funcionó...
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"

Última edición por jam1138; 15/02/2005 a las 05:02
  #6 (permalink)  
Antiguo 15/02/2005, 03:27
 
Fecha de Ingreso: noviembre-2002
Mensajes: 34
Antigüedad: 15 años
Puntos: 0
sip, el usuario introduce su nombre de usuario y su contraseña, entonces si es correcta entra en index02.php y si no es correcta vuelve a login.php.
  #7 (permalink)  
Antiguo 15/02/2005, 03:28
 
Fecha de Ingreso: noviembre-2002
Mensajes: 34
Antigüedad: 15 años
Puntos: 0
lo he probado off-line en mi ordenador ahora lo tengo que subir al servidor.
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:16.