Foros del Web » Programando para Internet » PHP »

Buscador php me da error variables y solo da una consulta!

Estas en el tema de Buscador php me da error variables y solo da una consulta! en el foro de PHP en Foros del Web. Estoy haciendo mis intentos por hacer una web! :) y estoy en la parte del buscador!! solo que me da error de variables: Notice: Undefined ...
  #1 (permalink)  
Antiguo 01/03/2012, 23:35
 
Fecha de Ingreso: marzo-2012
Ubicación: mexico
Mensajes: 7
Antigüedad: 12 años
Puntos: 0
Exclamación Buscador php me da error variables y solo da una consulta!

Estoy haciendo mis intentos por hacer una web! :) y estoy en la parte del buscador!! solo que me da error de variables:

Notice: Undefined index: searching in C:\wamp\www\guaoww\otra.php on line 18
Notice: Undefined index: find in C:\wamp\www\oww\otra.php on line 19
Notice: Undefined index: field in C:\wamp\www\oww\otra.php on line 20
Notice: Undefined index: search in C:\wamp\www\oww\otra.php on line 21

Apesar de esto el codigo me funciona!! solo que me arroja solo una consulta!! por decir tengo 2 resultados! y solo arroja una!

este es mi codigo si me pueden ayudar a depurarlo! o a ver en que puedo mejorarlo! es una especie de buscador para encontrar pareja a tu perrito :)

es donde inicia mi php!

Código PHP:
<html>
<body>
 <?php
 
//definimos variables
$searching htmlspecialchars(trim($_POST['searching']));
$find htmlspecialchars(trim($_POST['find']));
$field htmlspecialchars(trim($_POST['field']));
$search htmlspecialchars(trim($_POST['search']));

  
//This is only displayed if they have submitted the form
   
if ($searching =="yes") { echo "<h2>Results</h2><p>"

   
//If they did not enter a search term we give them an error 
   
if ($find == "") { echo "<p>You forgot to enter a search term"; exit; } 

   
// Otherwise we connect to our Database 
   
mysql_connect("localhost""root""") or die(mysql_error());
    
mysql_select_db("oww") or die(mysql_error()); 
  
 
// We preform a bit of filtering 
   
$find strtoupper($find); $find strip_tags($find); $find trim ($find);
   
$field strtoupper($field); $field strip_tags($field); $field trim ($field) ;

   
//Now we search for our search term, in the field the user specified 
   
$data mysql_query("SELECT * FROM expediente WHERE sexo LIKE '%$find%' AND raza LIKE '%$field%' ");  

   
//And we display the results 
   
while($result mysql_fetch_array$data )) 
   { 
   echo 
$result['dueno']; 
   echo 
"<br>"
   echo 
$result['raza']; 
   echo 
"<br>"
   echo 
$result['sexo']; 
   echo 
"<br>"
   echo 
$result['telefono'];
   echo 
"<br>"
   } 
  
 
//This counts the number or results - and if there wasn't any it gives them a little message explaining that 

   
$anymatches=mysql_num_rows($data); if ($anymatches == 0) { echo "Sorry, but we can not find an entry to match your query<br><br>"; }
    
//And we remind them what they searched for 

    
echo "<br/>"
    echo 
"<b>Searched For:</b> " .$find .$field; } ?>
 
 <form name="search" method="post" action="otra.php">
Buscar: 
Macho<input type="radio" name="find" value="Macho" /> 
Hembra<input type="radio" name="find" value="Hembra" />  
En <select size= 1 name="field">
<option value="Airedale Terrier">Airedale Terrier</option> 
<option value="Akita">Akita</option> 
<option value="Akita americano">Akita americano</option> 
<option value="Alaskan Malamute">Alaskan Malamute</option> 
<option value="American pit bull terrier">American pit bull terrier</option> 
<option value="American staffordshire terrier">American staffordshire terrier</option> 
<option value="Australian terrier">Australian terrier</option> 
<option value="Basset Hound">Basset Hound</option> 
<option value="Beagle">Beagle</option> 
<option value="Bichon maltes">Bichon maltes</option> 
<option value="Bloodhound">Bloodhound</option> 
<option value="Border Collie">Border Collie</option> 
<option value="Boston terrier">Boston terrier</option> 
<option value="Bouvier des Flandres">Bouvier des Flandres</option> 
<option value="Boxer">Boxer</option> 
<option value="Bull terrier">Bull terrier</option> 
<option value="Bulldog Ingles">Bulldog Ingles</option> 
<option value="Bulldog americano">Bulldog americano</option> 
<option value="Bulldog frances">Bulldog frances</option> 
<option value="Bullmastiff">Bullmastiff</option> 
<option value="Chihuahua">Chihuahua</option> 
<option value="Chow Chow">Chow Chow</option> 
<option value="Cocker Spaniel Americano">Cocker Spaniel Americano</option> 
<option value="Cocker Spaniel Inglés">Cocker Spaniel Inglés</option> 
<option value="Dachshund (Salchicha)">Dachshund (Salchicha)</option> 
<option value="Dalmata">Dalmata</option> 
<option value="Dobermann">Dobermann</option> 
<option value="Dogo Argentino">Dogo Argentino</option> 
<option value="Dogo de Burdeos">Dogo de Burdeos</option> 
<option value="Fila Brasileiro">Fila Brasileiro</option> 
<option value="Fox terrier">Fox terrier</option> 
<option value="Galgo">Galgo</option> 
<option value="Gigate de los Pirineos">Gigante de los Pirineos</option> 
<option value="Golden Retriever">Golden Retriever</option> 
<option value="Gran Danés">Gran Danés</option> 
<option value="Husky Siberiano">Husky Siberiano</option> 
<option value="Lhasa apso">Lhasa apso</option> 
<option value="Mastiff">Mastiff</option> 
<option value="Mastín Español">Mastín Español</option> 
<option value="Mastín Napolitano">Mastín Napolitano</option> 
<option value="Pastor Aleman">Pastor Aleman</option> 
<option value="Pastor Australiano">Pastor Australiano</option> 
<option value="Pastor Belga">Pastor Belga</option> 
<option value="Pastor Belga Malinois">Pastor Belga Malinois</option> 
<option value="Pastor de Shetland">Pastor de Shetland</option> 
<option value="Pastor Holandes">Pastor Holandes</option> 
<option value="Pekines">Pekines</option> 
<option value="Pinscher">Pinscher</option> 
<option value="Pinscher Miniatura">Pinscher Miniatura</option> 
<option value="Pointer">Pointer</option> 
<option value="Pomerania">Pomerania</option> 
<option value="Presa Canario">Presa Canario</option> 
<option value="Pug">Pug</option> 
<option value="Rhodesian Ridgeback">Rhodesian Ridgeback</option> 
<option value="Rottweiler">Rottweiler</option> 
<option value="Samoyedo">Samoyedo</option> 
<option value="San Bernardo">San Bernardo</option> 
<option value="Schnauzer estandar">Schnauzer estandar</option> 
<option value="Schnauzer gigante">Schnauzer gigante</option> 
<option value="Schnauzer miniatura">Schnauzer miniatura</option> 
<option value="Scottish terrier">Scottish terrier</option> 
<option value="Setter Ingles">Setter Ingles</option> 
<option value="Setter Irlandes">Setter Irlandes</option> 
<option value="Shar Pei">Shar Pei</option> 
<option value="Shih Tzu">Shih Tzu</option> 
<option value="Spitz Japones">Spitz Japones</option> 
<option value="Terranova">Terranova</option> 
<option value="Viejo Pastor Ingles">Viejo Pastor Ingles</option> 
<option value="Weimaraner">Weimaraner</option> 
<option value="Welsh Corgi Cardigan">Welsh Corgi Cardigan</option> 
<option value="West highland white terrier">West highland white terrier</option> 
<option value="Xoloitzcuintle">Xoloitzcuintle</option> 
<option value="Yorkshire terrie">Yorkshire terrier</option> 
</select> 
 <input type="hidden" name="searching" value="yes" /> 
 <input type="submit" name="search" value="Search" />
  </form>
</body>
</html>
  #2 (permalink)  
Antiguo 02/03/2012, 01:24
Avatar de repara2  
Fecha de Ingreso: septiembre-2010
Ubicación: München
Mensajes: 2.445
Antigüedad: 13 años, 6 meses
Puntos: 331
Respuesta: Buscador php me da error variables y solo da una consulta!

Los errores se deben a que las variables no están definidas:

Código PHP:
Ver original
  1. <?php
  2. ini_set("display_errors", 1);
  3. ?>
  4. <html>
  5. <body>
  6. <?php
  7. //definimos variables
  8.  
  9. $searching = isset($_POST['searching'])? htmlspecialchars(trim($_POST['searching'])): "";
  10. $find = isset($_POST['find'])? htmlspecialchars(trim($_POST['find'])): "";
  11. $field = isset($_POST['field'])? htmlspecialchars(trim($_POST['field'])): "";
  12. $search = isset($_POST['search'])? htmlspecialchars(trim($_POST['search'])): "";
  13.  
  14.  
  15. //This is only displayed if they have submitted the form
  16. if ($searching =="yes") { echo "<h2>Results</h2><p>";
  17.  
  18. //If they did not enter a search term we give them an error
  19. if ($find == "") { echo "<p>You forgot to enter a search term"; exit; }
  20.  
  21. // Otherwise we connect to our Database
  22. mysql_connect("localhost", "root", "") or die(mysql_error());
  23.  
  24. // We preform a bit of filtering
  25. $find = strtoupper($find); $find = strip_tags($find); $find = trim ($find);
  26. $field = strtoupper($field); $field = strip_tags($field); $field = trim ($field) ;
  27.  
  28. //Now we search for our search term, in the field the user specified
  29. $data = mysql_query("SELECT * FROM expediente WHERE sexo LIKE '%$find%' AND raza LIKE '%$field%' ");
  30.  
  31. //And we display the results
  32. while($result = mysql_fetch_array( $data ))
  33. {
  34.     echo $result['dueno'];
  35.     echo "<br>";
  36.     echo $result['raza'];
  37.     echo "<br>";
  38.     echo $result['sexo'];
  39.     echo "<br>";
  40.     echo $result['telefono'];
  41.     echo "<br>";
  42. }
  43.  
  44. //This counts the number or results - and if there wasn't any it gives them a little message explaining that
  45.  
  46. if(!mysql_num_rows($data)) { echo "Sorry, but we can not find an entry to match your query<br><br>"; }
  47.  
  48. //And we remind them what they searched for
  49.  
  50. echo "<br/>";
  51. echo "<b>Searched For:</b> " .$find .$field; } ?>
  52.  
  53. <form name="search" method="post"
  54.     action="<?php echo $_SERVER['PHP_SELF']; ?>">Buscar: Macho<input
  55.     type="radio" name="find" value="Macho" /> Hembra<input type="radio"
  56.     name="find" value="Hembra" /> En <select size=1 name="field">
  57.     <option value="Airedale Terrier">Airedale Terrier</option>
  58.     <option value="Akita">Akita</option>
  59.     <option value="Akita americano">Akita americano</option>
  60.     <option value="Alaskan Malamute">Alaskan Malamute</option>
  61.     <option value="American pit bull terrier">American pit bull terrier</option>
  62.     <option value="American staffordshire terrier">American staffordshire
  63.     terrier</option>
  64.     <option value="Australian terrier">Australian terrier</option>
  65.     <option value="Basset Hound">Basset Hound</option>
  66.     <option value="Beagle">Beagle</option>
  67.     <option value="Bichon maltes">Bichon maltes</option>
  68.     <option value="Bloodhound">Bloodhound</option>
  69.     <option value="Border Collie">Border Collie</option>
  70.     <option value="Boston terrier">Boston terrier</option>
  71.     <option value="Bouvier des Flandres">Bouvier des Flandres</option>
  72.     <option value="Boxer">Boxer</option>
  73.     <option value="Bull terrier">Bull terrier</option>
  74.     <option value="Bulldog Ingles">Bulldog Ingles</option>
  75.     <option value="Bulldog americano">Bulldog americano</option>
  76.     <option value="Bulldog frances">Bulldog frances</option>
  77.     <option value="Bullmastiff">Bullmastiff</option>
  78.     <option value="Chihuahua">Chihuahua</option>
  79.     <option value="Chow Chow">Chow Chow</option>
  80.     <option value="Cocker Spaniel Americano">Cocker Spaniel Americano</option>
  81.     <option value="Cocker Spaniel Inglés">Cocker Spaniel Inglés</option>
  82.     <option value="Dachshund (Salchicha)">Dachshund (Salchicha)</option>
  83.     <option value="Dalmata">Dalmata</option>
  84.     <option value="Dobermann">Dobermann</option>
  85.     <option value="Dogo Argentino">Dogo Argentino</option>
  86.     <option value="Dogo de Burdeos">Dogo de Burdeos</option>
  87.     <option value="Fila Brasileiro">Fila Brasileiro</option>
  88.     <option value="Fox terrier">Fox terrier</option>
  89.     <option value="Galgo">Galgo</option>
  90.     <option value="Gigate de los Pirineos">Gigante de los Pirineos</option>
  91.     <option value="Golden Retriever">Golden Retriever</option>
  92.     <option value="Gran Danés">Gran Danés</option>
  93.     <option value="Husky Siberiano">Husky Siberiano</option>
  94.     <option value="Lhasa apso">Lhasa apso</option>
  95.     <option value="Mastiff">Mastiff</option>
  96.     <option value="Mastín Español">Mastín Español</option>
  97.     <option value="Mastín Napolitano">Mastín Napolitano</option>
  98.     <option value="Pastor Aleman">Pastor Aleman</option>
  99.     <option value="Pastor Australiano">Pastor Australiano</option>
  100.     <option value="Pastor Belga">Pastor Belga</option>
  101.     <option value="Pastor Belga Malinois">Pastor Belga Malinois</option>
  102.     <option value="Pastor de Shetland">Pastor de Shetland</option>
  103.     <option value="Pastor Holandes">Pastor Holandes</option>
  104.     <option value="Pekines">Pekines</option>
  105.     <option value="Pinscher">Pinscher</option>
  106.     <option value="Pinscher Miniatura">Pinscher Miniatura</option>
  107.     <option value="Pointer">Pointer</option>
  108.     <option value="Pomerania">Pomerania</option>
  109.     <option value="Presa Canario">Presa Canario</option>
  110.     <option value="Pug">Pug</option>
  111.     <option value="Rhodesian Ridgeback">Rhodesian Ridgeback</option>
  112.     <option value="Rottweiler">Rottweiler</option>
  113.     <option value="Samoyedo">Samoyedo</option>
  114.     <option value="San Bernardo">San Bernardo</option>
  115.     <option value="Schnauzer estandar">Schnauzer estandar</option>
  116.     <option value="Schnauzer gigante">Schnauzer gigante</option>
  117.     <option value="Schnauzer miniatura">Schnauzer miniatura</option>
  118.     <option value="Scottish terrier">Scottish terrier</option>
  119.     <option value="Setter Ingles">Setter Ingles</option>
  120.     <option value="Setter Irlandes">Setter Irlandes</option>
  121.     <option value="Shar Pei">Shar Pei</option>
  122.     <option value="Shih Tzu">Shih Tzu</option>
  123.     <option value="Spitz Japones">Spitz Japones</option>
  124.     <option value="Terranova">Terranova</option>
  125.     <option value="Viejo Pastor Ingles">Viejo Pastor Ingles</option>
  126.     <option value="Weimaraner">Weimaraner</option>
  127.     <option value="Welsh Corgi Cardigan">Welsh Corgi Cardigan</option>
  128.     <option value="West highland white terrier">West highland white terrier</option>
  129.     <option value="Xoloitzcuintle">Xoloitzcuintle</option>
  130.     <option value="Yorkshire terrie">Yorkshire terrier</option>
  131. </select> <input type="hidden" name="searching" value="yes" /> <input
  132.     type="submit" name="search" value="Search" /></form>
  133. </body>
  134. </html>
Respecto de la consulta es difícil decirte sin ver las tablas y los datos. Prueba la query en un cliente mysql a ver si realmente hay más de un resultado.
__________________
Fere libenter homines, id quod volunt, credunt.
  #3 (permalink)  
Antiguo 02/03/2012, 10:12
 
Fecha de Ingreso: marzo-2012
Ubicación: mexico
Mensajes: 7
Antigüedad: 12 años
Puntos: 0
Respuesta: Buscador php me da error variables y solo da una consulta!

Muchas gracias ya me funciono!!!! pero ahoraaa! si me pudieras explicar!! segun yo se definian las variables como yo las puse
Código PHP:
Ver original
  1. $searching = htmlspecialchars(trim($_POST['searching']));
  2. $find = htmlspecialchars(trim($_POST['find']));
  3. $field = htmlspecialchars(trim($_POST['field']));
  4. $search = htmlspecialchars(trim($_POST['search']));

y tu las pusiste asi
Código PHP:
Ver original
  1. $searching = isset($_POST['searching'])? htmlspecialchars(trim($_POS['searching'])): "";
  2. $find = isset($_POST['find'])? htmlspecialchars(trim($_POST['find'])): "";
  3. $field = isset($_POST['field'])? htmlspecialchars(trim($_POST['field'])): "";
  4. $search = isset($_POST['search'])? htmlspecialchars(trim($_POST['search'])): "";

te pregunto como digamos la diferencia!! porque yo en una hoja de registro de usuarios tengo la definicion de variable como la puse yo al inicio! y no me da error! pero si esta mal para cambiarlo!!

Te lo agradezco infinitamente!!
  #4 (permalink)  
Antiguo 02/03/2012, 10:20
 
Fecha de Ingreso: febrero-2012
Ubicación: En mi propio mundo
Mensajes: 73
Antigüedad: 12 años, 1 mes
Puntos: 23
Respuesta: Buscador php me da error variables y solo da una consulta!

La explicación es que la primera vez que se ejecuta tu codigo no existen las variables que recoges del $_POST.

Lo que hace repara2 es comprobar que existan antes de asignarlas.

por ejemplo con $searching la lógica es esta:
Si $_POST['searching'] existe $searching = htmlspecialchars(trim($_POST['searching']));

Etiquetas: html, mysql, sql, variables, buscadores
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 22:41.