Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/12/2012, 15:26
XxSoulDarkxX
 
Fecha de Ingreso: agosto-2012
Ubicación: Lima, Peru
Mensajes: 51
Antigüedad: 11 años, 8 meses
Puntos: 0
Variable indefinida

Hola, recurro a ustedes para que me ayuden a resolver algo que me esta retrasando varios dias y parese algo simple pero no logro ubicar el error en mi codigo.

Miren obtengo el siguiente mensaje

"Notice: Undefined index: en_venta in D:\wamp\www\HD\modificar-monitores.php on line 152 Call Stack #TimeMemoryFunctionLocation 10.0008733160{main}( )..\modificar-monitores.php:0 "/>"

Lo que entiendo es que la variable en_venta no esta definida.

pero en el codigo si lo esta o asi me parese.

Código PHP:
<?php
if(isset($_GET['id'])){
$id $_GET['id'];
// hacemos una consulta
// para mostrar los datos
$sql mysql_query("SELECT * FROM monitores WHERE codigo = $id"$link)
or die(
mysql_error());
$row mysql_fetch_array($sql);
// advertimos
$mensaje "Actualizar los datos del Resgistro <b>$row[nombre_modelo]</b>";
}
// comprobamos si
// ha sido enviado el formulario
if(isset($_POST['actualizar']) && $_POST['actualizar'] == 'Actualizar'){
// comprobamos que no lleguen campos vacios
if(!empty($_POST['nombre_modelo']) && !empty($_POST['precio'])){
// creamos las variables
// que vamos a usar en la consulta UPDATE
// y le asignamos sus valores
$codigo $_POST['codigo'];
$nombre_modelo $_POST['nombre_modelo'];
$precio $_POST['precio'];
$en_venta $_POST['en_venta'];
// la consulta UPDATE
$sqlUpdate mysql_query("UPDATE monitores SET 
nombre_modelo = \"$nombre_modelo\",
precio = \"$precio\",
en_venta= \"$en_venta\"
WHERE codigo = \"$codigo\""
$link)
or die(
mysql_error());
echo 
"Registro actualizado correctamente \"<a href=formulario-monitores.php>Regresar al inicio</a>\"";
}else{
echo 
"debe llenar todos los campos";
}
}else{
// mostramos el mensaje
echo "<p>".$mensaje."</p>";
?><?php echo $row['en_venta']; ?>
<!--
el formulario.
los values de los campos
son los valores que optenemos
de la consulta SELECT
-->
<form name="actualizar-registro" method="post" action="<?php $_SERVER['PHP_SELF']; ?>">
Nombre: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="text" size="50" name="nombre_modelo" value="<?php echo $row['nombre_modelo']; ?>"/><br />

Precio: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="text" name="precio" value="<?php echo $row['precio']; ?>"/><br />

En Venta: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="text" name="en_venta" value="<?php echo $row['en_venta']; ?>"/><br />
<input type="hidden" name="codigo" value="<?php echo $row['codigo']; ?>"/>
<input type="submit" name="actualizar" value="Actualizar" />
</form>
<?php ?>
y me bota este error




Pero lo mas raro en el siguiente codigo de otra pagina de donde saque el modelo y modifique algunas cosas como la tabla y los campos si me reconoce la variable en_venta

Código PHP:
<?php
if(isset($_GET['id'])){
$id $_GET['id'];
// hacemos una consulta
// para mostrar los datos
$sql mysql_query("SELECT * FROM notebooks WHERE codigo = $id"$link)
or die(
mysql_error());
$row mysql_fetch_array($sql);
// advertimos
$mensaje "Actualizar los datos del Resgistro <b>$row[nombre_modelo]</b>";
}
// comprobamos si
// ha sido enviado el formulario
if(isset($_POST['actualizar']) && $_POST['actualizar'] == 'Actualizar'){
// comprobamos que no lleguen campos vacios
if(!empty($_POST['nombre_modelo']) && !empty($_POST['memoria_instalada']) && !empty($_POST['precio'])){
// creamos las variables
// que vamos a usar en la consulta UPDATE
// y le asignamos sus valores
$codigo $_POST['codigo'];
$nombre_modelo $_POST['nombre_modelo'];
$memoria_instalada $_POST['memoria_instalada'];
$precio $_POST['precio'];
$en_venta $_POST['en_venta'];
// la consulta UPDATE
$sqlUpdate mysql_query("UPDATE notebooks SET 
nombre_modelo = \"$nombre_modelo\",
memoria_instalada = \"$memoria_instalada\",
precio = \"$precio\",
en_venta= \"$en_venta\"
WHERE codigo = \"$codigo\""
$link)
or die(
mysql_error());
echo 
"Registro actualizado correctamente \"<a href=formulario-notebooks.php>Regresar al inicio</a>\"";
}else{
echo 
"debe llenar todos los campos";
}
}else{
// mostramos el mensaje
echo "<p>".$mensaje."</p>";
?>
<!--
el formulario.
los values de los campos
son los valores que optenemos
de la consulta SELECT
-->
<form name="actualizar-registro" method="post" action="<?php $_SERVER['PHP_SELF']; ?>">
Nombre: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="text" size="50" name="nombre_modelo" value="<?php echo $row['nombre_modelo']; ?>"/><br />

Memoria Instalada: &nbsp;&nbsp;<input type="text" name="memoria_instalada" value="<?php echo $row['memoria_instalada']; ?>"/><br />

Precio: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="text" name="precio" value="<?php echo $row['precio']; ?>"/><br />

En Venta: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="text" name="en_venta" value="<?php echo $row['en_venta']; ?>"/><br />
<input type="hidden" name="codigo" value="<?php echo $row['codigo']; ?>"/>
<input type="submit" name="actualizar" value="Actualizar" />
</form>
<?php ?>
En esta imagen se ve que si me reconose la variable.


Los datos, que van en la variable en_venta y en el campo en_venta de las tablas son los mismos, "si" y "no" y aun asi me sigue botando ese error.