Problema con buscador php sencillo
Hola a todos!! Bien, hoy me molesta la duda de como definir una variable y un index.
Este es el error que sale:
Notice: Undefined index:
Notice: Undefined variable:
Primero explico que estoy haciendo un buscador y me tira un error index en esta linea, ya que no defini "busca":
Desde y muchas gracias por el tiempo!! Saludos!!
Este es el error que sale:
Notice: Undefined index:
Notice: Undefined variable:
Primero explico que estoy haciendo un buscador y me tira un error index en esta linea, ya que no defini "busca":
<?php $busca=""; $busca=$_POST['busca']; //ACA ES DONDE ME TIRA ERROR mysql_connect("localhost","root", "pitodesaul");// si haces conexion desde internnet usa 3 parametros si es a nivel local solo 2 mysql_select_db("sitio_corporativo");//nombre de la base de datos if($busca!=""){ $busqueda=mysql_query("SELECT * FROM z_posts WHERE titulo LIKE '%".$busca."%'");//cambiar nombre de la tabla de busqueda while($f=mysql_fetch_array($busqueda)){ echo $f['titulo'].' | '.$f['fecha'].' '."<br>";//cambiar los nombres de los campos de busqueda } } ?>Y luego el error de variable me lo tira aca, la variable indefinida es DatosWeb:
<?php echo $row_DatosWeb['titulo']; ?>
Desde y muchas gracias por el tiempo!! Saludos!!
0
Puntos
Puntos
1836
Visitas
Visitas
10
Resp
Resp
Por GeorgeHarrison hace 122 meses
Principiante
Respuesta #1
buenas, el propio error de variable no definida nos dice que no existe y es por que en la consulta no la estas creando, de todas formas yo te voy a dejar un ejemplo de como yo lo haría, ojo de la forma que tu lo haces también es respetable cada uno a su gusto por supuesto
ejemplo de buscador sencillo
ejemplo de buscador sencillo
<?php $hostname_conexion = "servidor"; $database_conexion = "DB"; $username_conexion = "User"; $password_conexion = "Password"; $conexion = mysql_pconnect($hostname_conexion, $username_conexion, $password_conexion) or trigger_error(mysql_error(),E_USER_ERROR); $cadena=$_GET['busca']; // Yo utilizo GET mysql_select_db($database_conexion, $conexion); $query_DatosWeb = sprintf("SELECT * FROM a_posts WHERE titulo LIKE %s ORDER BY id DESC", GetSQLValueString("%" . $cadena . "%", "text")); $DatosWeb = mysql_query($query_DatosWeb, $conexion) or die(mysql_error()); $row_DatosWeb = mysql_fetch_assoc($DatosWeb); $totalRows_DatosWeb = mysql_num_rows($DatosWeb); if ($totalRows_DatosWeb!=''){ //Mostramos si hay algún resultado do { echo $row_DatosWeb['titulo']; } while ($row_DatosWeb = mysql_fetch_assoc($DatosWeb)); } else echo 'No hay resultados'; //Si no hay resultados mysql_free_result($DatosWeb); ?>puedes usar solo parte del código y conectarte a la base de datos a tu manera sin problemas ;)
5
Puntos
Puntos
Por alber hace 122 meses
Administrador
Respuesta #2
Como siempre estoy super agradecido alber, pero me sigue tirando el error de que no defini busca, y ademas no importa lo que busque me salen todos los post.
Disculpas y muchisimas gracias!!
Disculpas y muchisimas gracias!!
0
Puntos
Puntos
Por GeorgeHarrison hace 122 meses
Principiante
Respuesta #3
en esta linea
if ($totalRows_DatosWeb){ //Mostramos si hay algún resultadoolvide poner si es distinto a nada
if ($totalRows_DatosWeb!=''){ //Mostramos si hay algún resultado
5
Puntos
Puntos
Por alber hace 122 meses
Administrador
Respuesta #4
si te sigue tirando un error puede ser por tu servidor local, cual usas?? xampp o wampp??
5
Puntos
Puntos
Por alber hace 122 meses
Administrador
Respuesta #5
Uso Xampp, pero no entendi bien lo que me dijiste, yo copio tu codigo, pongo mis datos, pero como te dije me tira el error y ademas me muestra todos mis post en vez de mostrar los post que coincidan con la busqueda, que es lo que tendria que cambiar? Disculpa que te llene de preguntas alber, sos un genio, muchisimas gracias por todo!!
0
Puntos
Puntos
Por GeorgeHarrison hace 122 meses
Principiante
Respuesta #6
el problema es que no entiendo tu código si quieres pon por aquí la pagina completa y intento ayudarte ya sabes que intento hacerlo lo mejor que puedo pero cada proyecto es un mundo
0
Puntos
Puntos
Por alber hace 122 meses
Administrador
Respuesta #7
Por supuesto alber, pero no importa, ya mas o menos lo pude solucionar. Muchisimas gracias, vos te interesas por cada tema, la verdad que sos un genio! Saludos!
0
Puntos
Puntos
Por GeorgeHarrison hace 122 meses
Principiante
Respuesta #8
Notice: Undefined index:
Notice: Undefined variable:
Esos mensajes no son errores como tal, son notas por decir, es porque no estan definidas, pero NO ES ERROR, en sistemas operativos en producción esos mensajes no aparecerán, por ejemplo en un GNU/Linux como servidor web digamos un CentOS, tu progrmación asi como está no muestra esos mensajes, de igual forma en un BSD, en software como xampp wamp si muestra porque son software para desarrollo y por defecto en php.ini esta mostrar todo, pero usted puede configurar para que no aparezcan notices o warning y mas detalles, yo recomiendo dejar asi como esta, solo las notas las ocultaria porque son notas, si no tiene acceso a php.ini (como muchos servidores en internet) puede usar en su archivo.php en las primeras lineas error_reporting(E_ALL & ~E_NOTICE); y recargue la pagina y verá que ya no aparece los notices, saludos.
Notice: Undefined variable:
Esos mensajes no son errores como tal, son notas por decir, es porque no estan definidas, pero NO ES ERROR, en sistemas operativos en producción esos mensajes no aparecerán, por ejemplo en un GNU/Linux como servidor web digamos un CentOS, tu progrmación asi como está no muestra esos mensajes, de igual forma en un BSD, en software como xampp wamp si muestra porque son software para desarrollo y por defecto en php.ini esta mostrar todo, pero usted puede configurar para que no aparezcan notices o warning y mas detalles, yo recomiendo dejar asi como esta, solo las notas las ocultaria porque son notas, si no tiene acceso a php.ini (como muchos servidores en internet) puede usar en su archivo.php en las primeras lineas error_reporting(E_ALL & ~E_NOTICE); y recargue la pagina y verá que ya no aparece los notices, saludos.
0
Puntos
Puntos
Por rodolfobsd hace 122 meses
Principiante
Respuesta #9
estuve viendo sus códigos...
si el buscador funciona no hay problema, esos notices lo pueden ocultar con error_reporting, pero si el buscador no funciona ahi si ahy que revisar a detalle su codigo.
otra cosa que veo es que en el condicional esta bien, pero otra forma podria ser
si el buscador funciona no hay problema, esos notices lo pueden ocultar con error_reporting, pero si el buscador no funciona ahi si ahy que revisar a detalle su codigo.
otra cosa que veo es que en el condicional esta bien, pero otra forma podria ser
$busca=$_POST['busca']; //esto esta bien, porque usando el metodo post estas enviando y $busca ya lo captura, eso esta bien
if(!empty($busca)){ echo 'tu consultasql'; }else{ echo "ingrese texto por favor..."; } asi podría ser, pero tu codigo que yo vea esta bien, el del amigo que te corrigió antes esta mucho mas ordenado, pero igual estan bien los dos, suerte.
5
Puntos
Puntos
Por rodolfobsd hace 122 meses
Principiante
Respuesta #10
a bueno si lo que querías era ocultar los errores solamente tenias que haber usado el buscador xd https://datoweb.com/post/23-como-ocultar-o-desactivar-errores-notice-undefined-de-php/
5
Puntos
Puntos
Por alber hace 122 meses
Administrador