Foros del Web » Programando para Internet » PHP »

autentificación en php

Estas en el tema de autentificación en php en el foro de PHP en Foros del Web. Primero que todo estoy trabajando con php y base de datos access. En mi aplicación, primero tengo un formulario el cual se debe ingresar el ...
  #1 (permalink)  
Antiguo 30/03/2004, 01:38
 
Fecha de Ingreso: octubre-2003
Mensajes: 5
Antigüedad: 20 años, 5 meses
Puntos: 0
Exclamación autentificación en php

Primero que todo estoy trabajando con php y base de datos access. En mi aplicación, primero tengo un formulario el cual se debe ingresar el nombre de usuario y password, luego esos datos, los comparo con los de la tabla usuario que tengo en mi base de datos access, luego ejecuto esa consulta, y dependiendo si el usuario es válido o no defino sesiones, el codigo que tengo es el siguiente...


if (odbc_fetch_row($resultados)==0){
//usuario y contraseña válidos
//defino una sesion y guardo datos
session_start();
session_register("autentificado");
$autentificado = "SI";
header ("Location: http://localhost/cft/PROGRAMACION/aplicacion.php");
}else {
//si no existe le mando otra vez a la portada
header("Location: http://localhost/cft/PROGRAMACION/au...rrorusuario=si");
}
odbc_free_result($resultados);
odbc_close($conecion);

*******
Al ejecutar mi aplicación me sale los siguientes errores:
Warning: open(/tmp\sess_7fe25d5768145ce2287a7555d0862c70, O_RDWR) failed: m (2) in c:\archivos de programa\apache group\apache\htdocs\cft\ejemplos\control.php on line 6

Warning: Cannot add header information - headers already sent by (output started at c:\archivos de programa\apache group\apache\htdocs\cft\ejemplos\control.php:6) in c:\archivos de programa\apache group\apache\htdocs\cft\ejemplos\control.php on line 8

Warning: open(/tmp\sess_7fe25d5768145ce2287a7555d0862c70, O_RDWR) failed: m (2) in Unknown on line 0

Warning: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/tmp) in Unknown on line 0


Si alguien sabe porque me arroja esto, por favor, infórmenme.
¡¡¡¡¡¡¡¡¡¡¡¡¡ URGENTE !!!!!!!!!!!!!!!!!!
  #2 (permalink)  
Antiguo 30/03/2004, 01:51
 
Fecha de Ingreso: abril-2003
Ubicación: Zaragoza
Mensajes: 10
Antigüedad: 20 años, 11 meses
Puntos: 0
HOla, a ver voy a decirte algunas cosas que de primeras he visto. La sesion empiézala al principio de la pág, es mejor. Los headers, en este caso el header no te funciona por que tienes elementos de html antes que el php. Para que funcione el header, como es un direccionamiento de PHP NO tiene que leer anteriormente html, sino no fnuciona. Entonces si esta pág es la que hace la comprobación me imagino, no tienes por que meter elementos
que no sean de la consulta ya que esta pag no la va a ver el usuario no?.

Otra cosilla, el error " (/tmp\sess_7fe25d5768145ce2287a7555d0862c70," me temo que es producido por lo siguiente.

Has empezado una sesion, muy bien, pero no le has puesto nombre, y estas registrando una sesion con register sin antes haberle dado nombre.

esto es asi:

session_start();
session_name(el que sea);
session_register(el que sea);

Creo que he contestado a todo, si me dejo algo y ame lo dirás.

un saludo.
  #3 (permalink)  
Antiguo 30/03/2004, 06:13
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 2 meses
Puntos: 129
El error se presenta en principio por la NO configuración de:

session.save_path con un directorio válido (que exista) y que tenga permisos de escritura en tu php.ini para que pueda PHP grabar los archivos de sesión que va a crear.

El resto de errores se probocan en cadena por qué se mostró el primer mensaje de error y eso proboca salida al navegador .. etc ..etc ...

Fijate en :
Cita:
Warning: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/tmp) in Unknown on line 0
Por otro lado .. si usas PHP 4.1.0 o superior es ALTAMENTE recomendable que uses los arrays superglobales: $_SESSION y afines para definier y acceder a variables de sessión ..

El uso que haces asumiento como globales las variables de sesión es altamente inseguro.. (lee las FAQ's del foro .. se comenta el tema)

También .. usa:

exit; despues de tus header() de Location .. así terminas la ejecución de tus scrips en ese punto que es lo lógico.


Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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 05:23.