Foros del Web » Programando para Internet » PHP »

filtrar busqueda php+mysql

Estas en el tema de filtrar busqueda php+mysql en el foro de PHP en Foros del Web. hola gente..bueno les comento tengo el siguiente buscador Código: <form action="buscar.php" method="post"> Buscar: <input name="palabra"> <input type="submit" name="buscador" value="Buscar"> </form> buscar.php Código: <?php if ($_POST['buscador']) ...
  #1 (permalink)  
Antiguo 03/08/2008, 23:03
 
Fecha de Ingreso: julio-2008
Mensajes: 20
Antigüedad: 15 años, 8 meses
Puntos: 0
Desacuerdo filtrar busqueda php+mysql

hola gente..bueno les comento tengo el siguiente buscador

Código:
<form action="buscar.php" method="post">
Buscar: <input name="palabra">
<input type="submit" name="buscador" value="Buscar">
</form>
buscar.php

Código:
<?php
if ($_POST['buscador'])
{
// Tomamos el valor ingresado
$buscar = $_POST['palabra'];
 
// Si está vacío, lo informamos, sino realizamos la búsqueda
if(empty($buscar))
{
echo "No se ha ingresado una cadena a buscar";
}else{
// Conexión a la base de datos y seleccion de registros
$con=mysql_connect("localhost","root","");
$sql = "SELECT * FROM programas WHERE nombre like '%$buscar%' ORDER BY id DESC";
mysql_select_db("dd", $con);
 
$result = mysql_query($sql, $con);
 
// Tomamos el total de los resultados
$total = mysql_num_rows($result);
 
// Imprimimos los resultados
if ($row = mysql_fetch_array($result)){
echo "Resultados para: <b>$buscar</b>";
do {
?>
<p><b><a href="index.php?mod=ficha&id_programa=<?=$row['id'];?>">
<?php
} while ($row = mysql_fetch_array($result));
echo "<p>Resultados: $total</p>";
} else {
// En caso de no encontrar resultados
echo "No se encontraron resultados para: <b>$buscar</b>";
}
}
}
?>
</body>
</html>
ahora el inconveniente es que quiero filtrar busquedas de este tipo :S por que no las para...

<ScRiPt>alert(396720712636);</ScRiPt>

entienden a lo que voy? digamos q el buscador es vulnerable a scripts y pueden introducirme un script "remoto" si es q no estoy fallado XD

alguien me podria ayudar con eso?


desde ya muchas gracias
  #2 (permalink)  
Antiguo 04/08/2008, 02:24
Avatar de desendoll  
Fecha de Ingreso: mayo-2008
Mensajes: 340
Antigüedad: 15 años, 11 meses
Puntos: 3
Respuesta: filtrar busqueda php+mysql

no se si te refieres a "escapar" valores que te puedan dar problemas en la base de datos, Si es eso, pasando las variables por post, tienes bastante ganado, pero nunca esta de mas tratar las variables con un htmlspecialchars(), o otro que encontraras en php.net
__________________
Francesc Jimenez
  #3 (permalink)  
Antiguo 04/08/2008, 18:59
 
Fecha de Ingreso: julio-2008
Mensajes: 20
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: filtrar busqueda php+mysql

y como hago esto q me mensionas?

gracias desde ya
  #4 (permalink)  
Antiguo 05/08/2008, 00:03
 
Fecha de Ingreso: agosto-2008
Mensajes: 184
Antigüedad: 15 años, 8 meses
Puntos: 2
Respuesta: filtrar busqueda php+mysql

Aprobechando el tema del buscador del muchacho
yo tambien tengo un buscador..
mi problema es que me gustaria filtrar resultados al hacer la consulta por el buscador y que despues de devolver los resultados en una tabla.. tipo:

PRECIO <--- al precionar el link

$1
$4
$3
$2

PRECIO <--- Lo ordene de menor a mayor

$1
$2
$3
$4

Gracias de antemano y disculpa por pregutnar en tu post!
  #5 (permalink)  
Antiguo 05/08/2008, 01:17
Avatar de sumolari  
Fecha de Ingreso: mayo-2006
Ubicación: localhost
Mensajes: 1.367
Antigüedad: 17 años, 11 meses
Puntos: 18
Respuesta: filtrar busqueda php+mysql

Cita:
Iniciado por Frantopo Ver Mensaje
Aprobechando el tema del buscador del muchacho
yo tambien tengo un buscador..
mi problema es que me gustaria filtrar resultados al hacer la consulta por el buscador y que despues de devolver los resultados en una tabla.. tipo:

PRECIO <--- al precionar el link

$1
$4
$3
$2

PRECIO <--- Lo ordene de menor a mayor

$1
$2
$3
$4

Gracias de antemano y disculpa por pregutnar en tu post!
En el código SQL de la consulta a tu base de datos añade: "ORDER BY columna ASC".

Cita:
Iniciado por Zer0bg Ver Mensaje
hola gente..bueno les comento tengo el siguiente buscador

Código:
<form action="buscar.php" method="post">
Buscar: <input name="palabra">
<input type="submit" name="buscador" value="Buscar">
</form>
buscar.php

Código:
<?php
if ($_POST['buscador'])
{
// Tomamos el valor ingresado
$buscar = $_POST['palabra'];
 
// Si está vacío, lo informamos, sino realizamos la búsqueda
if(empty($buscar))
{
echo "No se ha ingresado una cadena a buscar";
}else{
// Conexión a la base de datos y seleccion de registros
$con=mysql_connect("localhost","root","");
$sql = "SELECT * FROM programas WHERE nombre like '%$buscar%' ORDER BY id DESC";
mysql_select_db("dd", $con);
 
$result = mysql_query($sql, $con);
 
// Tomamos el total de los resultados
$total = mysql_num_rows($result);
 
// Imprimimos los resultados
if ($row = mysql_fetch_array($result)){
echo "Resultados para: <b>$buscar</b>";
do {
?>
<p><b><a href="index.php?mod=ficha&id_programa=<?=$row['id'];?>">
<?php
} while ($row = mysql_fetch_array($result));
echo "<p>Resultados: $total</p>";
} else {
// En caso de no encontrar resultados
echo "No se encontraron resultados para: <b>$buscar</b>";
}
}
}
?>
</body>
</html>
ahora el inconveniente es que quiero filtrar busquedas de este tipo :S por que no las para...

<ScRiPt>alert(396720712636);</ScRiPt>

entienden a lo que voy? digamos q el buscador es vulnerable a scripts y pueden introducirme un script "remoto" si es q no estoy fallado XD

alguien me podria ayudar con eso?


desde ya muchas gracias
Yo te recomendaría usar htmlentities.

¿Cómo se usa? Te pongo un ejemplo:

Código PHP:
<?php
$buscar
$_POST['buscar']; 
$sql "SELECT * FROM programas WHERE nombre like '%$buscar%' ORDER BY id DESC";

/* Usando htmlentities */

$buscar $_POST['buscar'];
$busar htmlentities($buscar);
$sql "SELECT * FROM programas WHERE nombre like '%$buscar%' ORDER BY id DESC";
?>
  #6 (permalink)  
Antiguo 05/08/2008, 01:41
Avatar de desendoll  
Fecha de Ingreso: mayo-2008
Mensajes: 340
Antigüedad: 15 años, 11 meses
Puntos: 3
Respuesta: filtrar busqueda php+mysql

Para ordenar, hasta ahora yo también utilizaba un link, cargando cada vez la pagina o mediante ajax, pero realmente es mucho mas rápido utilizar javascript.

En jquery tienes muchas tablas que ordenan por el campo que quieras, con paginación y búsqueda interna.
__________________
Francesc Jimenez
  #7 (permalink)  
Antiguo 11/08/2008, 18:44
 
Fecha de Ingreso: agosto-2008
Mensajes: 184
Antigüedad: 15 años, 8 meses
Puntos: 2
Respuesta: filtrar busqueda php+mysql

oh si muchas gracias :B

Enserio! =)
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 15:31.