Foros del Web » Programando para Internet » PHP »

envio de parámetros

Estas en el tema de envio de parámetros en el foro de PHP en Foros del Web. Hola tengo una duda con respeccto a un formulario de búsqueda a la cual el ACTION del form le tengo un archivo .php cuya función ...
  #1 (permalink)  
Antiguo 06/09/2004, 15:27
Avatar de andinistas  
Fecha de Ingreso: julio-2003
Ubicación: Bogotá COL
Mensajes: 1.000
Antigüedad: 14 años, 5 meses
Puntos: 0
envio de parámetros

Hola tengo una duda con respeccto a un formulario de búsqueda a la cual el ACTION del form le tengo un archivo .php cuya función es mostrar los resultados de una búsqueda

pero hoy se me ocurrio meter en el campo de texto antes de buscar una orden SELECT * FROM TABLA y mi aplicación se ha reventado, el código que tengo es el siguiente


Código PHP:
$titulo_articulo$_GET[txt_titulo_articulo];

//consulta SQL
$_pagi_sql = ("SELECT * FROM noticias WHERE titulo_articulo LIKE '%$titulo_articulo%' ORDER BY fechapub DESC"); 
osea el enviar desde el form en metodo GET la variable titulo_articulo, se hace una busqueda en el SQL, pero si yo ingreso una orden SQL en el campo de busqueda en el formulario, en el procesado del php obtengo un error de mysql

se puede validar eso tipo de ingreso que solo sea texto.

__________________
Un Saludo, Andinistas.
"Llegaron... Ellos tenían la biblia y nosotros la tierra... y nos dijieron: 'Cierren los ojos y recen.' Cerramos los ojos y cuando los abrimos,
ellos tenían la tierra y nosotros la biblia." Abadío Green.
  #2 (permalink)  
Antiguo 06/09/2004, 15:44
Avatar de José Molina  
Fecha de Ingreso: enero-2002
Ubicación: USA
Mensajes: 768
Antigüedad: 15 años, 11 meses
Puntos: 1
Saludos.

Prueba con lo siguiente:

Código PHP:
$pagi_sql "SELECT * FROM noticias WHERE titulo_articulo LIKE '".%$titulo_articulo."%' ORDER BY fechapub DESC"


Creo que puede ser eso, porque no se cual es el error que te arroja.

Suerte
__________________
José Molina
La marginalidad no esta en la incapacidad de calmar el hambre de un estómago sino en la incapacidad de calmar el hambre de la mente.

Última edición por José Molina; 06/09/2004 a las 15:48
  #3 (permalink)  
Antiguo 06/09/2004, 16:05
Avatar de andinistas  
Fecha de Ingreso: julio-2003
Ubicación: Bogotá COL
Mensajes: 1.000
Antigüedad: 14 años, 5 meses
Puntos: 0
ok

Ok como me dices pues esta bien, pero yo lo que trato de decir es lo siguiente

supongamos que despues de haber presionado el boton buscar la variable $titulo_articulo contenga el valor de la siguiente forma

$titulo_articulo = "SELECT * from noticias";

y que al consultar


Código PHP:
 $pagi_sql "SELECT * FROM noticias WHERE titulo_articulo LIKE '".%SELECT from noticias%."' ORDER BY fechapub DESC"
no me dé error---

si yo ingreso puro texto, pues bien nada de errores

pero si yo ingreso una consulta SQL dentro del area de texto y le doy buscar no me tiene que salir error, me tiene que salir

0 artículos encontrados con el criterio SELECT * from noticias, si me entiendes??

lo que comento es por seguridad y quiero validar todo eso tipo de errores
__________________
Un Saludo, Andinistas.
"Llegaron... Ellos tenían la biblia y nosotros la tierra... y nos dijieron: 'Cierren los ojos y recen.' Cerramos los ojos y cuando los abrimos,
ellos tenían la tierra y nosotros la biblia." Abadío Green.

Última edición por andinistas; 06/09/2004 a las 16:16
  #4 (permalink)  
Antiguo 07/09/2004, 13:16
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Parece ser que tienes problemas con las comillas dobles que usas en tu cadena ..

No sé si usas "magic_quote_gpc" a ON en tu configuración de PHP .. eso de por sí añade unos "slash" a tus " quedando "escapadas" tipo:

\"SELECT * FROM tabla\" para que no tengas problemas ..

Si eso no lo hace por configuración puedes usar:

addslashess() antes de efectuar tu $sql .. o usar mysql_escape_string() (que hace lo mismo)


Código PHP:
$_pagi_sql "SELECT * FROM noticias WHERE titulo_articulo LIKE '%".mysql_escape_string($titulo_articulo)."%' ORDER BY fechapub DESC"
(los parentesis sobran .. )

Un saludo,

Última edición por Cluster; 07/09/2004 a las 13:18
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 19:59.