Comunidad de diseño web y desarrollo en internet online

SESIONES

Citar            
MensajeEscrito el 05 Ago 2008 04:20 am
Buenas a todos... Estoy comenzando con las sesiones y me tope con un detalle del que no he encontrado solucion y vaya que he leido manuales... En el index de una pagina inicio una sesion la cual no toma los valores que le indico y en la pantalla aparece lo siguiente function.session-start esto me aparece dos veces pero no lo marca como error.....

El codigo es el siguiente.
if( !isset($_SESSION))
{
session_start();
$usuario=$_POST['usuario'];
$_SESSION['usuario']=$usuario;
}
else
{
$nick=$_SESSION['usuario'];
}

Por SML_BC

6 de clabLevel



Genero:Masculino  

msie7
Citar            
MensajeEscrito el 05 Ago 2008 12:38 pm
Antes de ese codigo envias algo al navegador? o mejor dicho, ese codigo esta al principio de tu script php??

Por EmiR

Claber

678 de clabLevel

2 tutoriales

Genero:Masculino   Héroes

firefox
Citar            
MensajeEscrito el 05 Ago 2008 03:54 pm
Prueba colocando la función session_start() al inicio del tu archivo PHP, cuando trabajas con sesiones en PHP esta función debe de estar al principio de cada archivo antes de utilizar cualquier variable relacionada con sesiones.
Para saber si hay algún valor en la sesión prueba de la siguiente forma:

Código :

session_start();
if(isset($_SESSION['algun_valor']))
{
  echo 'el valor en la sesión es: '.$_SESSION['algun_valor'];
}
else
{
  echo 'no hay valores en la sesión';
}

Por psycho-vnz

Claber

1186 de clabLevel

7 tutoriales

Genero:Masculino  

firefox
Citar            
MensajeEscrito el 05 Ago 2008 06:24 pm

SML_BC escribió:

Buenas a todos... Estoy comenzando con las sesiones y me tope con un detalle del que no he encontrado solucion y vaya que he leido manuales... En el index de una pagina inicio una sesion la cual no toma los valores que le indico y en la pantalla aparece lo siguiente function.session-start esto me aparece dos veces pero no lo marca como error.....

El codigo es el siguiente.
if( !isset($_SESSION))
{
session_start();
$usuario=$_POST['usuario'];
$_SESSION['usuario']=$usuario;
}
else
{
$nick=$_SESSION['usuario'];
}
En efecto, no puedes lanzar el

Código :

if(!isset($_SESSION){
sin antes poner

Código :

session_start();
Esto ultimo va primero.

Por Camuss

498 de clabLevel

1 tutorial
1 articulo

Genero:Masculino  

Lima City - Perú

firefox
Citar            
MensajeEscrito el 05 Ago 2008 08:25 pm
Si era por lo del session_start, estaba un poco confuso por que un profesor me habia dicho que eso nomas debia ponerse una vez. Pero ya funciono muchas gracias.

Tenia que validar 3 caso; si entraba sin logearse, si ya estaba logeado o si apenas habia recibido los datos del login(los cuales son recibidos enviados por POST). Dependiendo de cada caso es una funcion diferente.

Quedo de la siguiente manera, lo dejo por si es de utilidad para alguien...

Código :

<?php
  session_start(); 
  if (!isset($_SESSION["usuario"]))
  { 
     if($_POST['usuario']!='')
     {
        $bandera = 1;  //recibio datos del login
    }
    else
          $bandera = 2; // uso sin login
  }
  else
  {  
      $bandera = 3; //ya esta logeado
  } 
?> 

Por SML_BC

6 de clabLevel



Genero:Masculino  

msie7
Citar            
MensajeEscrito el 06 Ago 2008 03:30 pm
Recuerda que en cada pagina en la que necesites usar la variable $_SESSION deberas colocar nuevamente al inicio:

Código :

session_start();

Por Camuss

498 de clabLevel

1 tutorial
1 articulo

Genero:Masculino  

Lima City - Perú

firefox

 

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