Foros del Web » Programando para Internet » PHP »

ampliar mi buscador php

Estas en el tema de ampliar mi buscador php en el foro de PHP en Foros del Web. Hola, soy un poco novata en esto y estoy haciendo una web y necesito un buscador, bueno el problema me viene cuando lo que quiero ...
  #1 (permalink)  
Antiguo 11/06/2013, 12:20
Avatar de zalano  
Fecha de Ingreso: junio-2013
Mensajes: 5
Antigüedad: 10 años, 10 meses
Puntos: 0
ampliar mi buscador php

Hola, soy un poco novata en esto y estoy haciendo una web y necesito un buscador, bueno el problema me viene
cuando lo que quiero es que no me salga en si lo que tengo en la base de datos sino que me mostrara directamente
en pantalla la sección donde esta ubicado en la web. Por ejemplo si yo kiero buscar un tornillo y pongo 933 (tipo de tornillo)
en el buscador lo que quiero es que me lleve a mi enlace hexagonal.html.
Esto no se si se hace con un buscador en la base de datos directamente.
Toda ayuda o idea será bien venida. Gracias.


Esto es lo que se hacer, un buscador para que me busque en la base de datos.

<body>
<?php
$conexion=mysql_connect("localhost", "root", "");
$bd=mysql_select_db("albimar");
if (isset ($_POST["buscar"])){

$sel= "SELECT * FROM buscador WHERE nombre ='" . $_POST["palabra"] . "'";
$exec=mysql_query($sel);
?>
<form action="buscador2.php" method="post">

<table border="1" id="table" align="center" width="80%">
<tr><td>Objeto</td></tr>
<?php
while ($registro=mysql_fetch_array($exec)) {

?>
<tr>
<td><?php echo ($registro["link"]);?></td>

</tr>
<?php
}
?>

</table>

</form>
<?php
}else{
?>
<form action="buscador2.php" method="post">
<input type="text" name="palabra" />
<input type="submit" id="buscar" name="buscar" value="Buscar" />

</form>
</body>
</html>
<?php
}
?>
  #2 (permalink)  
Antiguo 11/06/2013, 12:31
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 15 años, 11 meses
Puntos: 528
Respuesta: ampliar mi buscador php

¿Y cuál es el problema? así a simple vista, el código parece hacer lo que quieres, mientras un artículo esté relacionado con el link de la página, podrás mostrar su link, de lo contrario, tendrías que aclararnos cómo tienes estructurada tu web, para saber si hay relación entre secciones y productos.

Por otro lado, la instrucción

$sel= "SELECT * FROM buscador WHERE nombre ='" . $_POST["palabra"] . "'";

permitiría que alguien use el buscador para inyectarte código malicioso, es decir código sql ejecutable.

Necesitas filtrar el dato antes de incluirlo en la consulta.
  #3 (permalink)  
Antiguo 11/06/2013, 12:38
Avatar de zalano  
Fecha de Ingreso: junio-2013
Mensajes: 5
Antigüedad: 10 años, 10 meses
Puntos: 0
Respuesta: ampliar mi buscador php

Hola y gracias por responder no quiero que me muestre el link quiero que me lleve directamente al enlace. no se si me explico y no se a que te refieres con filtrar el dato.
  #4 (permalink)  
Antiguo 12/06/2013, 09:59
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 15 años, 11 meses
Puntos: 528
Respuesta: ampliar mi buscador php

Si quieres que lleve directamente a la página y tienes el link, tendrías que redirigir, algo que es sencillo, pero no debes haber enviado nada a pantalla, además tendrías que pensar en qué ocurre si hay más de un artículo que coincida con la busqueda:

Código PHP:
Ver original
  1. <?php
  2.  
  3. $conexion=mysql_connect("localhost", "root", "");
  4. $bd=mysql_select_db("albimar");
  5. if (isset ($_POST["buscar"])){
  6.  
  7.    $sel= "SELECT * FROM buscador WHERE nombre ='" . $_POST["palabra"] . "'";
  8.    $exec=mysql_query($sel);
  9.    if(mysql_num_rows($exec)){// si la consulta encontró algo
  10.       $registro=mysql_fetch_array($exec);
  11.       header("Location: ".$registro["link"]);//dirigimos hacia la página
  12.    }
  13. //Si no encontró nada, mostramos el mensaje de que no encontró datos
  14. echo "no se encontraron datos";
  15. }
  16.  
  17.  
  18. ?>

Y por filtrar el dato, me refiero a "sanitizar" la variable, busca en google sobre inyección sql
  #5 (permalink)  
Antiguo 12/06/2013, 10:30
Avatar de zalano  
Fecha de Ingreso: junio-2013
Mensajes: 5
Antigüedad: 10 años, 10 meses
Puntos: 0
Respuesta: ampliar mi buscador php

Muchas gracias voy a ver que tal. y ya te contaré
  #6 (permalink)  
Antiguo 13/06/2013, 09:37
Avatar de zalano  
Fecha de Ingreso: junio-2013
Mensajes: 5
Antigüedad: 10 años, 10 meses
Puntos: 0
Respuesta: ampliar mi buscador php

Es justo lo que buscaba lo que ahora tengo otro pequeño problema no se como redirigirlo al div contenido de mi pagina index. porque me lo abre pero solo el html que encuentra.

Si tienes más ganas de ayudarme, gracias. Sino muchas gracias por solucionarmelo.

Etiquetas: buscador, html, registro, select, sql
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:13.