Foros del Web » Programando para Internet » PHP »

pasar variables por url

Estas en el tema de pasar variables por url en el foro de PHP en Foros del Web. hola estimado foro, se puede pasar por la URL un valor string para obtener como por ejemplo: pasar por la url Cita: conectarse.php?saludo=hola en la ...
  #1 (permalink)  
Antiguo 04/09/2017, 18:05
 
Fecha de Ingreso: junio-2010
Mensajes: 221
Antigüedad: 13 años, 10 meses
Puntos: 3
pasar variables por url

hola estimado foro, se puede pasar por la URL un valor string para obtener como por ejemplo:
pasar por la url
Cita:
conectarse.php?saludo=hola
en la pagina conectarse.php:

conectarme a la base de datos y realizar la peticion:

Cita:
"SELECT * FROM tablaN WHERE saludoTablaN=".$_GET['saludo']." Limit 1";
me daba error

Hay algun inconveniente en intentar hacer esto o estoy cometiendo algun error o es que no puedo comparar string con string? pregunto por que estuve intentando hacerlo pero finalmente tuve que rendirme y buscar la comparación
con enteros ya que no me permitia realizarlo con strings(en este caso los contenidos de las tablas eran varchar)

otra consulyta hay incovenientes con los nombres de tabla con guiones medio?
Cita:
ejemplo mi-tabla-ene
  #2 (permalink)  
Antiguo 04/09/2017, 18:52
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: pasar variables por url

El problema no es la variable, sino que no estás armando correctamente la consulta: debes encerrar el valor entre comillas simples.

Además, no es conveniente incluir entradas del usuario directamente en una consulta, corres el riesgo de errores (en el mejor de los casos) o de SQL Injection (en el peor).
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 08/09/2017, 00:03
 
Fecha de Ingreso: junio-2010
Mensajes: 221
Antigüedad: 13 años, 10 meses
Puntos: 3
Respuesta: pasar variables por url

Hola que tal, gracias por tu respuesta apreciable Triby, bueno como habrás visto no tengo mucha experiencia programando y al ver tu mensaje me puse a buscar información, encontrando esto en la web:


Cita:
Imaginad una web con este tipo de enlace:

http://www.soyunaweb.com/soyunapagin...?id_pregunta=2

Es muy común encontrar este tipo de enlaces en casi cualquier web y también es muy común pensar que detrás de este enlace, existe una sentencia SQL que determina que mostraremos o el contenido de dicha página, por ejemplo.
El formato de la sentencia SQL que podría estar detrás de ese enlace sería algo parecido a esto:

“SELECT * FROM pregunta WHERE id_pregunta=” + parámetro

Viendo el enlace, es lógico presuponer que la tabla se llame pregunta y el campo id_pregunta. Este podría ser un fallo de seguridad . Al diseñar Webs con ese tipo de enlaces, debemos intentar asegurarnos de que el nombre del parámetro no sea tan explicativo. Simplemente con haber puesto id_p se soluciona el problema, por ejemplo, acabándose así nuestro ataque de Blind SQL Injection. (Salvo utilizar la fuerza bruta, por supuesto).

Estaba diseñando lo siguiente:

Teniendo el siguiente enlace:

Cita:
paquetesturisticos.php?en=peru&paqueteturistico=Cu scoPunoMacchuPicchu&continente=america&id=3#conten ido
y el requerimiento:

Cita:
$conexion = mysqli_connect("localhost","root","","base_agencia ");

mysqli_set_charset($conexion,"utf8");
$peticion="SELECT * FROM '.$_GET['continente'].' WHERE nombrePaquete='.$_GET['paqueteturistico'].'pais='.$_GET['en'].' Limit 1";
$resultado=mysqli_query($conexion,$peticion);
while($fila=mysqli_fetch_array($resultado)){
$peticion2="SELECT * FROM imagenesamerica WHERE idPaqueteTuristico=".$fila['idPaqueteTuristico'];
$resultado2=mysqli_query($conexion,$peticion2);
while($fila2=mysqli_fetch_array($resultado2)){
echo'<li>';
echo' <a class="fancybox" href="images/imagenesCiudades/'.$fila['continente'].'/'.$fila['pais'].'/'.$fila['nombrePaquete'].'/'.$fila2['imagenes'].'.jpg"
data-fancybox-group="gallery" title=""><img src="images/imagenesCiudades/'.$fila['continente'].'/'.$fila['pais'].'/'.$fila['nombrePaquete'].'/'.$fila2['imagenes'].'.jpg"
/></a>';
echo' <p class="caption">'.$fila['nombrePaquete'].'</p>';
echo'</li>';

}
echo' </ul>';
echo'</div>';
echo'</div>';
echo'<!--</banner>-->';
echo'<!--<item-box>-->';
echo'<div class="item-box">'.$fila['detallesDelPaquete'];
echo' <div class="more-info">'.$fila['masInfo'].'</div>';
Según lo leído en el texto extraído de la web, la solución a mi problema podría ser renombrar mis tablas con nombres mucho menos predictibles además de cambiar los parámetros. Sería eso suficiente?

Me aconsejarías alguna solución?




Gracias

Última edición por rafret; 08/09/2017 a las 00:22
  #4 (permalink)  
Antiguo 08/09/2017, 12:05
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: pasar variables por url

Esto es un texto antiguo, pero todavía puede serte de utilidad: http://www.forosdelweb.com/f18/aport...8/#post4265377
__________________
- León, Guanajuato
- GV-Foto
  #5 (permalink)  
Antiguo 09/09/2017, 11:28
 
Fecha de Ingreso: junio-2010
Mensajes: 221
Antigüedad: 13 años, 10 meses
Puntos: 3
Respuesta: pasar variables por url

Gracias Triby
A leer entonces.

Etiquetas: Ninguno
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:30.