Undefined variable or Undefined index

Me sale un error en PHP. ¿Qué significa? Notice: Undefined variable or Undefined index

La FAQ Undefined variable or Undefined index tiene

Pertenece a la categoría:
Pregunta
Me sale un error en PHP. ¿Qué significa?



Notice: Undefined variable or Undefined index
Respuesta de Miguel Angel Alvarez
Eso significa que estás intentando acceder a una variable o a un índice de un array que no existe.



No es exactamente un error, es un "notice" que es un nivel por debajo. Informa que algo no funcionó del todo bien, pero que no produjo un error o fallo del programa.



PHP se puede configurar para que muestre los notice o no en el php.ini

Volver al árbol de categoríasVolver al árbol de categorías

Comentarios

Pablin

17/10/2007
Generalmente esos "errores" no fatales para la aplicación suceden porque se hace una llamada a una variable la cual no ha sido inicializada, osea no contiene ningún valor tratable. Una solución posible a eso es o modificar el php.ini o una forma más prectica de hacerlo es poner una sentencia en la página en cuestión que obligue a no mostrar esos avisos. Eso se hace con "error_reporting()"
Pansandole valores como "E_ALL" la aplicación mostrará todos los problemas que contenga la misma, y con un "E_PARSE" solo mostraré errores relacionados a la sintaxis PHP. Porsupuesto que hay muchas valores posibles pero eso ya es cuestión de investigar un poquito.
Espero que sirva.
Saludos!

Rodrigo

04/7/2009
Variable
Puedes hacer algo asi sencillo. el codigo es muy simple:

if (empty($_GET['x'])) { $x="";} else { $x=$_GET['x'];}

Saludos!

Pedro

11/5/2011
Undefined error
Hola al abrir una aplicacion me da un error Undefined exactamente: Unable to load file: greu _undefined.swf?xmlpath=undefined

Me podeis ayudar a resolverlo?

Miguel

28/6/2011
Esta correcto y no funciona
Hola, estoy desarrollando un sitio y tengo que utilizar una variable en otra pagina al hacer clic al boton del formulario. He revisado y todo esta correcto. Llevo 3 dias y no logro encontrar mi error.<br />
<br />
//Esta es lo de la primera Pagina:<br />
&lt;html&gt;<br />
&lt;head&gt;<br />
&lt;/head&gt;<br />
&lt;?php $variable=49+18;?&gt;<br />
&lt;?php echo $variable?&gt;<br />
&lt;form action=&quot;variable.php?a=&lt;?php echo $variable?&gt;&quot; method=&quot;POST&quot;&gt;<br />
&lt;input type=&quot;text&quot;&gt;<br />
&lt;input type=&quot;submit&quot; value=&quot;ver&quot;&gt;<br />
&lt;/form&gt; <br />
&lt;a href=&quot;variable.php?variable=&lt;?php echo $variable ?&gt;&quot;&gt;Enviar variable&lt;a&gt;<br />
&lt;body&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;<br />
<br />
<br />
//Este es codigo de la segunda pagina<br />
&lt;?php <br />
$variable = $_POST[&#039;variable&#039;]; <br />
echo $variable;<br />
?&gt;

carlos_gonzalez-460893

12/8/2011
Para Miguel
[quote]Miguel dijo: Hola, estoy desarrollando un sitio y tengo que utilizar una variable en otra pagina al hacer clic al boton del formulario. He revisado y todo esta correcto. Llevo 3 dias y no logro encontrar mi error.

//Esta es lo de la primera Pagina:
<html>
<head>
</head>
<?php $variable=49+18;?>
<?php echo $variable?>
<form action="variable.php?a=<?php echo $variable?>" method="POST">
<input type="text">
<input type="submit" value="ver">
</form>
<a href="variable.php?variable=<?php echo $variable ?>">Enviar variable<a>
<body>
</body>
</html>


//Este es codigo de la segunda pagina
<?php
$variable = $_POST['variable'];
echo $variable;
?>
[/quote]

Hola Miguel

Analizando por encima tu código, veo que presenta varios detalles los cuales te enumero a continuación:
1. Falta el signo ; luego de la variable $variable en la línea 5.
2. Falta el signo ; luego de la variable $variable en la línea 6.
3. Falta el signo ; luego de la variable $variable en la línea 10.
4. Al enviar la información del formulario lo haces a través del método POST, pero la técnica usada para leer la variable a través del Hypervículo es de tipo GET, es decir, la etiqueta INPUT de tipo TEXT que usas no posee una NAME, y el archivo variable.php lo que espera es recibir una variable llamada "variable" y que sea de tipo POST. En resúmen, para solventar este punto colócale nombre a tu INPUT de tipo TEXT, y el archivo variable.php deberá leer el nombre de esa variable que colocaste.
5. Ahora bien, sigues de todos modos teniendo un problema de estructuración lógica por razón de lectura de variables, es decir, el Hipervínculo estructurado que usas se comporta bajo variables de tipo GET (y genera como resultado $_GET[variable]), pero el archivo variable.php lo que va a leer es una variable de tipo POST (que genera como resultado $_POST[variable]) y entonces al usar el hipervínculo da el error:

Notice: Undefined index: var in [file_path]variable.php on line 2

Para solventar esto (sin analizarlo mucho) lo que te recomiendo es que normalices un sólo método (GET o POST), a priori te digo que uses GET, ya que usas manipulación de URL´s.

Quedando los código así:

//index.php:
//////////////
<html>
<head>
</head>
<body>
<?php
$variable=49+18;
echo $variable;
?>
<form action="variable.php?a=
<?php
echo $variable;
?>
" method="POST">
<input type="text" name="variable"><input type="submit" value="ver">
</form>
<a href="variable.php?variable=
<?php
echo $variable;
?>
">Enviar variable<a>
</body>
</html>


//Variable.php
////////////////
<?php
$variable = $_GET['variable'];
echo $variable;
?>

angel_zambrano-557254

24/10/2011
Problema con Undefined variable or Undefined index PHP+ADODB+MYSQL
Buenas tardes la presente es para ver si me pueden ayudar con un código de php ya que apenas estoy empezando a desarrollar en este ambiente web.

Estoy haciendo un sistema de registro de correspondencia, ya le habilite las "sesiones" hasta los momentos me funcionan" el sistema lleva un contador unico 1 ,2 ,3...n para cada correspondencia recibida, a su vez el mismo contador se concatena con el año 12011, 22011, 32011...n20nn para realizar trabajos de oficina internos (ellos siempre lo han usado y desean seguirlos utilizando) logre hacer los contadortes para que se los muestre al usuario, lo que sucede es que cuando voy a guardar me da un mensaje

Notice: Undefined variable:ContadorReciente1 in /var/www/html/corres/insertar.php on line 36 Call Stack: 0.0004 364804 1. {main}() /var/www/html/corres/insertar.php:0 Notice: Undefined variable: ContadorRecienteAnio in /var/www/html/corres/insertar.php on line 36 Call Stack: 0.0004 364804 1. {main}() /var/www/html/corres/insertar.php:0 Problemas con la insersi&#65533;n en la Base de Datos

Les adjunto el código del archivo insertar.php

<?php
date_default_timezone_set('America/Caracas');
$anio = date("Y");
$fecha = date("d/m/Y");
$hora= date('H:i:s');
//iniciamos la sesión ||
session_start();
//if($_SESSION["autenticado"]!='SI'){
if(($_SESSION["autenticado"]!='SI')||($_SESSION["nivel"]!='1')){
echo "<script language='JavaScript'> alert('Usted no esta autorizado...');</script>";
header("Location: home.php");
} else {
$fechaGuardada = $_SESSION["ultimoAcceso"];
date_default_timezone_set('America/Caracas');
$ahora = date("Y-n-j H:i:s");
$tiempo_transcurrido = (strtotime($ahora)-strtotime($fechaGuardada));

//comparamos el tiempo transcurrido
if($tiempo_transcurrido >= 600) {
//si pasaron 10 minutos o más
session_destroy(); // destruyo la sesión
header("Location: home.php"); //envío al usuario a la pag. de autenticación
//sino, actualizo la fecha de la sesión
}else {
$_SESSION["ultimoAcceso"] = $ahora;
}
}

// hasta aca llegan las sesiones
if(isset($_POST["combo01"])){
include("./connection/connection.php");
$tabla="cor";
//////// PRUEBAS
//$sql="INSERT INTO ".$tabla."(cod,codyear,remitente,destinatario,n_oficio,contenido,n_tlf,fecha,hora,user,observacion) VALUES ('".$ContadorReciente1."','".$_POST["XXXX"]."','".$_POST["b0"]."','".$_POST["b1"]."','".$_POST["b2"]."')";
//$sql="INSERT INTO ".$tabla."(cod,codyear,destinatario,remitente,n_oficio,contenido,n_tlf,fecha,hora,user,observacion) VALUES ('".$ContadorReciente1."','".$ContadorRecienteAnio."','".$_POST["combo01"]."','".$_POST["b1"]."','".$_POST["b2"]."','".$_POST["b3"]."','".$_POST["b4"]."','".$fecha."','".$hora."','".$_SESSION["usuario_entrada"]."')"; $db->Execute($sql) or die("Problemas con la insersión en la Base de Datos");
//$sql="INSERT INTO ".$tabla."(cod,codyear,destinatario,remitente,n_oficio,contenido,n_tlf,fecha,hora,user,observacion) VALUES ('".$ContadorReciente1."','".$ContadorRecienteAnio."','".$_POST["combo01"]."','".$_POST["b1"]."','".$_POST["b2"]."','".$_POST["b3"]."','".$_POST["b4"]."','".$fecha."','".$hora."','".$_SESSION["usuario_entrada"]."')"; $db->Execute($sql) or die("Problemas con la insersión en la Base de Datos");
//////// PRUEBAS
$sql="INSERT INTO ".$tabla."(cod,codyear,destinatario,remitente,n_oficio,contenido,n_tlf,fecha,hora,user,observacion) VALUES ('".$ContadorReciente1."','".$ContadorRecienteAnio."','".$_POST["combo01"]."','".$_POST["b1"]."','".$_POST["b2"]."','".$_POST["b3"]."','".$_POST["b4"]."','".$fecha."','".$hora."','".$_SESSION["usuario_entrada"]."')"; $db->Execute($sql) or die("Problemas con la insersión en la Base de Datos");
echo ("Los datos fueron insertados exitosamente...");?>
<a href="javascript:history.back(1)">Anterior</a>
<?php
}else{?><center>

<table align="center" width="950" border="0">
<tr>

<td align="center"><?php echo "<font size='5' color='#000000'>Sistema de Control de Correspondencia</font> <font color='#0000CC'><b></b></font>";?></td>
<!--
Comentarios en Html
<td align="center"><?php echo "<font color='#000000'></font> <font color='#0000CC'><b>".$_SESSION["nombre_entrada"]." ".$_SESSION["apellido_entrada"]."</b></font>";?></td>
-->
<!--
<td align="left"><?php echo "<font color='#000000'>Usuario:</font> <font color='#0000CC'><b>".$_SESSION["usuario_entrada"]."</b></font>";?></td>
-->
<!--
<td align="left"><?php echo "<font color='#000000'>Fecha:</font> <font color='#0000CC'><b>".$fecha."</b></font>";?></td>
-->
<!--
<td align="left"><?php echo "<font color='#000000'>Hora:</font> <font color='#0000CC'><b>".$hora."</b></font>";?></td>
-->
<!--
<td align="right"><?php echo "<font color='#000000'>Nivel:</font> <font color='#0000CC'><b>".$_SESSION["nivel"]."</b></font>";?></td>
-->
</tr>
<tr>
<td align="center"><?php echo "<font color='#000000'>Fecha:</font> <font color='#0000CC'><b>".$fecha."</b></font>";?></td>
</tr>
<tr>


<td align="center"><?php echo "<font color='#000000'></font> <font color='#0000CC'><b>".$_SESSION["nombre_entrada"]." ".$_SESSION["apellido_entrada"]."</b></font>";?></td>
</tr>
</table>

<?php
include("./connection/connection.php");
$tabla1="cor";
$campo1="cod";
//$sql1="SELECT * FROM ".$tabla1." WHERE ".$campo1."'";
$sql1="SELECT * FROM ".$tabla1." WHERE ".$campo1;
$rs1=$db->Execute($sql1) or die($rs1->ErrorMsg());
?> <br>


<?php

function contadores(){
global $ContadorProximo1, $ContadorReciente1Anio;


}
?>

<?php
$Contador1 = 0 ;
while (!$rs1->EOF) {
$Contador1++
?>
<?php print $rs1->fields['0']; ?>
<?php
print $ContadorGuardado1=$rs1->fields['0'];
$ContadorReciente1=$Contador1+$rs1->fields['0'];
$ContadorReciente1Anio=$ContadorReciente1&$anio;
?>
<td><?php //echo "El ultimo registro guardado es: " .$ContadorGuardado1; ?></td>
<td><?php //echo "El proximo registro a guardar es: " .$ContadorReciente1 ?></td>
<td><?php //echo "El codigo mas el año es: " .$ContadorRecienteAnio ?></td>
<td><?php //echo "Muslito"; ?></td>
<!-- <td><?php // echo "El codigo mas el año es: " .$ContadorRecienteAnio=$ContadorReciente1&$anio; ?></td>


<tr>
<?php $rs1->MoveNext(); // para pasar al siguiente registro si no se usa siempre a mostra el mismo registro
//$_GLOBALS['variable']
}
?>
<?php
If (isset($ContadorGuardado1)==0)
{$ContadorGuardado1=0;}
++$ContadorGuardado1;
echo "Actualmente hay 0 Registros guardados, se empezar&aacute con el registro N&uacutemero " .$ContadorGuardado1;
echo "<br>";
echo "<br>";
// echo "El proximo registro a guardar es: " .$ContadorRecienteAnio=$ContadorReciente1.$anio;
?>

<!--
<p align="center"> <?php echo "<font color='#000000'>Bienvenido:</font> <font color='#0000CC'><b>".$_SESSION["nombre_entrada"]." ".$_SESSION["apellido_entrada"]."</b></font>";?></p>
-->

<?php
//El resultado es impreso en pantalla, una línea por cada fila obtenida.
include("./connection/connection.php");
$i=0; //Este es el que me permite seleccionar el campo que deseo mostrar en la base de datos
$tabla2="destinatario";
$sql2="SELECT * FROM ".$tabla2;
$rs2=$db->Execute($sql2) or die($rs2->ErrorMsg());
//if ($result === false) die("failed");
while (!$rs2->EOF) {
// el for se utiliza solo para mostrar todo el contenido de la tabla de 0 a n, siendo 0 el primer campo de la tabla
//for ($i=0, $max=$rs2->FieldCount(); $i < $max; $i++)
//for ($i=0, $max=$rs2->FieldCount(); $i < $max; $i++)
print $rs2->fields[$i].' ';
$rs2->MoveNext();
print "<br>";
}

// ASI TAMBIEN RECORRE LA BD Y MUESTRA LA INFO
// $result = $db->Execute("SELECT * FROM destinatario");
// if ($result === false) die("failed");
// while (!$result->EOF) {
// for ($i=0, $max=$result->FieldCount(); $i < $max; $i++)
// print $result->fields[$i].' ';
// $result->MoveNext();
// print "<br>n";
// }

?>

<form name="formulario1" action="./insertar.php" method="POST">
<br>
Destinatario: &nbsp <select name="combo01"> <option value="<?php
include("./connection/connection.php");
//$i=0;
$tabla3="destinatario";
$sql3="SELECT * FROM ".$tabla3;
$rs3=$db->Execute($sql3) or die($rs3->ErrorMsg());
//print $rs3->fields['0'].' '.$rs3->fields['0'].'<BR>';
print $rs3->fields['0'].' '.'<BR>';
print $rs3->GetMenu('combo01',null,false);
// Se puede dejar estas lineas comentadas y tambien muestra la lista desplegable
//while (!$rs3->EOF) {
//print $rs3->fields[$i].' ';
//print $rs3->GetMenu('combo1',null,false);
//$rs3->MoveNext();
//print "<br>";
//}
//Hasta aca //////////////////////////
?>"></option>
</select><br>
Remitente: &nbsp <input name="b1"><br>
N&uacutemero de Oficio: &nbsp <input name="b2"><br>
Contenido: &nbsp <input name="b3"><br>
N&uacutemero de Tel&eacutefono: &nbsp <input name="b4"><br>
Observacion: &nbsp <input name="b5"><br>
<input type="SUBMIT" value="insertar">
<a href="javascript:history.back(1)">Anterior</a>

</form>
<?php }?>

beytag

29/10/2011
Tengo un problema y ya no se que hacer me muestra la siguiente notificacion donde me informa que no he declarao la variable les adjunto el codigo
<html>
<head><title> FARMACIA</title></head>
<body bgcolor='gold'>
<a href='control_inventario.php'>Volver a la página de Inventario</a><br>
<table width='100%' border='1' cellspacing='0'>
<tr>
<td align='center'>Id</td>
<td align='center'>Dirección</td>
<td align='center'>Ciudad</td>
<td colspan='2' align='center'>Acción</td>
</tr>

<?php
include ('dbinfo.php');
$id_farmacia = $_GET['id_farmacia'];
$accion = $_GET['accion'];


if ($accion == 'nuevo')
{?>
<form action='farmacia.php?accion=agregar' method='post'>
<tr>
<td>&nbsp;</td>
<td><input type='text' name='txtDireccion' maxlength='30' size='30'></td>
<td><input type='text' name='txtCiudad' maxlength='30' size='30'></td>
<td colspan='2'><input type='submit' value='Agregar' ></td>
</tr>
</form>
<?php }

if($id_farmacia != null)
{
if($accion == 'borrar')

{
if(mysql_query("delete from farmacia where id_farmacia = '$id_farmacia'"))
{
echo "<br>El registro con id_farmacia: $id_farmacia se ha eliminado con éxito.<br> <a href='farmacia.php'>Volver a la página de inicio</a><br><a href='farmacia.php'>Seguir dando mantenimiento a esta tabla</a><br>";
}
else
{
echo "<br>El registro con id_farmacia: $id_farmacia NO se ha eliminado con éxito.<br> <a href='farmacia.php'>Volver a la página de inicio</a><br><a href='farmacia.php'>Seguir dando mantenimiento a esta tabla</a><br>";
}
}
elseif($accion=='editar')
{
$consulta = mysql_query("select * from farmacia where id_farmacia='$id_farmacia'");
if($consulta)
{
$registro = mysql_fetch_array($consulta);
?>
<form action='farmacia.php?accion=actualizar&id_farmacia=<?php echo '$id_farmacia' ?>' method='post'>
<tr>
<td><?php echo $registro['id_farmacia']; ?></td>
<td><input type='text' name='txtdireccion' maxlength='30' size='30' value=<?php echo $registro['Direccion']; ?>></td>
<td><input type='text' name='txtciudad' maxlength='30' size='30' value=<?php echo $registro['Ciudad']; ?>></td>
<td colspan='2'><input type='submit' name='actualizar' value='Actualizar' ></td>
</tr>
</form>
<?php }
}

elseif($accion=='actualizar')
{
$direccion= $_POST['txtdireccion'];
$ciudad = $_POST['txtciudad'];
if(mysql_query("UPDATE farmacia SET Direccion='$Direccion', Ciudad='$Ciudad' WHERE id_farmacia='$id_farmacia'"))
{
echo "<br>Se actualizó el registro con éxito.<br><br><a href='farmacia.php'>Seguir dando mantenimiento a esta tabla</a><br>";
}
else
{
echo "<br>NO se pudo actualizar el registro.<br><a href='farmacia.php'>Seguir dando mantenimiento a esta tabla</a><br>";
}
}
}

elseif($accion == 'agregar')
{
$Direccion = $_POST['txtDireccion'];
$Ciudad = $_POST['txtCiudad'];
if(mysql_query("INSERT INTO farmacia(Direccion, Ciudad) VALUES('$Direccion', '$Ciudad')"))
{
echo "<br>Nuevo registro insertado con éxito.<br> <a href='farmacia.php'>Seguir dando mantenimiento a esta tabla</a><br>";
}
else
{
echo "<br>NO se pudo insertar el registro.<br><a href='farmacia.php'>Seguir dando mantenimiento a esta tabla</a><br>";
}
}
else
{
$consulta = mysql_query("select * from farmacia");
while($registro=mysql_fetch_array($consulta)){ ?>
<tr>
<td><?php echo $registro['id_farmacia']; ?> </td>
<td><?php echo $registro['Direccion']; ?> </td>
<td><?php echo $registro['Ciudad']; ?> </td>
<td><a href='farmacia.php?id_farmacia=<?php echo $registro['id_farmacia']; ?>&accion=borrar'>Eliminar</a></td>
<td><a href='farmacia.php?id_farmacia=<?php echo $registro['id_farmacia']; ?>&accion=editar'>Editar</a></td>
</tr>
<?php }
}
mysql_close();?>
</table>
<?php
if($accion != 'nuevo')
{ ?>
<form action='farmacia.php?accion=nuevo' method='post'>
<p align='center'><input type='submit' name='btnnew' value='Nuevo'></p>
</form>
<?php }?>


</body>
</html>

purple

31/10/2011
RE
el session_start(); debe ser tu primer linea de codigo:
<?php
session_start();
?>
o te marcara error

beytag

01/11/2011
Gracias
Gracias me funciono mucho se los agradezco me han sacado de mucha dificultad, ahora no saben como bloquear los códigos para que no sean modificados al menos que coloquen mi clave incrustada si lo saben se los agradecere mucho

dennis

20/1/2012
solucion para Error >Notice: Undefined variable
si bien sabemos el error notice , no es un error fatal sino una configuracion del servidor apache que es usado. Yo recomiendo que usen Xampp para no tener esos incovenientes, pero si usas otro servidor apache y no queres que aparesca el notice solo se tiene que agregar este codigo php en la linea 2:
<?php
error_reporting('0');
?>

roy

22/5/2012
Notice: Undefined index:
php_flag display_errors 1
php_value error_reporting 7

en .htacces

kadu

09/12/2012
Undefined index
En apoyo a la respuesta de miguel ciertamente cuando aprece: Undefined index
es posible que no le hayamos colocado el nombre al input, lo digo por experiencia.

jessica llanos

21/8/2013
que significa este error?? por favor ya no se que hacer
Warning: PDOStatement::execute() [pdostatement.execute]: SQLSTATE[HY093]: Invalid parameter number: parameter was not defined in D:xampphtdocsSACVAIactuaciones.php on line 63

VickyTarifa

25/9/2013
Notice: Undefined offset: 1 in / on line 234
Hola a todos!
Necesito que por favor me ayudéis con este error, me aparece cuando intento aceder a otra ventana, y accede pero aparece el notice:
Muchas gracias,
Un saludo

VickyTarifa

27/9/2013
Notice: Undefined offset: 1 in / on line 234
El archivo contiene este código:
<?php
function ContentParseRoute($segments)
{
$vars = array();

//Get the active menu item.
$app = JFactory::getApplication();
$menu = $app->getMenu();
$item = $menu->getActive();
$params = JComponentHelper::getParams('com_content');
$advanced = $params->get('sef_advanced_link', 1);
$db = JFactory::getDBO();

// Count route segments
$count = count($segments);

// Standard routing for articles. If we don't pick up an Itemid then we get the view from the segments
// the first segment is the view and the last segment is the id of the article or category.
if (!isset($item)) {
$vars['view'] = $segments[0];
$vars['id'] = $segments[$count - 1];

return $vars;
}

// if there is only one segment, then it points to either an article or a category
// we test it first to see if it is a category. If the id and alias match a category
// then we assume it is a category. If they don't we assume it is an article
if ($count == 1) {
// we check to see if an alias is given. If not, we assume it is an article
/*if (strpos($segments[0], ':') === false) {
$vars['view'] = 'article';
$vars['id'] = (int)$segments[0];
return $vars;
}*/

list($id, $alias) = explode(':', $segments[0], 2); //ERROR

// first we check if it is a category
$category = JCategories::getInstance('Content')->get($id);

if ($category && $category->alias == $alias) {
$vars['view'] = 'category';
$vars['id'] = $id;

return $vars;
} else {
$query = 'SELECT alias, catid FROM #__content WHERE id = '.(int)$id;
$db->setQuery($query);
$article = $db->loadObject();

if ($article) {
if ($article->alias == $alias) {
$vars['view'] = 'article';
$vars['catid'] = (int)$article->catid;
$vars['id'] = (int)$id;

return $vars;
}
}
}
}

// if there was more than one segment, then we can determine where the URL points to
// because the first segment will have the target category id prepended to it. If the
// last segment has a number prepended, it is an article, otherwise, it is a category.
if (!$advanced) {
$cat_id = (int)$segments[0];

$article_id = (int)$segments[$count - 1];

if ($article_id > 0) {
$vars['view'] = 'article';
$vars['catid'] = $cat_id;
$vars['id'] = $article_id;
} else {
$vars['view'] = 'category';
$vars['id'] = $cat_id;
}

return $vars;
}

// we get the category id from the menu item and search from there
$id = $item->query['id'];//ERROR
$category = JCategories::getInstance('Content')->get($id);

if (!$category) {
JError::raiseError(404, JText::_('COM_CONTENT_ERROR_PARENT_CATEGORY_NOT_FOUND'));
return $vars;
}

$categories = $category->getChildren();
$vars['catid'] = $id;
$vars['id'] = $id;
$found = 0;

foreach($segments as $segment)
{
$segment = str_replace(':', '-', $segment);

foreach($categories as $category)
{
if ($category->alias == $segment) {
$vars['id'] = $category->id;
$vars['catid'] = $category->id;
$vars['view'] = 'category';
$categories = $category->getChildren();
$found = 1;
break;
}
}

if ($found == 0) {
if ($advanced) {
$db = JFactory::getDBO();
$query = 'SELECT id FROM #__content WHERE catid = '.$vars['catid'].' AND alias = '.$db->Quote($segment);
$db->setQuery($query);
$cid = $db->loadResult();
} else {
$cid = $segment;
}

$vars['id'] = $cid;

if ($item->query['view'] == 'archive' && $count != 1){
$vars['year'] = $count >= 2 ? $segments[$count-2] : null;
$vars['month'] = $segments[$count-1];
$vars['view'] = 'archive';
}
else {
$vars['view'] = 'article';
}
}

$found = 0;
}

return $vars;
}
?>
Esta es la parte del archivo donde indica la notificación.
Muchas gracias, un saludo.

AnttoBravo

25/7/2014
Ayuda Con problema Similar
Hola amigos Estoy desarrollando una pagina web (obviamente) y tengo un problema manejo lo que es un carrito de compra cuando yo le doy el boton de comprar mando traer unos datos desde la base de datos y a la pantalla del carrito de compra ahi todo esta perfecto puedo hacerlo las veces que quiera antes de enviar o de comprar. el problema esta cuando yo elimino uno de los articulos que tengo en la pagina del carrito de compra, cuando agrego al carrito me traigo los datos que son
Tipo
Marca
Modelo
Precio
Observaciones.
Esos datos y todos me aparecen tal cual estan en la base de datos no ahi ningun problema el problema es cuando elimino todos los datos que ya mencione me aparecen sin ningun problema excepto el de Observaciones.

y me aparece esto

Notice: Undefined index: Observaciones in C:wampwwwCarlos_Bravocarritodecompras.php on line 213 Call Stack

Ya revise la linea marcada y la tengo exactamente como la linea de arriba solo cambiando los respectivos campos.

Si Alguien me pudiera ayudar Gracias de antemano.
FAQ relacionadas

Para ver más FAQ relacionadas accede a las categorías:

Volver al árbol de categoríasVolver al árbol de categorías