Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/09/2010, 22:51
Tooj
 
Fecha de Ingreso: noviembre-2009
Mensajes: 64
Antigüedad: 14 años, 4 meses
Puntos: 1
Busqueda buscar por autor

Hola. Seguimos en eso de aprender a escribir funciones php.

Ahora estamos intentando hacer un buscador, pero la búsqueda no se da a partir de un input, sino de un valor dado.

Es decir, supongamos que el articulo lo escribe Rubén y lo publica cualquier persona en su blog. En el campo autor, el bloguero escribe 'Rubén', y ese valor se guarda en la base de datos.

lo que quiero hacer es que en el articulo, el nombre de Rubén aparezca como un link y que ese link nos lleve a una página donde aparezcan todos los articulos escritos por Rubén. Lo he visto en muchas páginas, pero todavía no consigo hacerlo, porque además, algo muy importante, es que con esta función no se abra una puerta para un ataque xss.

En el articulo, el campo de autor está llamado así:


Código PHP:
<a href="<?php permalink_autor("search.php"?>" title="<?php the_autor();  ?>  "> <?php the_autor(); ?></a>

hasta ahí, todo bien.

ahora la función:


Código PHP:
function permalink_autor($file='') {
    global 
$id,$postdata$tableposts;
    global 
$querystring_start$querystring_equal$querystring_separator;
    
$autor get_the_autor();
    
$query "SELECT * FROM $tableposts WHERE  autor LIKE '%".$autor."%' LIMIT 0, 15"
    
$result mysql_query($query);
    
$autor mysql_fetch_array($result);

    echo 
$file.$querystring_start.'autor'.$querystring_equal.$autor;
     } 


he probado varias, pero con esta creo que me he acercado a la solución.


pero el problema está en que el link aparece así:

Código PHP:
http://www.asdfghijkl.net/search.php?autor=Array 
es decir, no recupera el valor de $autor en el link, pero no entiendo porqué.

y tampoco se si va a funcionar esta función.

ah!, y cómo la protego contra xss.


espero que alguien pueda orientarme

saludos