Foros del Web » Programando para Internet » PHP »

Error sale : Undefined index

Estas en el tema de Error sale : Undefined index en el foro de PHP en Foros del Web. Buenos dias con todos, estimados, avance mi codigo para hacer mi buscador, funciona todo ok, pero me sale el siguiente error : Notice: Undefined index: ...
  #1 (permalink)  
Antiguo 18/07/2011, 10:17
 
Fecha de Ingreso: julio-2011
Mensajes: 50
Antigüedad: 12 años, 9 meses
Puntos: 0
Error sale : Undefined index

Buenos dias con todos, estimados, avance mi codigo para hacer mi buscador, funciona todo ok, pero me sale el siguiente error :

Notice: Undefined index: palabra in E:\Software colaborativo\opengoo_1.3.1\opengoo\form\form\copy0 1.php on line 53

Agradeceria mucho si me pudieran ayudar. La linea 53 es :
$sql = mysql_query("SELECT * FROM articulos WHERE titulo LIKE '%{$_POST['palabra']}%'") or die ("Error en el query: ".mysql_error());

Se tiene que declarar, o comprobar algo , por lo que estaba viendo, pero intenete pero nada.



<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Formato de Ingeniería</title>
<link rel="stylesheet" type="text/css" href="view.css" media="all">
<!--<script type="text/javascript" src="view.js"></script>-->
<!--<script type="text/javascript" src="calendar.js"></script> M-->
<script>

var ventana_secundaria

function abrirVentana(){
//guardo la referencia de la ventana para poder utilizarla luego
ventana_secundaria = window.open("31.php","miventana","width=430,height =390,menubar=no")
}

function cerrarVentana(){
//la referencia de la ventana es el objeto window del popup. Lo utilizo para acceder al método close
ventana_secundaria.close()
}
</script>
</head>

<body id="main_body" >

<img id="top" src="top.png" alt="">
<div id="form_container">

<h1><a>Formato de Ingenier&iacute;a</a></h1>

<div class="form_description">
<center><p><h1>Clientes</h1></p></center>

</div>
<ul >


<center>
<p><h2>Clientes</h2></p>
<p><form name="buscador" method="post" action="copy01.php"><br>
Nombre de Cliente: <input type="text" name="palabra"><input type="submit" value="Buscar" name="Buscar"><br>
<!--<br><a href="nuevocliente.php" target="_blank">Nuevo Cliente</a><br />-->

<br>
<input type=button value="Nuevo Usuario" onclick="abrirVentana()">
</form></p>
</center>
<?php

$link=mysql_connect("localhost","root","mysql") or die (mysql_error());
mysql_select_db("phpfacil",$link) or die (mysql_error());
$sql = mysql_query("SELECT * FROM articulos WHERE titulo LIKE '%{$_POST['palabra']}%'") or die ("Error en el query: ".mysql_error());

if(isset($_POST['Buscar'])) {
while($rs=mysql_fetch_array($sql)){
echo "<tr>";
echo "<td><a href='copy02.php?titulo={$rs['titulo']}'>{$rs['titulo']}</a></td><br>";
echo "</tr>";
}
}

?>



</ul>

<div id="footer">
Generated by WMV</a>
</div>
</div>
<img id="bottom" src="bottom.png" alt="">
</body>
</html>
  #2 (permalink)  
Antiguo 18/07/2011, 10:20
Avatar de vgonga1986  
Fecha de Ingreso: marzo-2008
Ubicación: País de Pandereta
Mensajes: 1.021
Antigüedad: 16 años, 1 mes
Puntos: 253
Respuesta: Error sale : Undefined index

Buenas,

Ese error significa que en el array $_POST no existe ninguna entrada para el índice 'palabra'. Haz al principio de la página un var_dump($_POST) para ver qué viene en el POST.

Un saludo.
__________________
¿Alguna pregunta, duda, acotación, nota, cuestión, reparo, comentario, demanda, crítica, interpretación, objeción, interrogante, discrepancia, observación, réplica, disquisición, apostilla o exégesis?
  #3 (permalink)  
Antiguo 18/07/2011, 10:21
Avatar de iviamontes  
Fecha de Ingreso: enero-2011
Ubicación: $cubano->Arg->Mendoza
Mensajes: 1.184
Antigüedad: 13 años, 3 meses
Puntos: 209
Respuesta: Error sale : Undefined index

y tienes que los campos así ???

'{campo}' ?

te pregunto pq haces esto ?

$sql = mysql_query("SELECT * FROM articulos WHERE titulo LIKE '%{$_POST['palabra']}%'") or die ("Error en el query: ".mysql_error());
__________________
aconcaguaestudio.com
  #4 (permalink)  
Antiguo 18/07/2011, 10:23
Avatar de vgonga1986  
Fecha de Ingreso: marzo-2008
Ubicación: País de Pandereta
Mensajes: 1.021
Antigüedad: 16 años, 1 mes
Puntos: 253
Respuesta: Error sale : Undefined index

Cita:
Iniciado por iviamontes Ver Mensaje
y tienes que los campos así ???

'{campo}' ?

te pregunto pq haces esto ?

$sql = mysql_query("SELECT * FROM articulos WHERE titulo LIKE '%{$_POST['palabra']}%'") or die ("Error en el query: ".mysql_error());
Jeje... no lo había visto ;)
__________________
¿Alguna pregunta, duda, acotación, nota, cuestión, reparo, comentario, demanda, crítica, interpretación, objeción, interrogante, discrepancia, observación, réplica, disquisición, apostilla o exégesis?
  #5 (permalink)  
Antiguo 18/07/2011, 10:24
 
Fecha de Ingreso: julio-2011
Mensajes: 50
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: Error sale : Undefined index

Solucionado tenía que declarar en una estrucutra de control, verificar el campo

if (isset($_POST['palabra'])== 'palabrra'){

De igual forma muchas gracias por las respuestas.Derepente a alguien le puede servir
Slds.
  #6 (permalink)  
Antiguo 18/07/2011, 10:33
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Error sale : Undefined index

Ismadueno10, me parece que estas tratando de generar resultados de busqueda desde la primera vez que se ingresa a la pagina, por tanto, $_POST viene vacio y lo que tendrias que hacer es:

Código PHP:
Ver original
  1. if(isset($_POST['palabra'])) {
  2.        // Aqui obtienes los resultados
  3. }

Ahora, por lo general los buscadores se trabajan por metodo GET para que puedas usar los enlaces a futuro: Agregarlo a favoritos, enviarlo por mail, etc., aunque si no necesitas esa caracteristica en tu desarrollo, no habra problema.

Edito: Me tarde mucho escribiendo esto... lo solucionaste antes! Aunque sobran esos == 'palabrra'


iviamontes, vgonga1986:

Código PHP:
Ver original
  1. $query = "SELECT * FROM articulos WHERE titulo LIKE '%{$_POST['palabra']}%'";

El uso de llaves para delimitar una variable dentro de una cadena es lo mas apropiado, principalmente si se trata de elementos de un array, tal como pueden leerlo en Como usar las comillas bien.
__________________
- León, Guanajuato
- GV-Foto
  #7 (permalink)  
Antiguo 18/07/2011, 11:05
Avatar de iviamontes  
Fecha de Ingreso: enero-2011
Ubicación: $cubano->Arg->Mendoza
Mensajes: 1.184
Antigüedad: 13 años, 3 meses
Puntos: 209
Respuesta: Error sale : Undefined index

excelente, gracias @Triby
__________________
aconcaguaestudio.com

Etiquetas: html, index, mysql, sql, undefined, usuarios
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 18:44.