Foros del Web » Programando para Internet » PHP »

Register globals=off y problemas de sesion

Estas en el tema de Register globals=off y problemas de sesion en el foro de PHP en Foros del Web. Hola, estoy desarrollando un site, en el que el registrer_global=off y asi se va a quedar. La cuestión, es que tiene un site administrativo donde ...
  #1 (permalink)  
Antiguo 06/09/2005, 05:13
 
Fecha de Ingreso: enero-2002
Ubicación: Barcelona
Mensajes: 279
Antigüedad: 15 años, 11 meses
Puntos: 1
Register globals=off y problemas de sesion

Hola,

estoy desarrollando un site, en el que el registrer_global=off y asi se va a quedar.

La cuestión, es que tiene un site administrativo donde cada usuario puede o no acceder a determinas areas.
Esto lo hago con una variable de sesión:

$sele=mysql_query("SELECT * FROM user WHERE Login='$user' AND Passw='$password'");
$row=mysql_num_rows($sele);
if($row>0){
$per=mysql_fetch_array($sele);
session_name("back");
$us="user";
$pe="permisos";
session_register($us);
session_register($pe);
session_start();
$permisos=array($per[AD],$per[DI],$per[PR]);
header ("Location:home.php");}

Bueno, el caso es que no sé rescatar los valores del array $permisos y de $user. Ahora en home.php tengo esto:

$back=$_REQUEST['back'];
$us=$_REQUEST['us'];
$pe=$_REQUEST['pe'];
$que=$_REQUEST['que'];
$cat=$_REQUEST['cat'];
$cual=$_REQUEST['cual'];
$cualo=$_REQUEST['cualo'];
$user=$_SESSION['user'];
$permisos=$_SESSION['permisos'];

//MIRA SI HAS INICIADO UNA SESIÓN, SI NO ES ASI TE DA UN ERROR
if(isset($back)){

session_name("back");
$us="user";
session_register($us);
session_start();
$user=$user;
}

Alguien me puede ayudar???

saludos
__________________
Sataca - La Retícula
www.lareticula.com
  #2 (permalink)  
Antiguo 06/09/2005, 14:54
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cuando usas register_globals a OFF no puedes usar "session_register()" para gestionar sesiones, debes usar el array $_SESSION.

Por otro lado .. session_start() uses o no $_SESSION siempre debe ir antes de tus session_register() o llamadas a $_SESSION.

más info:
www.php.net/session
Y en las FAQ's de este foro tienes ejemplos simples de uso.

Un saludo,
  #3 (permalink)  
Antiguo 06/09/2005, 15:13
 
Fecha de Ingreso: septiembre-2005
Ubicación: Bs as, capital
Mensajes: 77
Antigüedad: 12 años, 3 meses
Puntos: 0
Utiliza el codigo como el siguiente:

$sele=mysql_query("SELECT * FROM user WHERE Login='$user' AND Passw='$password'");
$row=mysql_num_rows($sele);
if($row>0){
$per=mysql_fetch_array($sele);
$_SESSION[$user]=$per[Login];
$_SESSION[$permisos]=array($per['AD'],$per['DI'],$per['PR']);
header ("Location:home.php");}

En la home.php:

$back=$_REQUEST['back'];
$us=$_REQUEST['us'];
$pe=$_REQUEST['pe'];
$que=$_REQUEST['que'];
$cat=$_REQUEST['cat'];
$cual=$_REQUEST['cual'];
$cualo=$_REQUEST['cualo'];
$user=$_SESSION['user'];
$permisos=$_SESSION['permisos'];

Y para rescatar los datos del array $permisos realizas el siguiente codigo:

foreach($permisos as $nombre=>$valor){
//Codigo que se realiza de acuerdo a los permisos
}
__________________
Soy MC VENOM, 100% rapero!!!
  #4 (permalink)  
Antiguo 07/09/2005, 10:55
 
Fecha de Ingreso: enero-2002
Ubicación: Barcelona
Mensajes: 279
Antigüedad: 15 años, 11 meses
Puntos: 1
funcionó

gracias, funcionó.

Ahora tengo otro problema, tengo un formulario un campo tipo "file" y no me recoge el valor.

<input type="file" name="archivo">

y he probado con
$archivo=$_GET['archivo'];
$archivo=$_POST['archivo'];
$archivo=$_REQUEST['archivo'];

Pero no hay forma, ni de que suba el archivo ni siquiera que inserte el nombre en la bbdd, usando $archivo_name.

¿porque?
__________________
Sataca - La Retícula
www.lareticula.com
  #5 (permalink)  
Antiguo 07/09/2005, 12:45
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Usa $_FILES como se indica en la documentación oficial de PHP .. ahí veras como obtener las propiedades del archivo que subes y como moverlo a su destino definitivo desde el directorio temporal donde quedan en principio + la definición de tu formulario HTML (importante!!).

http://www.php.net/manual/en/features.file-upload.php

En general también tienes ejemplos en las FAQ's de este foro PHP .. intenta hecharle un vistazo .. Y a ser posible ... no mezcles temas. Tu pregunta inicial era sobre "sesiones" .. ahora estás en otro tema "uploads".

Un saludo,
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 13:14.