Foros del Web » Programando para Internet » PHP »

Variable SESSION PHP

Estas en el tema de Variable SESSION PHP en el foro de PHP en Foros del Web. Hola. Estoy haciendo un codigo con una variable de session php pero no me funciona correctamente. En una pagina tiene este codigo: Código PHP:  session_start ...
  #1 (permalink)  
Antiguo 29/06/2010, 02:40
 
Fecha de Ingreso: junio-2008
Ubicación: Madrid
Mensajes: 374
Antigüedad: 15 años, 10 meses
Puntos: 1
Variable SESSION PHP

Hola.

Estoy haciendo un codigo con una variable de session php pero no me funciona correctamente.

En una pagina tiene este codigo:

Código PHP:

 session_start
(); // Con este codigo empezamos abrir memoria un espacia para guardar variables de sesion
session_register(usuario); // Con este codigo empezamos a registrar una variable que la ponemos entreparentesis


$_SESSION[usuario] = "1"
Y en la otra página:

Código PHP:

<?
if (isset($_SESSION['usuario']))
            
 
{
            
 
        echo 
"Variable registrada";
            
 
}
            
 
else
            
 
{
            
 
        echo 
"Variable NO registrada";
            
 
}

 

?>
Me lleva la variable vacia.

PORQUE
__________________
Cada día se aprende algo nuevo
  #2 (permalink)  
Antiguo 29/06/2010, 02:50
Avatar de oso96_2000  
Fecha de Ingreso: junio-2002
Ubicación: Distrito Federal
Mensajes: 558
Antigüedad: 21 años, 9 meses
Puntos: 35
Respuesta: Variable SESSION PHP

Primero, no uses session_register, como puedes ver en la documentación, ya no es recomendado: "This function has been DEPRECATED as of PHP 5.3.0. Relying on this feature is highly discouraged."

Segundo, las claves alfanuméricas de un arreglo van entrecomilladas. $_SESSION['usuario'] (tanto para asignarla como para leerla).

Tercero, necesitas usar session_start() en todas las paginas donde uses sesiones, ya sea para asignarlas o leerlas. Prueba ponerlo en tu pagina donde compruebas que la sesión exista.

Saludos.
__________________
Sin Ideas
  #3 (permalink)  
Antiguo 29/06/2010, 03:02
 
Fecha de Ingreso: junio-2008
Ubicación: Madrid
Mensajes: 374
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: Variable SESSION PHP

Ahora si me funciona pero no me vale todavia....

Lo que quiero hacer es un admin con usuario y contraseña que cuando entre el usuario me pinte en otra página unas tablas con descargas PDF para que ningun usuario no pueda descargarse esos pdf.

El codigo ahora me pinta siempre.

Que codigo puedo usar para eso.
__________________
Cada día se aprende algo nuevo
  #4 (permalink)  
Antiguo 29/06/2010, 03:18
 
Fecha de Ingreso: octubre-2009
Ubicación: En el ordenador
Mensajes: 504
Antigüedad: 14 años, 6 meses
Puntos: 10
Respuesta: Variable SESSION PHP

Puedes hacerlo todo en una página o en diversas páginas:

Si quieres hacerlo en una sola pagina sería más o menos así:

Código PHP:
session_start();
if (
$_POST){
/*Aquí harías la comprobación de los datos enviados en el formulario de entrada*/
      
if(/*No se que poner aquí, pero como diciendo "correcto"*/){
             
$_SESSION['usuario'] = 1;
      }else{
             echo 
'El nombre de usuario o la contraseña no existe';
      }
}
if(isset(
$_SESSION['usuario']) && $_SESSION['usuario'] == 1){
      
/*Muestras las tablas*/
}else{
      
/*muestras el formulario para loguearse, con action a esta página*/

En varias páginas sería:

Código PHP:
session_start();
if (
$_POST){
/*Aquí harías la comprobación de los datos enviados en el formulario de  entrada*/
      
if(/*No se que poner aquí, pero como diciendo "correcto"*/){
             
$_SESSION['usuario'] = 1;
      }else{
             echo 
'El nombre de usuario o la contraseña no existe';
      }
}
if(isset(
$_SESSION['usuario']) && $_SESSION['usuario'] == 1){
      
header('Location:/*La página de las tablas*/');
}else{
      
header('Location:/*La página de logueo, cuyo action lleve aquí*/');

  #5 (permalink)  
Antiguo 29/06/2010, 03:27
 
Fecha de Ingreso: junio-2008
Ubicación: Madrid
Mensajes: 374
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: Variable SESSION PHP

MIra no me habeis entendido mucho os enseño todo mi codigo:

Código PHP:

<?php
    
    $conexion 
mysql_connect(','','');
       mysql_select_db('',$conexion);
           session_start(); // Con este codigo empezamos abrir memoria un espacia para guardar variables de sesion
session_register(usuario); // Con este codigo empezamos a registrar una variable que la ponemos entreparentesis


$_SESSION[usuario] = "1";



if ($_POST[enviar] != ""){
$sql = "SELECT * FROM id_usuarios WHERE usuario ='".$_POST['usuario']."' AND contrasena='".$_POST['contrasena']."'";
$rs = mysql_query($sql,$conexion);
    
    if (mysql_num_rows($rs) > 0){

        header('
Location:9013dos=45234454_2fbg-5-445hrr656ef-gospos=_54irgos-55dresitin.php');
        exit;
        }
        else{ 
        $valordevuelto = "<font face=Verdana, Arial, Helvetica, sans-serif' 
size='1' color='#FFDFFF'>A introducido mal algun datovuelva a intentarlo";
    }
        mysql_close();
}





?>
Y en la otra pagina quiero que me pinte una tabla de descargas pdf pero tengo este codigo:

Código PHP:

<?

 session_start
();
 
if (isset(
$_SESSION[usuario]))
            
 
{
            
 
        echo 
"Variable registrada";
            
 
}
            
 
else
            
 
{
            
 
        echo 
"Variable NO registrada";
            
 
}

 

?>
__________________
Cada día se aprende algo nuevo
  #6 (permalink)  
Antiguo 29/06/2010, 03:36
 
Fecha de Ingreso: octubre-2009
Ubicación: En el ordenador
Mensajes: 504
Antigüedad: 14 años, 6 meses
Puntos: 10
Respuesta: Variable SESSION PHP

<font color="Black">Cambios
Código PHP:
<?php 
     
    $conexion 
mysql_connect('','',''); 
       
mysql_select_db('',$conexion); 
           
session_start(); // Con este codigo empezamos abrir memoria un espacia para guardar variables de sesion 

$_SESSION['usuario'] = "1"



if (
$_POST['enviar'] != ""){ 
$sql "SELECT * FROM id_usuarios WHERE usuario ='".$_POST['usuario']."' AND contrasena='".$_POST['contrasena']."'"
$rs mysql_query($sql,$conexion); 
     
    if (
mysql_num_rows($rs) > 0){ 

        
header('Location:9013dos=45234454_2fbg-5-445hrr656ef-gospos=_54irgos-55dresitin.php'); 
        exit; 
        } 
        else{  
        
$valordevuelto "<font face=Verdana, Arial, Helvetica, sans-serif' size='1' color='#FFDFFF'>A introducido mal algun dato, vuelva a intentarlo"
    } 
        
mysql_close(); 
}
Arriba, el mysql_connect, han de ser 2 comillas.
session_register no hace falta
$_SESSION[usuario] => usuario ha de ir entre comillas
$_POST[enviar] => enviar ha de ir entre comillas
  #7 (permalink)  
Antiguo 29/06/2010, 03:42
 
Fecha de Ingreso: junio-2008
Ubicación: Madrid
Mensajes: 374
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: Variable SESSION PHP

Pues a mi me funciona bien sin comillas, si el codigo funciona bien pero cuando habro otro navegador sigue mostrando la variable SESSION y quiero que no se muestre solo cuando entremos con usuario y contraseña.

Luego copio el enlace 9013dos=45234454_2fbg-5-445hrr656ef-gospos=_54irgos-55dresitin.php y me muestra la variable y no deberia ser asi.
__________________
Cada día se aprende algo nuevo
  #8 (permalink)  
Antiguo 29/06/2010, 03:52
 
Fecha de Ingreso: octubre-2009
Ubicación: En el ordenador
Mensajes: 504
Antigüedad: 14 años, 6 meses
Puntos: 10
Respuesta: Variable SESSION PHP

9013dos=45234454_2fbg-5-445hrr656ef-gospos=_54irgos-55dresitin.php

Es ahí donde debes tener el error, ya que lo que hace todo este script es redirigirte ahí o decirte que no puedes entrar.

Revisa ahí si tienes algún echo o algo así que escriba en pantalla la sesión
  #9 (permalink)  
Antiguo 29/06/2010, 03:55
 
Fecha de Ingreso: junio-2008
Ubicación: Madrid
Mensajes: 374
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: Variable SESSION PHP

Si entrar si entro y me pinta la variable session PHP y segun el codigo me pinta que existe dicha variable pero cuando habra con otro navegador no quiero que pinte la variable.
__________________
Cada día se aprende algo nuevo
  #10 (permalink)  
Antiguo 29/06/2010, 03:58
 
Fecha de Ingreso: octubre-2009
Ubicación: En el ordenador
Mensajes: 504
Antigüedad: 14 años, 6 meses
Puntos: 10
Respuesta: Variable SESSION PHP

No acabo de entender lo que quieres, por tanto, voy a quedarme al margen de este tema, y alguien que te entienda que te ayude.
  #11 (permalink)  
Antiguo 30/06/2010, 03:14
 
Fecha de Ingreso: junio-2008
Ubicación: Madrid
Mensajes: 374
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: Variable SESSION PHP

Lo he conseguido ya me funciona las variables de Session.

Gracias por todo.
__________________
Cada día se aprende algo nuevo

Última edición por TIFORO; 30/06/2010 a las 10:25 Razón: He tenido que abrir otro tema con otra pregunta distinta

Etiquetas: session, variables
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 14:26.