Foros del Web » Programando para Internet » PHP »

Problema con Notice: Undefined index:

Estas en el tema de Problema con Notice: Undefined index: en el foro de PHP en Foros del Web. Saludos a toda la comunidad resulta que estoy diseñando una aplicación en PHP y MySQL y el desarrollo lo he realizado sobre Windows pero hace ...
  #1 (permalink)  
Antiguo 06/01/2011, 09:26
 
Fecha de Ingreso: noviembre-2008
Ubicación: En algún lugar del disco duro.
Mensajes: 95
Antigüedad: 15 años, 5 meses
Puntos: 0
Pregunta Problema con Notice: Undefined index:

Saludos a toda la comunidad resulta que estoy diseñando una aplicación en PHP y MySQL y el desarrollo lo he realizado sobre Windows pero hace unos días instale Ubuntu y cuando la puse en funcionamiento vaya sorpresa me arrojo algunos errores de Warning entonces me di a la tarea de solucionarlos y con algunos los pude hacer sin problemas pero siempre hay un pero resulta que tengo un formulario en el cual quiero insertar registros a la BD pero me aparece el siguiente error en cada campo del mismo que dice así:

<br /> <b>Notice</b>: Undefined index: marca in <b>/opt/lampp/htdocs/Compu-Soft/Registros/r_articulos.php</b> on line <b>70</b><br />

y pues ya he probado con las soluciones que dan aquí en el foro y no he podido solucionarlo entonces les dejo el código a ver si alguien me da una idea que estoy haciendo mal, gracias de antemano.

Código PHP:
<?php



if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "formulario")) {



$_POST['modelo']= trim($_POST['modelo']); //Trim, borrar espacios al inicio y final

$_POST['marca']= trim($_POST['marca']);

$_POST['proveedor']= trim($_POST['proveedor']);

$_POST['cantidad']= trim($_POST['cantidad']);

$_POST['garantia']= trim($_POST['garantia']);

$_POST['base']= trim($_POST['base']);

$_POST['publico']= trim($_POST['publico']);

$_POST['dir']= trim($_POST['dir']);

$_POST['tel']= trim($_POST['tel']);

$_POST['serial']= trim($_POST['serial']);//Trim, borrar espacios al inicio y final



$serial strtoupper($serial);//Todo en Mayusculas

$modelo ucwords(strtolower($modelo));//Primera Letra de cada palabra en Mayusculas

$marca ucwords(strtolower($marca));

$proveedor ucwords(strtolower($proveedor));

$garantia ucwords(strtolower($garantia));

$dir ucwords(strtolower($dir));//Primera Letra de cada palabra en Mayusculas



if(!$error){ //si no hay errores en el formulario procedemos a ingresar los datos en la BD



  
$SQL "INSERT INTO equipos (modelo, marca, proveedor, cantidad, fecha, garantia, serial, base, publico, dir, tel) VALUES ('$modelo', '$marca', '$proveedor', '$cantidad', '$fecha1', '$garantia', '$serial', '$base', '$publico', '$dir', '$tel')";

  
$Marcas "INSERT INTO marcas (modelo, marca) VALUES ('$modelo', '$marca')";

                   

   
$Result mysql_query($SQL) or die ( "<center>El Equipo Ya Existe!!! <br><a href=\"javascript:history.back()\">Regresar</a></center>");//or die(mysql_error());

   
$Result mysql_query($Marcas) or die (mysql_error());    

   

   echo 
"<script language='JavaScript'> alert('La operacion ha resultado satisfactoria'); </script>";



                

}

//fin si





?>

    <p>&nbsp;</p>

    <p>&nbsp;</p>

    <form method="POST" action="" name="formulario" id="formulario">

    <div class="allrequired">

    <fieldset>

        <legend>Nuevo Articulo</legend>

        <label><b>Marca:</b>

          <input value="<?php echo $_POST['marca'?>" name="marca" id="marca" type="text"/></label>

        <label><b>Modelo:</b>

        <input value="<?php echo $_POST['modelo'?>" name="modelo" id="modelo" type="text" /></label>

        <label><b>Serial:</b>

        <input value="<?php echo $_POST['serial'?>" name="serial" id="serial" type="text" /></label>

        <label><b>Cantidad:</b>

        <input value="<?php echo $_POST['cantidad'?>" name="cantidad" id="cantidad" type="text" /></label> 

        <label><b>Precio Costo:</b>

                <input value="<?php echo $_POST['base'?>" name="base" id="base" type="text" /></label>

            <label><b>Precio Venta:</b>

                <input value="<?php echo $_POST['publico'?>" name="publico" id="publico" type="text" /></label>

                <label><b>Proveedor:</b>

                <input value="<?php echo $_POST['proveedor'?>" name="proveedor" id="proveedor" type="text" /></label>

                   <label><b>Direccion:</b>

        <input value="<?php echo $_POST['dir'?>" name="dir" id="dir" type="text" /></label>

        <label><b>Telefono:</b>

        <input value="<?php echo $_POST['tel'?>" name="tel" id="tel" type="text" /></label>

        <label><b>Garantia:</b>

        <input value="<?php echo $_POST['garantia'?>" name="garantia" id="garantia" type="text" /></label>

        <label><b>Fecha De Ingreso:</b>

        <input name="fecha1" type="text" id="dateArrival" onClick="popUpCalendar(this, formulario.dateArrival, 'yyyy-mm-dd');" size="10"/></label><br>

        <label for="enviar"></label>

        <input type="submit" name="enviar" id="enviar" value="Grabar" class="uno"/>

        <input type="reset" name="borrar" id="borrar" value="Borrar Formulario" class="uno" />

        <label for="borrar"></label>

    </fieldset>

    </div>

    <input type="hidden" name="MM_insert" value="formulario" />

    </form><br>

Última edición por mariosequeda; 06/01/2011 a las 09:32
  #2 (permalink)  
Antiguo 06/01/2011, 09:58
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Problema con Notice: Undefined index:

El notice que te esta dando indica que el indice del array no esta definido, ¿Solo te muestra el error cuando dejas algunos campos vacios cierto?
  #3 (permalink)  
Antiguo 06/01/2011, 10:08
 
Fecha de Ingreso: noviembre-2008
Ubicación: En algún lugar del disco duro.
Mensajes: 95
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Problema con Notice: Undefined index:

Gracias por responder amigo si la verdad es que cuando esta el formulario en blanco es que muestra el error en cada uno de los campos como puedo corregir esto, gracias.

ahora tengo otro problema cuando lleno los campos y le doy enviar me arroja estos errores:

Notice: Undefined variable: serial in /opt/lampp/htdocs/Compu-Soft/Registros/r_articulos.php on line 40
Notice: Undefined variable: modelo in /opt/lampp/htdocs/Compu-Soft/Registros/r_articulos.php on line 41
Notice: Undefined variable: marca in /opt/lampp/htdocs/Compu-Soft/Registros/r_articulos.php on line 42
Notice: Undefined variable: proveedor in /opt/lampp/htdocs/Compu-Soft/Registros/r_articulos.php on line 43
Notice: Undefined variable: garantia in /opt/lampp/htdocs/Compu-Soft/Registros/r_articulos.php on line 44
Notice: Undefined variable: dir in /opt/lampp/htdocs/Compu-Soft/Registros/r_articulos.php on line 45
Notice: Undefined variable: error in /opt/lampp/htdocs/Compu-Soft/Registros/r_articulos.php on line 47
Notice: Undefined variable: cantidad in /opt/lampp/htdocs/Compu-Soft/Registros/r_articulos.php on line 49
Notice: Undefined variable: fecha1 in /opt/lampp/htdocs/Compu-Soft/Registros/r_articulos.php on line 49
Notice: Undefined variable: base in /opt/lampp/htdocs/Compu-Soft/Registros/r_articulos.php on line 49
Notice: Undefined variable: publico in /opt/lampp/htdocs/Compu-Soft/Registros/r_articulos.php on line 49
Notice: Undefined variable: tel in /opt/lampp/htdocs/Compu-Soft/Registros/r_articulos.php on line 49
  #4 (permalink)  
Antiguo 06/01/2011, 10:11
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Problema con Notice: Undefined index:

Solo verifica que la variable esta seteada antes de hacer el trim o asignarle algun valor.

Código PHP:
if(isset($_POST['campo'])) {
  
$_POST['campo'] = trim($_POST['campo']);

  #5 (permalink)  
Antiguo 06/01/2011, 10:13
 
Fecha de Ingreso: noviembre-2008
Ubicación: En algún lugar del disco duro.
Mensajes: 95
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Problema con Notice: Undefined index:

nada amigo esa solución ya la probé y no me funciono, gracias de todos modos
  #6 (permalink)  
Antiguo 06/01/2011, 10:27
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Problema con Notice: Undefined index:

De todas maneras los notice no son errores que detienen la ejecucion de tu script. Por decirlo asi solo te advierten de las buenas practicas al programar.

Dejame ver como tienes el codigo ahora
  #7 (permalink)  
Antiguo 06/01/2011, 10:35
 
Fecha de Ingreso: noviembre-2008
Ubicación: En algún lugar del disco duro.
Mensajes: 95
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Problema con Notice: Undefined index:

si amigo eso lo se y por eso lo quiero mejorar y el código es como esta al principio del tema igual gracias por tus consejos.
  #8 (permalink)  
Antiguo 06/01/2011, 10:44
 
Fecha de Ingreso: septiembre-2007
Mensajes: 83
Antigüedad: 16 años, 7 meses
Puntos: 0
Respuesta: Problema con Notice: Undefined index:

a mi parecer deberias de obtener la variable post de este modo

$marca = ucwords(strtolower($_POST['marca']));

y no asi:

$marca = ucwords(strtolower($marca));
  #9 (permalink)  
Antiguo 06/01/2011, 10:47
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Problema con Notice: Undefined index:

No habia visto esa parte del codigo, he alli el error. Lo que pasa es que de donde sacas la variable $marca, por ejemplo:

Código PHP:
$_POST['marca']= trim($_POST['marca']);
$marca ucwords(strtolower($marca)); 
Para resolver el inconveniente solo hazlo como te dice ryuk
  #10 (permalink)  
Antiguo 06/01/2011, 10:48
Avatar de portalmana  
Fecha de Ingreso: septiembre-2007
Ubicación: Montevideo-Uruguay
Mensajes: 633
Antigüedad: 16 años, 6 meses
Puntos: 80
Respuesta: Problema con Notice: Undefined index:

prueba cambiar esto para cada uno de los campos:
Código PHP:
Ver original
  1. $_POST['modelo']= trim($_POST['modelo']);
  2. // Cambiarlo por
  3. $modelo = isset($_POST['modelo'])? $_POST['modelo'] : '';
y luego trabajas con $modelo en vez de $_POST['modelo'];.

Saludos
__________________
"La imaginación es más importante que el conocimiento. El conocimiento es limitado, mientras que la imaginación no" -- A.Einstein
objetivophp.com,twitter.com/objetivophp
  #11 (permalink)  
Antiguo 06/01/2011, 13:46
 
Fecha de Ingreso: noviembre-2008
Ubicación: En algún lugar del disco duro.
Mensajes: 95
Antigüedad: 15 años, 5 meses
Puntos: 0
De acuerdo Respuesta: Problema con Notice: Undefined index:

gracias a todos por su ayuda en especial a ti portalmana realice los cambios que me sugeriste y funciono de maravillas.
  #12 (permalink)  
Antiguo 26/08/2011, 12:04
 
Fecha de Ingreso: agosto-2011
Mensajes: 80
Antigüedad: 12 años, 8 meses
Puntos: 0
Respuesta: Problema con Notice: Undefined index:

ey alguien me puede ayudar es k a mi me pasa algo parecido pero no es con un insert si no con una consulta????????
  #13 (permalink)  
Antiguo 26/08/2011, 12:05
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: Problema con Notice: Undefined index:

Cita:
Iniciado por felopez0 Ver Mensaje
ey alguien me puede ayudar es k a mi me pasa algo parecido pero no es con un insert si no con una consulta????????
Coloca tu código para saber el problema. Saludos
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #14 (permalink)  
Antiguo 26/08/2011, 12:12
 
Fecha de Ingreso: agosto-2011
Mensajes: 80
Antigüedad: 12 años, 8 meses
Puntos: 0
Respuesta: Problema con Notice: Undefined index:

ok grax
mira $reg=(string)$_POST['Cod_Doc'];
$fab=mysql_query("select Num_Doc
from cabecera
where Cod_Doc = '$reg'
order by Num_Doc desc
limit 1;") ;
y en lla interfaz le paso esto value="
<?php include 'clases/CRUD_Cabecera.php';
if (isset ($_POST['fecha'])) {
$res = new CRUD_Cabecera();
$obj = $res->traer_fecha($fecha);
echo $obj;

}
  #15 (permalink)  
Antiguo 26/08/2011, 12:13
 
Fecha de Ingreso: agosto-2011
Mensajes: 80
Antigüedad: 12 años, 8 meses
Puntos: 0
Respuesta: Problema con Notice: Undefined index:

mentiras solo es <?php include 'clases/CRUD_Cabecera.php';
if (isset ($_POST['fecha'])) {
$res = new CRUD_Cabecera();
$obj = $res->traer_fecha($fecha);
echo $obj;

}
  #16 (permalink)  
Antiguo 26/08/2011, 12:14
 
Fecha de Ingreso: agosto-2011
Mensajes: 80
Antigüedad: 12 años, 8 meses
Puntos: 0
Respuesta: Problema con Notice: Undefined index:

y en el control le paso esto....
$ja=$crud->traer_fecha($fecha);
  #17 (permalink)  
Antiguo 26/08/2011, 12:19
 
Fecha de Ingreso: agosto-2011
Mensajes: 80
Antigüedad: 12 años, 8 meses
Puntos: 0
Respuesta: Problema con Notice: Undefined index:

a y el modelo k es public function traer_fecha($fecha)
{
$this->fecha = $fecha;
$this->cod = $cod;
$objmysql = new sqlsito();

$this->conexion = $objmysql->conectarBD();
$this->sql = ("select fecha FROM cabecera
where Num_Doc = $this->cod");
$this->resultado = mysql_query($this->sql);

mysql_error($this->conexion);

$this->conexion = $objmysql->desconectar();

}
  #18 (permalink)  
Antiguo 02/10/2011, 23:23
 
Fecha de Ingreso: octubre-2011
Mensajes: 1
Antigüedad: 12 años, 6 meses
Puntos: 0
Respuesta: Problema con Notice: Undefined index:

Hola amigos, llevo muchas muchisimas horas y aun no puedo con este codigo... si pueden ayudarme les estare muy agradecida.

Al ejecutar tengo el siguiente error
Notice: Undefined index: opt in C:\wamp\www\sistema de ventas\clientes.php on line 117

y no entiendo... antes la tenia $HTTP_GET_VARS["OPT"];
y lo he cambiado por $opt=$_GET["opt"]; pero nada no logro que me reciba los registros la base de datos.

por favor ayuda.... (el código completo esta a continuación)



<form id="ingreso_cliente" name="form1" method="post" action="">
<p>
<input type="hidden" name="opt" id="opt" />
<label for="Cedula">Cedula</label>
<input type="text" name="Cedula" id="Cedula" />
</p>
<p>
<label for="Nombres">Nombres</label>
<input type="text" name="Nombres" id="Nombres" />
<label for="Apellidos"><br />
<br />
Apellidos</label>
<input type="text" name="Apellidos" id="Apellidos" />
</p>
<p>
<label for="Telefono">Telefono</label>
<input type="text" name="Telefono" id="Telefono" />
</p>
<p>
<label for="Celular">Celular</label>
<input type="text" name="Celular" id="Celular" />
</p>
<p>
<label for="Direccion">Dirección</label>
<input type="text" name="Direccion" id="Direccion" />
</p>
<p>
<label for="email">E-mail</label>
<input type="text" name="email" id="email" />
</p>
<p>
<input type="submit" name="Ingresar" id="Ingresar" value="Ingresar" onclick="verifica()"/>
</p>
</form>
</div>
</div>
</body>
</html>
<?php
$link = mysql_connect ('localhost', 'root');
mysql_select_db("fotoexpress");
if(! @ mysql_select_db("fotoexpress"))
{
Echo ("Error, no se a podido acceder a la base de datos en este momento, por favor, inténtelo más tarde");
Exit();
}
$opt=$_GET["opt"];
if ($opt==1)
{
$cedula=(int)$_GET["Cedula"];
$nombre=(string)$_GET["Nombres"];
$apellidos=(string)$_GET["Apellidos"];
$telefono=(string)$_GET["Telefono"];
$celular=(string)$_GET["Celular"];
$direccion=(string)$_GET["direccion"];
$email=(string)$_GET["email"];

$sql="INSERT INTO cliente (Cedula, Nombres, Apellidos, Telefono, Celular, email, direccion)". "VALUES ('$cedula', '$nombre', '$apellidos', '$telefono', '$celular', '$direccion', '$email')";

$res=mysql_query($sql,$link) or die (mysql_error());
}
?>
<script language="javascript">
function verifica()
{
if(form1.Cedula.value=="")
{
alert("no puede existir un cliente sin numero de cedula");

}
if(form1.Nombres.value=="")
{
alert("no puede existir un cliente sin nombre, por favor ingrese un nombre");
return;
}
form1.submit();
alert("cliente ingresado a la base de datos")
}

</script>
  #19 (permalink)  
Antiguo 02/10/2011, 23:30
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: Problema con Notice: Undefined index:

Hola ANILORAC403, bienvenida al foro.

Primero que todo estás enviando los datos por $_POST no por $_GET y segundo debes usar funciones como isset para comprobar si está definida o no la variable, ya que envias el formulario en la misma página... Al no enviar los datos estas variables no están definidas y por lo tanto te da ese error.

Función isset
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP

Etiquetas: index, undefined
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 08:15.