Foros del Web » Programando para Internet » PHP »

pasar variables

Estas en el tema de pasar variables en el foro de PHP en Foros del Web. Buen día, debido a la seguridad tengo register_global deshabilitado, siempre uso variables de sesión para trasladar los valores de las varibles pero tengo una nueva ...
  #1 (permalink)  
Antiguo 24/04/2012, 10:26
 
Fecha de Ingreso: agosto-2010
Mensajes: 105
Antigüedad: 13 años, 8 meses
Puntos: 3
pasar variables

Buen día, debido a la seguridad tengo register_global deshabilitado, siempre uso variables de sesión para trasladar los valores de las varibles pero tengo una nueva consulta a la base de datos que arroja varios resultados por medio de un while lo que hace que la variable de sesion tome solo el último registro consultado. Ya busqué varias maneras de poner la variable de sesión sin éxito. Me podrá ayudar alguien?

Código:
Código PHP:
 <?php $result mysql_query("SELECT * FROM reporte ORDER BY fec_cap DESC");
 

while (
$registro mysql_fetch_array($result)) { ?>

        <tr>
          <td><?php $_SESSION["id"] = $registro['usu_id']; echo "<a href=usuarios_editar1.php><font color='#FF0000'>[" $registro['usu_nombre'] . "] </a>";</td>
La idea es que en la tabla de resultado haga clic en el Id del cliente para editarlo pero la varible $_SESSION["id"] en todos los renglones tiene el mismo valor que es el último id encontrado en la consulta.

Muchas gracias de antemano
  #2 (permalink)  
Antiguo 24/04/2012, 10:32
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: pasar variables

Recuerda que PHP se ejecuta en el servidor, lo que haces con la sesión es una simple asignación que se ejecuta ahí mismo y no "al hacer click".

De ninguna manera es posible que se ejecute como imaginas, necesitas para la variable por un enlace y luego recuperarla.

script.php?foo=bar

Código PHP:
echo $_GET['foo']; // bar 
Por favor, consulta un manual:
http://www.php.net/variables.external
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 24/04/2012, 11:57
 
Fecha de Ingreso: agosto-2010
Mensajes: 105
Antigüedad: 13 años, 8 meses
Puntos: 3
Respuesta: pasar variables

gracias pateketrueke pero precisamente lo que tienes despues del ? es una url y no pasará ya que tengo desabilitado register globals en mi servidor...

El tema es que php recomendó no activar el register globals y por tanto ya no se puede usar un codigo para pasar variables url como:

Código PHP:
<? while ($registro mysql_fetch_array($result)) {
echo 
"<a href=usuarios_editar1.php?editar.php=" $registro['usu_id'] . ">} ?>
en el cual cada renglón del resultado mantiene el valor del registro que le corresponde a cada usuario. Leí que el valor se puede pasar con una variable de sesión, pero evidentemente no me funciona con un query que obtiene varios registros.

Última edición por jctoledo; 24/04/2012 a las 12:14
  #4 (permalink)  
Antiguo 24/04/2012, 12:17
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 15 años, 11 meses
Puntos: 528
Respuesta: pasar variables

Debes saber cómo funciona el register_globals, activarlo significa que pasar una variable por url no será leída como cualquier otra variable, si no como elemento del arreglo $_GET como te indicó pateketrueke. No significa que no puedas pasar variables.
  #5 (permalink)  
Antiguo 24/04/2012, 13:20
 
Fecha de Ingreso: agosto-2010
Mensajes: 105
Antigüedad: 13 años, 8 meses
Puntos: 3
Respuesta: pasar variables

exacto, y al tenerlo desactivado evidentemente no lo lee como elemento GET, por eso busco otra forma de pasar la variable
  #6 (permalink)  
Antiguo 24/04/2012, 14:01
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 15 años, 11 meses
Puntos: 528
Respuesta: pasar variables

Me equivoqué al escribir la frase:
Debes saber cómo funciona el register_globals, activarlo

debí decir
Debes saber cómo funciona el register_globals, deshabilitarlo....

El caso es que en on o en off seguirás pudiendo usar el vector $_GET
  #7 (permalink)  
Antiguo 24/04/2012, 15:39
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: pasar variables

Cita:
Iniciado por jctoledo Ver Mensaje
exacto, y al tenerlo desactivado evidentemente no lo lee como elemento GET, por eso busco otra forma de pasar la variable
Por favor lee la documentación ya que lo que dices es una total mentira.

Las super-variables siempre serán accesibles sin importar el valor de register_globals.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Etiquetas: mysql, registro, tabla, variables, usuarios
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 03:08.