PHP - Notice: A session had already been started -

 
Vista:
sin imagen de perfil

Notice: A session had already been started -

Publicado por Edgar (3 intervenciones) el 09/12/2016 01:06:54
Que tal espero no molestarlos, tengo un pequeño incoveniente con mi codigo, estoy consiente que el error es por que se estan duplicando las sesiones pero no logro quitar el mensaje de Notice.

Notice: A session had already been started - ignoring session_start() in C:\xampp\htdocs\....php on line 3
Si elimino el session_start() automaticamente me manda la alerta de Usuario no Valido.

El Codigo es el siguiente:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
 
session_start();
 
require_once('conexion.php');
 
if(isset ($_SESSION['tp']))
{
 
$Var =($_SESSION['tp']);
	if($Var == 'Admin')
	{
  		require_once('menu.php');
	}
	elseif($Var == 'Limit')
	{
		require_once('consultas.php');
	}
	else
	{
		echo "<script>alert('Usuario No Valido');</script>";
		echo "<script>document.location.href='consultas.php';</script>\n";
	}

Los archivos menu y consultas son los que tienen la variable de session:

menu.php (el archivo consultas es igual lo que cambia es valor de $Var)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
 
session_start();
 
 
require_once('Conexion.php');
 
if(isset ($_SESSION['tp']))
{
	$Var = ($_SESSION['tp']);
	if($Var == 'Admin')
	{
 
?>


Quisiera saber si existe un manera de destruir una sesion sin afectar al archivo, espero que me puedan ayudar.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Lopez
Val: 395
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Notice: A session had already been started -

Publicado por Lopez (128 intervenciones) el 09/12/2016 05:53:10
Hola Edgar,

Claro que existe.
Puedes usar en menu.php

1
2
unset($_SESSION['tp o $Var']);
session_destroy()

Y luego iniciar otra.
Saludos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Notice: A session had already been started -

Publicado por Edgar Pacheco (3 intervenciones) el 09/12/2016 16:06:42
Muchas gracias lo voy a probar.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Notice: A session had already been started -

Publicado por Edgar (3 intervenciones) el 09/12/2016 17:03:07
el unset va dentro de un if?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Lopez
Val: 395
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Notice: A session had already been started -

Publicado por Lopez (128 intervenciones) el 09/12/2016 18:28:27
Edgar,
Asi es, dentro del IF.
Pero si lo que buscas es aplicarlo a tu problema, debes comprender a que, el error se refiere,
para el caso, es que estas volviendo a iniciar la sesion (vía include).
Te recomiendo mejor compruebes si es que existe una sesion activa.
Tipea esto en menu.php/consultas.php

1
2
3
if(!isset($_SESSION)){
 session_start();
}

Saludos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar