Foros del Web » Programando para Internet » PHP »

Sript para buscar palabras en mi sitio

Estas en el tema de Sript para buscar palabras en mi sitio en el foro de PHP en Foros del Web. Amigos, les queria preguntar si para darles a mis usuarios un servicio de buscador de registros por palabras dentro de mi base de datos, sera ...
  #1 (permalink)  
Antiguo 05/02/2004, 13:59
 
Fecha de Ingreso: octubre-2003
Mensajes: 304
Antigüedad: 20 años, 6 meses
Puntos: 0
Sript para buscar palabras en mi sitio

Amigos, les queria preguntar si para darles a mis usuarios un servicio de buscador de registros por palabras dentro de mi base de datos, sera nesesario conseguirme algun script prefabricado,

o con simplemente hacer las consultas basicas nesesarias a la base de datos Mysql ya tengo un buscador...

se me habia ocurrido por ejemplo poner un campo de texto, dentro de un formulario, luego este campo pasaria a una pagina "prosesar.php", esta pagina me tomaria la variable y mediante una consulta a la base del tipo

"select * from tabla like 'campo de texto' "

me arrojaria los resultados...

Me ayudaria muchisimo si me dan su opinion!
gracias!
  #2 (permalink)  
Antiguo 05/02/2004, 14:23
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Pues eso mismo .. esa consulta es un buscador básico por esa cadena en ese campo:

Código PHP:
$sql="SELECT * FROM tabla WHERE campo LIKE '%".$buscar."%'"
Si usas los comodines (wildcard's %) .. podrías encontrar resultados tipo:

de buscar por:
ori
ginal
gin

encontrarías:
Original

Puedes complicar tu buscador tamto como quieras añadiendo más condicionales AND .. o más campos y grupos de LIKE a buscar ... Pero al fin y al cabo es una consulta SQL como de contubre .. pero "condicional" (WHERE ....)

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 05/02/2004, 14:51
 
Fecha de Ingreso: febrero-2004
Ubicación: Bs. As. - Argentina
Mensajes: 53
Antigüedad: 20 años, 2 meses
Puntos: 0
hola:
yo no soy experto en seguridad ni tampoco en PHP. Pero te puedo comentar que siempre tenes que tener cuidado con utilizar datos de usuarios en alguna ejecucion directamente. Por ejemplo, que pasaria si el usuario ingresa algo del estilo:
' or campo = 'dame todo
El usuario en lugar de ingresar datos, est a ingresando codigo.
Tu consulta quedaria:
$sql="SELECT * FROM tabla WHERE campo LIKE '%' or campo = 'dame todo%'";
Tal vez este caso no sea muy ejemplar, pero imaginate las cosas que te podrian hacer.
  #4 (permalink)  
Antiguo 05/02/2004, 15:09
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Si, hogasa .. tienes toda la razón .. y haces muy bien en dar tu comentario ..

Para eso mismo PHP dispone de la función mysql_escape_string() para \' escapar esa ' y quede inutilizada para tus propósitos de "SQL inyectión" ... También lo hace PHP por defecto si se usa magic_quote_gpc=on (que añade esos \escapes a esos caracteres ..)

Pero, es más seguro usar dicha función para evitar problemas en configuraciónes que no lo usen a "ON" ..

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #5 (permalink)  
Antiguo 05/02/2004, 15:44
 
Fecha de Ingreso: octubre-2003
Mensajes: 304
Antigüedad: 20 años, 6 meses
Puntos: 0
bueno amigos, gracias por la informacion, la verdad estoy recien empezando en esto, de a poco voy teniendo las cosas un poco mas claras, asi que su ayuda es agradecida y bienvenida!

saludos!
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

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 03:32.