Comunidad de diseño web y desarrollo en internet online

problema con session_star()

Citar            
MensajeEscrito el 04 Oct 2011 01:20 pm
index.php:
<?php
include("include/conn.inc.php");
session_start();
?>
...

cuando tenmino y quiero salir de mediante logout.php
<?php
session_start();
session_unset();
session_destroy();
?>

pero siempre cuando vuelvo a index.php muestra mensaje:
Notice: A session had already been started - ignoring session_start() in /var/www/html/matricula_minrel/index.php on line 3

nota: en conn.inc.php no hay nada mas que los parametros de conexion no se repite el session_start()

Por angelo27

Claber

136 de clabLevel



 

msie8
Citar            
MensajeEscrito el 04 Oct 2011 01:32 pm
prueba a colocar session_start() antes del include. Asegúrate de no tener ninguna configuración php.ini o htaccess donde tengas un archivo auto_prepend que agregue un session start al principio o que en el con.inc.php no llamas a su vez a algun include con esta sentencia.

siempre puedes usar el siguiente código para evitar el mensaje

Código PHP :

if(!isset($_SESSION))
{
session_start();
}  

pero creo que es mejor encontrar la causa de ese error,
por que no eliminas el sesion_start de la linea 3 del index.php y compruebas si funciona??? si es así , es que en algún punto se ha agregado session_start al inicio de ese archivo

un saludo.

Por bray

65 de clabLevel



 

firefox
Citar            
MensajeEscrito el 04 Oct 2011 02:56 pm
probe la session dentro del if y me mando mensaje de alerta osea al parecer hay una sesion abierta previa la cual hace que me muestra ese mensaje: Notice
no cree ningun fichero php.ini
y en conn.ini.php solo hay parametros de conexion a la BD no veo session_star()

eliminar session_star() de index.php y funciona normal sin problemas igual en mis demas ficheros pero es esto seguro no es una mala practica, esta bien para salir del paso pero esto tiene consecuencias despues cuando aumente el trafico de varias sesiones ?

Por angelo27

Claber

136 de clabLevel



 

msie8
Citar            
MensajeEscrito el 04 Oct 2011 03:10 pm
el php.ini no lo creas tu , esta creado en el servidor y puede contener algun parametro que inicie sesion automaticamente en todos los ficheros, si el servidor es de un tercero es posible que este configurado asi automaticamente, esto es facil de saber ¿te pasa solo en el index.php ó en todos los archivos donde tienes session_start()? si es solo en el index.php el error esta en ese archivo y en los archivos que llama mediante include, si te pasa en todos los archivos con session_start() el error puede ser alguna configuracion en el php.ini o htaccess.

El codigo que te pase tiene un error, faltan los parentesis en session_start() y cerrar la llave del if, que se lo debio comer al ponerle las etiquetas code y no me di cuenta.

Eliminar el session_start() no es mala practica en si mismo, siempre que sepas donde se inicia la sesion y lo tengas claro (y comentado en el código para futuras referencias) lo malo es no saber donde se inicia la sesion, estos errores pueden ser difíciles de ver sobre todo si el codigo es grande.¿no hay ninguna otra función en ese documento que llame a session_start() ? es que la verdad es que es bastante complejo el error.

si ves que no lo encuentas y no te importa postear el codigo del index.php , puede ayudarte a buscar el error.

si index.php llama a algun otro script con include tambien estaria bien ver el codigo.

suerte

Por bray

65 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.