Haciendo un buscador

Iniciado por den_22, 3 Abril 2010, 04:59 AM

0 Miembros y 1 Visitante están viendo este tema.

SeC

En el search.php no concatenas en la formulacion de la consulta:

Código (php) [Seleccionar]
$query = mysql_query("select * from prueba where usuario='$usuario'");

debiese ser asi:

Código (php) [Seleccionar]
$query = mysql_query("select * from prueba where usuario='".$usuario."'");
Educad a los niños y no sera necesario castigar a los hombres - Pitagoras.

Shell Root

#11
SeC, hasta donde tengo entendido dá igual si conctatenas o no, igual se toma como variable, ya que se antepone de un $!

PD: O soy muy idiota o no sé, pero solo veo que ejecutas la sentencia SQL, en donde Fuck, muestras los valores que devolvio la consulta!
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

~ Yoya ~

Usa la sentencia while y trata de ver mas documentación sobre las funciones que utilizas.

Código (php) [Seleccionar]
<?php
error_reporting
(E_ALL E_NOTICE);
session_name('pLogin');
session_set_cookie_params(2*7*24*60*60);
session_start();
 
include(
"function.php");
include(
"connect.php");
include(
"getdata.php");
 
$query mysql_query("select * from prueba where usuario='$usuario'");
while(
$getname mysql_fetch_array($query))
{
   
$firstname $getname["firstname"];
   
$lastname =$getname["lastname"];
   
$gender$getname["sexo"];
   
$estadocivil=$getname["estadocivil"];
   
$pais=$getname["pais"];
}
?>
Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.

Castg!

mira gabi, no es de forro, pero siempre estas teniendo los mismo problemas en tus codigos, o te flata declarar variables, o errores muy basicos, asi, porq no mejor lees algun buen tutorial de php? porq este tipo de errores son de los primeros capitulos.

fede_cp

usa un buscador powered by google  :xD, na pero hacer un buscador tiene miles de errores si lo haces caseramente, puede haber desde sql i a xss, ese codigo lo hiciste vos?


saludos
somos lo que hacemos para cambiar lo que somos

http://elhackerblog.blogspot.com el blog de elhacker.net!!

den_22

Bueno gracias, por haber contestado, Castg!, trataré de buscar algun tutorial, la otra vez, seguí tu consejo y lo pude resolver, al problema que tenia.

fede_cp, bueno buscaré alguno made in google, jaja, veremos...

Gracias.


den_22

den_22

Hola nuevamente, al final pude hacer un buscador, que puede buscar por palabras, o sea nombre de usuario. El tema es que no me sale el del select.
Dejo los codigos, a ver cual es la cuestion de que no busque con el select.

el search.php tiene este codigo:

Código (php) [Seleccionar]

<?php
include_once ("connect.php");
include_once (
"srh.php");  

?>


el del srh.php:

Código (php) [Seleccionar]

<?php

//Buscador nombre
if (isset($_POST['search_firstname'])){
$query mysql_query("SELECT firstname FROM prueba WHERE firstname='".$_POST['firstname']."'");

if (empty(
$_POST['firstname'])){
$search_username_message "<tr><td align=\"center\" bgcolor=\"#FFFFFF\" class=\"main\"><B>[ Debes ingresar un nombre de usuario ]</B></td></tr>";
}
else if (
mysql_num_rows($query)==0){
$search_username_message "<tr><td align=\"center\" bgcolor=\"#FFFFFF\" class=\"main\"><B>[ El usuario no existe ]</B></td></tr>";
}
else {
$search_username_message "<script>document.location.href='".$_POST['firstname']."'</script>";
}
}

//Buscador  del select
if (isset($_POST['search'])){
$search_message "<script>document.location.href='search_results.php?sexo=".$_POST['gender']."&&pais=".$_POST['pais']."&&estadocivil=".$_POST['estadocivil']."'</script>";
}
?>



el form del search.php tiene un action asi  members_search_index.php?search=firstname  y en el html pongo algo asi <?php echo $user_ok['firstname'];?>  para que aparezcan los datos.


Ahora, lo que no me sale es el buscador del select

aca está el codigo del search_results.php:

Código (php) [Seleccionar]
?php


include_once ("connect.php");
include_once("srh.php");

if(!isset($_POST['page'])){
$page = 1;
} else {
$page = $_POST['page'];
}
$max_results = 3;
$from = (($page * $max_results) - $max_results);

$query = mysql_query("SELECT * FROM prueba WHERE sexo='".$_POST['gender']."'  AND pais='".$_POST['pais']."' AND estadocivil='".$_POST['estadocivil']."' LIMIT $from, $max_results");
if (mysql_num_rows($query)==0){
echo "<span class=\"pages\"><center><B>No hay resultados[ <a href=\"search.php\" class=\"pages\">Atras</a> ]</B></center></span>";
} else {
$col = 0;
echo '<tr>';
while ($user_ok = mysql_fetch_array($query)){

if ($user_ok['gender']=='4'){
echo 'Femenino';
} else {
echo 'Masculino';
}

$col++;
if ($col==3){
echo "</tr><tr>";
$col = 0;
}
}
}


$query = mysql_result(mysql_query("SELECT COUNT(*) as Num FROM prueba WHERE sexo='".$_POST['gender']."'  AND pais='".$_POST['pais']."' AND estadocivil='".$_POST['estadocivil']."'"),0);
 $total_pages = ceil($query / $max_results);
 
 if($page > 1){
 $prev = ($page - 1);
 echo "<a href=\"search_results.php?sexo=".$_POST['gender']."&&pais=".$_POST['pais']."&&estadocivil=".$_POST['estadocivil']."&&page=$prev\"><font color=\"black\"><B>Anterior</B></font></a> ";
 }
 for($i = 1; $i <= $total_pages; $i++){
 if(($page) == $i){
 echo "$i ";
 } else {
 echo "<a href=\"search_results.php?sexo=".$_POST['gender']."&&pais=".$_POST['pais']."&&estadocivil=".$_POST['estadocivil']."&&page=$i\"><font color=\"black\"><B>$i</B></font></a> ";
}
}

if($page < $total_pages){
$next = ($page + 1);
echo "<a href=\"search_results.php?sexo=".$_POST['gender']."&&pais=".$_POST['pais']."&&estadocivil=".$_POST['estadocivil']."&&page=$next\"><font color=\"black\"><B>Siguiente</B></font></a>";
}
echo "</center>";
?>




Gracias de antemano.

den_22

den_22

Hola, bueno posteo lo que tengo hasta ahora, no pido que hagan el codigo, solamente que me guien un poquito  :-( , gracias.


Código (php) [Seleccionar]
<?php





error_reporting
(E_ALL E_NOTICE);
session_name('pLogin');
session_set_cookie_params(2*7*24*60*60);
session_start();
include_once (
"connect.php");


$usuario=$_SESSION['usuario'];


if(!isset(
$usuario)){

echo 
'No se ha seleccionado ningun usuario.';

}else{


$query=mysql_query("SELECT * FROM prueba WHERE usuario='$_SESSION[usuario]' ");

if(
mysql_num_rows($query)>0){
$user_ok=mysql_fetch_array($query);





//todo comprobado, ahora solo falta mostrar los datos
echo 'Bienvenid@ <b>'.$user_ok['usuario'].'</b><br>';

}else{

echo 
'La id de usuario seleccionada no existe';
}
}

function 
getsqlrow($query) {
$result mysql_query($query) or die(mysql_error());
$row mysql_fetch_array($result);
mysql_free_result($result);
return 
$row;
}

function 
getsqlnumber($sqlQuery) {
$query=mysql_query($sqlQuery);
$result=mysql_num_rows($query);
mysql_free_result($query);
return 
$result;
}


if(!isset(
$_GET['page'])){
$page 1;
} else {
$page $_GET['page'];
}
$max_results 10;
$from = (($page $max_results) - $max_results);

$query mysql_query("SELECT * FROM prueba WHERE sexo='".$_POST['gender']."' AND pais='".$_POST['pais']."' AND estadocivil='".$_POST['estadocivil']."' LIMIT $from$max_results");

if (
mysql_num_rows($query)==0){
} else {

while (
$user_ok mysql_fetch_array($query)){

$get_result_row getsqlrow("SELECT * FROM prueba WHERE usuario='".$user_ok['usuario']."'");



$result_ocupacion getsqlnumber("SELECT * FROM prueba WHERE ocupacion='".$user_ok['ocupacion']."'");

$result_hijos getsqlnumber("SELECT * FROM prueba WHERE hijos='".$user_ok['hijos']."'");

}
}

$total_results mysql_result(mysql_query("SELECT COUNT(*) as Num FROM prueba WHERE sexo='".$_POST['gender']."' AND pais='".$_POST['pais']."' AND estadocivil='".$_POST['estadocivil']."'"),0);
$total_pages ceil($result $max_results);

if(
$page 1){
$prev = ($page 1);
echo 
"<a href=\"".$_SERVER['PHP_SELF']."?page=$prev&&firstname=".$_POST['firstname']."&&sexo=".$_POST['gender']."&&pais=".$_POST['pais']."&&estadocivil=".$_POST['estadocivil']."\" class=\"title_text\">Previous</a>";
}

for(
$i 1$i <= $total_pages$i++){
if((
$page) == $i){
echo 
"$i ";
} else {
echo 
"<a href=\"".$_SERVER['PHP_SELF']."?page=$i&&firstname=".$_POST['firstname']."&&sexo=".$_POST['gender']."&&pais=".$_POST['pais']."&&estadocivil=".$_POST['estadocivil']."\" class=\"title_text\">$i</a> ";
}
}

if(
$page $total_pages){
$next = ($page 1);
echo 
"<a href=\"".$_SERVER['PHP_SELF']."?page=$next&&firstname=".$_POST['firstname']."&&sexo=".$_POST['gender']."&&pais=".$_POST['pais']."&&estadocivil=".$_POST['estadocivil']."\" class=\"title_text\">Next</a>";
}
echo 
"</center>";





?>

Shell Root

jejeje Seria más facil si plantearas la duda y/o la linea de codigo en la que tenes problemas.

PD: Intenta filtrar, manejar las variables, yá que creo que se puede realizar un iSQL y XSS...
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.