Foros del Web » Programando para Internet » PHP »

problemas con session_start()

Estas en el tema de problemas con session_start() en el foro de PHP en Foros del Web. ¡¡¡¡Por favor, que alguien me ayude!!!!! Nosé por que, me sale el siguiente error justo en la sentencia session_start() : Warning: open(/tmp\sess_fe66609ef821471c4bbf385733719cbc, O_RDWR) failed: m ...
  #1 (permalink)  
Antiguo 15/04/2004, 18:35
 
Fecha de Ingreso: octubre-2003
Mensajes: 5
Antigüedad: 16 años, 1 mes
Puntos: 0
problemas con session_start()

¡¡¡¡Por favor, que alguien me ayude!!!!!
Nosé por que, me sale el siguiente error justo en la sentencia session_start() :
Warning: open(/tmp\sess_fe66609ef821471c4bbf385733719cbc, O_RDWR) failed: m (2) in c:\archivos de programa\apache group\apache\htdocs\cft\ejemplos\control.php on line.

El código que uso para verificar si el usuario y contraseña es correcto es:
if ($_POST["usuario"]!="miguel" && $_POST["contrasena"]!="qwerty"){
//usuario y contraseña válidos
//defino una sesion y guardo datos
session_start();
//ob_start();
session_name("autentificado");
session_register("autentificado");

$_SESSION["autentificado"]= "SI";
header ("Location: aplicacion.php");
}else {
//si no existe le mando otra vez a la portada
header("Location: index.php?errorusuario=si");
}
?>

También me sale error en la sentencia donde ocupo el header,
el error que me tira:
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 12
  #2 (permalink)  
Antiguo 15/04/2004, 21:36
Avatar de drcyber  
Fecha de Ingreso: julio-2002
Mensajes: 826
Antigüedad: 17 años, 4 meses
Puntos: 2
Me parece que ese IF es incorrecto; ahi estas diciendo esto:

SI $_POST["usuario"] es distinto a "miguel" Y $_POST["contrasena"] es distinto a "qwerty" entonces AUTENTIFICAR AL USUARIO.

Eso no tiene sentido hombre. Debería quedarte asi:

Código PHP:
if ($_POST["usuario"]=="miguel" && $_POST["contrasena"]=="qwerty"){
  
//usuario y contraseña válidos
  //habilita la salida del buffer
  
ob_start();
  
session_start();
  
session_name("autentificado");
  
$_SESSION['autentificado']= "SI";
  
header ("Location: aplicacion.php"); 
} else {
  
//si no existe le mando otra vez a la portada
  
header("Location: index.php?errorusuario=si");
}
//pones esto al final de tooooda tu página, lo cual deshabilita la salida del buffer
ob_end_flush(); 
Saludos.
__________________
Dr. Cyber
Ingeniarte.com
(soy el mismo Takitei)
  #3 (permalink)  
Antiguo 16/04/2004, 03:47
k2k
 
Fecha de Ingreso: abril-2004
Mensajes: 21
Antigüedad: 15 años, 7 meses
Puntos: 0
Hola!
Yo me encuentro en el mismo problema que Solange. He cogido el tutorial de desarrolloweb para hacer la autentificación de usuarios y me da los siguientes errores:

Warning: Cannot send session cookie - headers already sent by (output started at c:\easyserv\www\admin\control.php:8) in c:\easyserv\www\admin\control.php on line 14

Warning: Cannot send session cache limiter - headers already sent (output started at c:\easyserv\www\admin\control.php:8) in c:\easyserv\www\admin\control.php on line 14

Warning: Cannot add header information - headers already sent by (output started at c:\easyserv\www\admin\control.php:8) in c:\easyserv\www\admin\control.php on line 18


He realizado los cambios que has puesto drcyber, pero me siguen dando los mismos errores.

Al instalar tanto Apache, como Php y MySQL he utilizado un programa llamado ProxServer que te los configura los tres. Puede ser que para que funcionen las sesiones y headers se necesite hacer algun cambio en la configuración? Aunque he estado mirando y creo que ya están activados.

Gracias
  #4 (permalink)  
Antiguo 05/05/2004, 07:53
 
Fecha de Ingreso: mayo-2004
Ubicación: Perú
Mensajes: 160
Antigüedad: 15 años, 7 meses
Puntos: 0
Lo único que tienes que hacer es editar el archivo php.ini y buscar el parámetro session.save_path , allí menciona un directorio tmp. Debes asegurarte de que ese directorio exista en tu computador y listo!!

Ayesha
__________________
"I want to hurt you just to hear you screaming my name" Poison - Alice Cooper
  #5 (permalink)  
Antiguo 05/05/2004, 08:05
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 17 años, 11 meses
Puntos: 129
(drcyber .. el session_name() se define (si lo quieres usar .. pues es opcional) -antes- de session_start() sino, no tiene efecto).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #6 (permalink)  
Antiguo 20/10/2005, 16:17
 
Fecha de Ingreso: octubre-2005
Mensajes: 25
Antigüedad: 14 años, 1 mes
Puntos: 0
para que sirve el session_name y en que me serviria antes del session_start por que ya especifique la ruta valida y sigue sin funcionar

saludos...
  #7 (permalink)  
Antiguo 21/10/2005, 06:23
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 17 años, 11 meses
Puntos: 129
Cita:
Iniciado por punisher_mx
para que sirve el session_name y en que me serviria antes del session_start por que ya especifique la ruta valida y sigue sin funcionar

saludos...
Podrías leer la documentación oficial al respecto:

www.php.net/session_name
(define el nombre de una sesión. Es completamente opcional!!!!!)

www.php.net/session_start
(lo necesitas para iniciar el uso de sesiones. si no lo usas, no podras acceder a valores de tus variables en tu sesión).

Sobre el resto de problemas que tienes .. por favor sigue el hilo de -tus- mensajes:
http://www.forosdelweb.com/showthread.php?t=343436


Un saludo,
  #8 (permalink)  
Antiguo 26/06/2006, 20:01
Avatar de RodriguitoEsparza  
Fecha de Ingreso: junio-2006
Mensajes: 5
Antigüedad: 13 años, 5 meses
Puntos: 0
error de Session_Start()

Cita:
Iniciado por Ayesha
Lo único que tienes que hacer es editar el archivo php.ini y buscar el parámetro session.save_path , allí menciona un directorio tmp. Debes asegurarte de que ese directorio exista en tu computador y listo!!

Ayesha
Que tal, soy nuevo en este foro, y vi que tienen el mismo error que yo :P, yo estoy utilizando una herramienta que se llama EasyServ aunque no se por qué, pero se cambia el nombre del directorio a FoxSer; el punto es que a mi me sale el error de que no se puede abrir o no se encuentra el el archivo ó directorio al utilizar session_start().
He encontrado que la solución es el session.save_path del archivo php.ini, puesto que esa misma variable aparece en el error, diciendo que se compruebe la ruta. Ya he modificado la ruta por una que si se encuentra en mi directorio, pero ni así funciona y ya he buscado otras soluciones pero no encuentro cómo.
¿Existe otra propiedad en la que se deba especificar la dirección para los archivos temporales de las sesiones?.
Espero que alguien me pueda ayudar, muchas gracias
  #9 (permalink)  
Antiguo 26/06/2006, 20:18
Avatar de RodriguitoEsparza  
Fecha de Ingreso: junio-2006
Mensajes: 5
Antigüedad: 13 años, 5 meses
Puntos: 0
comentario del error del header al usuar session_start() líneas antes.

Cita:
Iniciado por Solange
¡¡¡¡Por favor, que alguien me ayude!!!!!
Nosé por que, me sale el siguiente error justo en la sentencia session_start() :
Warning: open(/tmp\sess_fe66609ef821471c4bbf385733719cbc, O_RDWR) failed: m (2) in c:\archivos de programa\apache group\apache\htdocs\cft\ejemplos\control.php on line.

El código que uso para verificar si el usuario y contraseña es correcto es:
if ($_POST["usuario"]!="miguel" && $_POST["contrasena"]!="qwerty"){
//usuario y contraseña válidos
//defino una sesion y guardo datos
session_start();
//ob_start();
session_name("autentificado");
session_register("autentificado");

$_SESSION["autentificado"]= "SI";
header ("Location: aplicacion.php");
}else {
//si no existe le mando otra vez a la portada
header("Location: index.php?errorusuario=si");
}
?>

También me sale error en la sentencia donde ocupo el header,
el error que me tira:
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 12


Qué tal, el error del header, aparece porque la línea donde tienes session_start() te genera un error y lo imprime en la pantalla, entonces al hacer eso, se supone que ya se mandaron cabeceras al navegador (como que ya se abrió una página) y por eso marca el error. Si comentas esa línea del header y corres tu aplicación, verás que no aparecerá la línea de error de headers; y por otro lado, si quitas las dos líneas que tienes para la session, el redireccionamiento a la página que tienes en el header funcionará correctamente.
Si encuentras la solución al error de session_start(), me la pasas porfax !!
  #10 (permalink)  
Antiguo 27/06/2006, 00:39
Avatar de RodriguitoEsparza  
Fecha de Ingreso: junio-2006
Mensajes: 5
Antigüedad: 13 años, 5 meses
Puntos: 0
Solución al problema de session_start()

Nuevamente yo escribiendo, pero ahora para mostrar la solución al error :

Warning: open(/tmp\sess_69ccad44afa431905a0ec8db3c20af47, O_RDWR) failed: No such file or directory (2) in c:\foxserv\www\recibo_web\archivos_php\consultas.p hp on line 3

Warning: open(/tmp\sess_69ccad44afa431905a0ec8db3c20af47, O_RDWR) failed: No such file or directory (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


que salía al utilizar el session_start().

Bueno, pues estube buscando y buscando donde modificar la ruta del session_save_path() pero no encontré la propiedad buena, le modificaba a la propiedad session.save_path() del archivo php.ini y ni así funcionaba, entonces lo que yo hice es cambiar la ruta para el guardado de archivos utilizando la funcion session_save_path(), y después de esta función coloqué el session_start(), y funcionó de maravillaaaaaaa !!! .
En mi caso quedó así :

<?php
session_save_path("C:\\FoxServ\\www\\tmp\\");
session_start();
/// Resto del código

Es importante asegurarse de que la carpeta en la que se guardarán los archivos con la información de las sesiones exista, y en esta dirección que se coloca en la función session_save_path() es OBLIGATORIO que lleve doble diagonal (slash "\\"), si es sobre windows se utiliza la diagonal " \ "; además es necesario poner estas dos líneas así, en cada archivo .php que utilice las sesiones.

Espero haberme explicado bien, y ojalá les funcione.
  #11 (permalink)  
Antiguo 28/03/2007, 10:01
 
Fecha de Ingreso: marzo-2007
Mensajes: 3
Antigüedad: 12 años, 8 meses
Puntos: 0
Re: problemas con session_start()

Hola chicos: Mi problema es parecido...

en controles.php tengo...
<?
require("conexion.php");
?>

<?
$sqlq="select * from acceso";
$resultq=mysql_query($sqlq, $connect);
$reg=mysql_fetch_array($resultq);

$usuario=$reg["usuario"];
$pass=$reg["password"];


if ($_POST["usuario"]==$usuario && $_POST["contrasena"]==$pass){
//usuario y contraseña válidos
//defino una sesion y guardo datos
session_start();
$_SESSION["autentificado"]= "SI";
header("Location: aplicacion.php");
}else {
//si no existe le mando otra vez a la portada
header("Location: index.php?errorusuario=si");
}
?>

Donde en conexion.php hay:

<?
session_start();
[email protected]_connect("localhost","*****","***** ") or die("Error conectando con la base de datos");
mysql_select_db("*****") or die ("Página no disponible");
?>

Mi error es el siguiente:
Warning: Cannot modify header information - headers already sent by (output started at /home/dalton/domains/control.php:5) in /home/dalton/domains/php/control.php on line 23

donde en la linea 23 de control.php hay:
header("Location: index.php?errorusuario=si");

Muy amables si me pueden ayudar, gracias.
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.
Tema Cerrado

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 09:45.