Foros del Web » Programando para Internet » PHP »

Como solucionar el error Notice: Undefined variable?

Estas en el tema de Como solucionar el error Notice: Undefined variable? en el foro de PHP en Foros del Web. Hola como puedo solucionar el error Notice: Undefined variable Me da el siguiente error: Notice: Undefined variable: clausula in blabla\list-noticia.php on line 26 Por lo ...
  #1 (permalink)  
Antiguo 23/06/2011, 16:50
 
Fecha de Ingreso: marzo-2008
Mensajes: 60
Antigüedad: 16 años
Puntos: 0
Como solucionar el error Notice: Undefined variable?

Hola como puedo solucionar el error Notice: Undefined variable

Me da el siguiente error:
Notice: Undefined variable: clausula in blabla\list-noticia.php on line 26

Por lo que lei es mas un aviso que un error, y se podria solucionar inicializando la variable, pero sinceramente no comprendi muy bien.

Dejo el codigo:

(Tras obviar la estructura html la line 26 equivale en el codigo que muestro a la line 19)

Código PHP:
<?php
// verificamos si se ha enviado
// alguna variable via GET
if(isset($_GET['id']) && $_GET['categoria']){
// asignamos los valores
// a las variables que usaremos
$cat_ID $_GET['id'];
$categoria $_GET['categoria'];
$clausula "WHERE notCategoriaID = '$cat_ID'";
// tambien armamos el titular de la pagina
$titulo "Noticias en la categoria $categoria";
}else{
// de lo contrario
// el titulo sera general
$titulo "Todas las noticias";
}
// armamos la consulta
$sqlQueryNot mysql_query("SELECT notTitulo, notTexto FROM sn_noticias
$clausula"
$db_link)
or die(
mysql_error());
echo 
"<h1>$titulo</h1>";
// mostramos las noticias,
// otra vez usando un bucle while
while($rowNot mysql_fetch_array($sqlQueryNot)){
echo 
"<h1>$rowNot[notTitulo]</h1>";
echo 
nl2br($rowNot['notTexto']);
}
?>
Gracias Salú
  #2 (permalink)  
Antiguo 23/06/2011, 17:00
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Como solucionar el error Notice: Undefined variable?

Es normal, ya que en el flujo de tu código solo existe $clausula cuando entra al if(), pero si no entra es por ello que recibes el mensaje de error.

Debes implementar un comportamiento por defecto en caso de no entrar al if().
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 23/06/2011, 17:56
 
Fecha de Ingreso: marzo-2008
Mensajes: 60
Antigüedad: 16 años
Puntos: 0
Respuesta: Como solucionar el error Notice: Undefined variable?

Perdon mi ignorancia, me podrias dar un ejemplo.
  #4 (permalink)  
Antiguo 23/06/2011, 18:41
 
Fecha de Ingreso: mayo-2011
Mensajes: 171
Antigüedad: 12 años, 11 meses
Puntos: 32
Respuesta: Como solucionar el error Notice: Undefined variable?

lo que dijo pateketrueke
Cita:

if(isset($_GET['id']) && $_GET['categoria']){
.....
$clausula _ _ _ <<-- existe
......
}else{
..........
---- <<-- aqui no existe
}
de tal forma qu si el codigo no pasa por el if y va al else la variable $clausula no existe y cuando la intentas llamar (cuando armas la consulta ) al no existir $clausula te sale error
  #5 (permalink)  
Antiguo 23/06/2011, 20:22
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Como solucionar el error Notice: Undefined variable?

Sabin, te invito a leer esto:
http://www.forosdelweb.com/f18/undef...2/#post3904555
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #6 (permalink)  
Antiguo 24/06/2011, 01:40
 
Fecha de Ingreso: marzo-2008
Mensajes: 60
Antigüedad: 16 años
Puntos: 0
Respuesta: Como solucionar el error Notice: Undefined variable?

Perfecto mr pateketrueke, esa era la explicacion que buscaba, no solo para sacar ese aviso sino para entender un poquito mas. Muchas gracias

Esto de meterse con codigos sin conocer bien xd pero espero aprender, de nuevo gracias.

Etiquetas: undefined, variables
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 11:28.