Foros del Web » Programando para Internet » PHP »

Obtener datos desde link

Estas en el tema de Obtener datos desde link en el foro de PHP en Foros del Web. Hola! Estoy intentando crear un codigo php para que se pueda visitar el perfil de algún usuario mediante su ID. Me gustaría hacerlo a través ...
  #1 (permalink)  
Antiguo 08/03/2012, 17:05
 
Fecha de Ingreso: enero-2011
Mensajes: 59
Antigüedad: 13 años, 3 meses
Puntos: 2
Obtener datos desde link

Hola!
Estoy intentando crear un codigo php para que se pueda visitar el perfil de algún usuario mediante su ID.
Me gustaría hacerlo a través de un link, tipo...:
".../perfil.php?id=4"

No se ni como empezar... y claro, tengo entendido que utilizar este método es peligroso, ya que "los usuarios malintencionados" pueden acceder a los datos.
¿Como puedo crear un código para mostrar los datos por ID?¿Como aseguro los datos para evitar robos (pese a que están codificados)?
Un saludo y gracias desde ya!
  #2 (permalink)  
Antiguo 08/03/2012, 17:12
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 15 años, 11 meses
Puntos: 528
Respuesta: Obtener datos desde link

Bueno, la seguridad si bien es importante tampoco te debe asustar.
1. Los datos del link se obtienen en el arreglo GET, es decir:
index.php?id=4
sería:

$id=$_GET['id'];

2. si tu buscas en la bd sin verificar dicho id
"select * from usuarios where id=$id"
y en id te colocan una sentencia sql, como $id="2 or 1=1";

tu consulta queda como:
"select * from usuarios where id=2 or 1=1"

en este caso la consulta se ejecuta con una acción simple, pero se puede meter consultas mucho más complejas y obtener a partir de ahí incluso el control de tu cuenta.

Entonces debes tratar tus datos de entrada para que no contengan caracteres o frases ejecutables. Hay mucha información sobre esto.
  #3 (permalink)  
Antiguo 09/03/2012, 00:40
 
Fecha de Ingreso: enero-2011
Mensajes: 59
Antigüedad: 13 años, 3 meses
Puntos: 2
Respuesta: Obtener datos desde link

Ya...¿Como saco la $id?
O simplemente con que ponga $id ya es el id colocado en el link... eso es lo que me falta
Saludos!
  #4 (permalink)  
Antiguo 09/03/2012, 15:19
 
Fecha de Ingreso: enero-2011
Mensajes: 59
Antigüedad: 13 años, 3 meses
Puntos: 2
Respuesta: Obtener datos desde link

Ya tengo el código listo... me falta la solución para coger la ID desde el link...
Código PHP:
<?
include('../conexionbasededatos.php');
$id "ID QUE SE INTRODUZCA EN EL LINK perfil.php?id=3";

$usuario=mysql_query("SELECT * FROM usuarios WHERE id='$id' ");
if(
$usuario_correcto=mysql_fetch_array($usuario) )
{
echo 
'Usuario <b>'.$user_correcto["nick"].'</b><br>';
echo 
'<br>Email: <a href="mailto:'.$usuario_correcto["email"].'">'.$usuario_correcto["email"].</a><br>;
}else{
echo 
"La ID seleccionada no existe";
}
?>
¿Como le doy seguridad a ese codigo? Y lo mas imporante... ¿Como saco el ID del link?
Saludos!
  #5 (permalink)  
Antiguo 09/03/2012, 15:20
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 15 años, 11 meses
Puntos: 528
Respuesta: Obtener datos desde link

Supongo que no miraste con atención:

$id=$_GET['id'];
  #6 (permalink)  
Antiguo 09/03/2012, 16:02
 
Fecha de Ingreso: septiembre-2010
Mensajes: 17
Antigüedad: 13 años, 7 meses
Puntos: 3
Respuesta: Obtener datos desde link

$_GET

Es un arreglo de variables que se crean automaticamente.

Si en tu link pones

edad=54

se crea una variable llamada $_GET['edad'] con el valor de 54

Luego tu a esa variable la guardas en otra variable $edad = $_GET['edad'] para tener mayor facilidad al momento de escribir el codigo.

Creo que era asi, jeje saludos.
  #7 (permalink)  
Antiguo 09/03/2012, 16:44
 
Fecha de Ingreso: enero-2011
Mensajes: 59
Antigüedad: 13 años, 3 meses
Puntos: 2
Respuesta: Obtener datos desde link

Ok... muchas gracias
Me parece que mi servidor no permite las variables GET (he probado y nada)...
¿Alguna otra solución?
Gracias!
PD: Yo pensaba que GET era como POST, pero no me he leído el manual ni nada...nunca te acostarás sin aprender algo nuevo ;)

Etiquetas: link, 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 05:54.