Foros del Web » Programando para Internet » PHP »

¿Variables de Sesion, Post o Get?

Estas en el tema de ¿Variables de Sesion, Post o Get? en el foro de PHP en Foros del Web. Hola, Repasando mi web aún en construcción he encontrado errores, logicamente de novato, ya que es mi primera web dinamica. He usado en varias partes ...
  #1 (permalink)  
Antiguo 09/04/2012, 09:54
 
Fecha de Ingreso: marzo-2012
Mensajes: 27
Antigüedad: 12 años, 1 mes
Puntos: 0
¿Variables de Sesion, Post o Get?

Hola,

Repasando mi web aún en construcción he encontrado errores, logicamente de novato, ya que es mi primera web dinamica.
He usado en varias partes el paso de variables por URL ($_GET) ya que no suponian un problema al ser datos acesibles para todos los visitantes registrados y no afecta si alguien cambia un valor de la URL. Pero ahora ya comienzo a necesitar más seguridad y esos cambios de valores manualmente por un usuario registrado hacen que se pueda acceder a los datos de otro.
Para identificar al usuario utilizo uan variable de sesión, pero hay otras variables de sesion que necesito ir modificando y el metodo que uso no funciona.
Me explico, en mi web un usuario puede crear equipos, y modificar el perfil de cada equipo.
Cuando yo muestro el listado de equipos de un usuario, para acceder a su perfil envio el ID del equipo por URL, y esto hace que ese valor pueda modificarse facilmente. Ahora he decidido pasarlo por una variable de sesion, pero me he encontrado con el siguiente problema:

Pasado por URL: (Como lo tengo pero no es seguro)

Código PHP:
<?php  if($num_rows != 0){?>
        <table width="432" border="0">
          <?php do { ?>
          <tr>
               <th width="38" scope="col"><span style="color:#000"><img src="images/ball011.gif" width="20" height="20" align="middle" /></span></th> 
              <th width="298" scope="col"><h3 style="color:#000" align="left"><?php echo $row_Recordset1['strName']; ?> </h3></th>
            <th width="68" scope="col"><a href="editar_equipo.php?recordID=<?php echo $row_Recordset1['idMiequipo']; ?>"><img src="images/editar-icono-9796-32.png" width="32" height="32" align="left" title="Editar" /></a><a href="eliminar_equipo.php?recordID=<?php echo $row_Recordset1['idMiequipo']; ?>"><img src="images/cerrar_ventana.png" width="25" height="25" title="Eliminar" /></a></th>   
          <?php } while ($row_Recordset1 mysql_fetch_assoc($Recordset1)); ?>
          </tr>
        </table>
Como se puede ver tengo un DO WHILE que me muestra todos los equipos encontrados de ese usuario y detras del nombre una imagenes una de editar y otra eliminar. Cada una con un <a href: > , cuando paso pro encima de cada imagen de editar por ejemplo, me muestra la variable que envio, pero en cada equipo del listado su variable, en cambio si en vez de hacer
Código PHP:
<a href="eliminar_equipo.php?recordID=<?php echo $row_Recordset1['idMiequipo']; ?>
Hago esto
Código PHP:
<a href="eliminar_equipo.php"><?php $_SESSION=['equipo']=$row_Recordset1['idMiequipo']; ?>
Lo que pasa es que ya no me muestra el valor logicamente ya que le asigno el valor a la variable de sesion, previamnete declarada en blanco.
Pero cuando accedo a cualquier equipo del listado la variable de sesion se ha quedado con el ultimo valor del DO WHILE, que creo que es lo logico.
¿De que manera podria hacerlo? sin tener que modificar mucho codigo.
Gracias, ya se que me extiendo pero era para dejarlo lo más claro posible.
  #2 (permalink)  
Antiguo 09/04/2012, 09:59
Avatar de repara2  
Fecha de Ingreso: septiembre-2010
Ubicación: München
Mensajes: 2.445
Antigüedad: 13 años, 7 meses
Puntos: 331
Respuesta: ¿Variables de Sesion, Post o Get?

El id del usuario se guarda en una variable de session. Los listados de equipos o lo que sea utilizan el id de la variable de session previamente guardado. No es problema que un link muestre un id de equipo mientras que nadie más que el propietario pueda acceder. Para esto, todas las páginas de listados deben comprobar que los resultados que se van a mostrar son del user_id == $_SESSION['user_id'], o sea, el usuario logeado sólo puede ver su propia información guardada en la DB. Claro que hay otras maneras pero puedes empezar por allí, saludos
__________________
Fere libenter homines, id quod volunt, credunt.
  #3 (permalink)  
Antiguo 09/04/2012, 10:16
 
Fecha de Ingreso: marzo-2012
Mensajes: 27
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: ¿Variables de Sesion, Post o Get?

Hola, gracias por la respuesta, vamos a ver si te he entendido, ya que toy un poco flojo en el tema.
Antes de nada, la variable $_SESSION['idequipo'] la declaro en blanco al loguear y la modifico con el GET cada vez que accedo a la sección de edición de un equipo del usuario.

Pero bueno al tema.
Lo que me quieres decir es que una vez accedo al equipo, en la pagina donde me muestra el perfil del equipo por ejemplo, compruebe que el IdEquipo pertenece al usuario logueado, vamos hacer una consulta y si no coincide redirigir a otra URL... ¿no?
Si son cosas que me han pasado por la cabeza, pero pensaba que podria haber una solución con el tema del envio de las variables.
Pues es probable que al final haga algo así, gracias.

Etiquetas: imagenes, mysql, post, 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 04:12.