Problema Al ingresar datos a Tablas (MYQL)

Iniciado por ZedGe, 16 Julio 2012, 10:27 AM

0 Miembros y 1 Visitante están viendo este tema.

ZedGe

Tengo una pagina basada en PHP y cree una tabla en PHPMYADMIN, tengo un formulario simple, al cargar la pagina me sale este error:

A PHP Error was encountered

Severity: Notice

Message: Undefined index: codigo

Filename: views/formulario.php

Line Number: 39


aquí esta el código y no se por que pasa eso :S


<html>
<head>
   <title>Ejemplo de PHP</title>
</head>
<body>

<FORM method="post">
<TABLE>
<TR>
   <TD>Codigo:</TD>
   <TD><INPUT TYPE="text" NAME="codigo" SIZE="20" MAXLENGTH="30"></TD>
</TR>
</TABLE>
<INPUT TYPE="submit" VALUE="Grabar">
</FORM>



<?php 
function Conectarse() 

   if (!(
$link=mysql_connect("localhost","root",""))) 
   { 
      echo 
"Error conectando a la base de datos."
      exit(); 
   } 
   if (!
mysql_select_db("mydb",$link)) 
   { 
      echo 
"Error seleccionando la base de datos."
      exit(); 
   } 
   return 
$link


$link=Conectarse(); 
echo "Conexión con la base de datos conseguida.<br>"


$codigo=$_POST['codigo']; 
mysql_query("insert into as(codigo) values ('$codigo')",$link); 



mysql_close($link); //cierra la conexion 



?>

</body>
</html>

HdM


- Nice to see you again -

Shell Root

A pesar de que ese es un problema, no es que principal. El error es porque se hace una petición POST, pero no se declara el ID del objeto, entonces cambia el input por,
Código (html4strict) [Seleccionar]
<input type='text' id='txt_codigo' name='txt_codigo' ... />

Ahora, si eso soluciona el error que se te presenta, verificar y modifica lo que te dijo @Bulld0z3r.
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

s00rk

#3
Cita de: Shell Root en 16 Julio 2012, 21:03 PM
A pesar de que ese es un problema, no es que principal. El error es porque se hace una petición POST, pero no se declara el ID del objeto, entonces cambia el input por,
Código (html4strict) [Seleccionar]
<input type='text' id='txt_codigo' name='txt_codigo' ... />

Ahora, si eso soluciona el error que se te presenta, verificar y modifica lo que te dijo @Bulld0z3r.

Yo nunca he usado el ID del input, con solo pones el name ahi con ese identificador siempre me ha funcionado si acaso el error que yo estoy viendo capas y es porque al entrar la pimera vez ya se esta intentando agregar el codigo y como el POST esta vacio pues sale el error lo que deberia hacer es primero checar que $_POST del submit para que si se presiono entre en insertar el nuevo codigo sino pues simplemente no hehe quedando asi:

[Cambie el form a minusculas porque no me gusta como se ve en mayusculas la verdad se me hace feo hehe]
Código (php) [Seleccionar]

<html>
<head>
   <title>Ejemplo de PHP</title>
</head>
<body>

<form method="post">
<table>
<tr>
   <td>Codigo:</td>
   <td><input type="text" name="codigo" size="20" maxlength="30"></td>
</tr>
</table>
<input type="submit" value="Grabar" name="insertar"> <!-- Agregamos nombre: insertar -->
</form>



<?php 
function Conectarse() 

   if (!(
$link=mysql_connect("localhost","root",""))) 
   { 
      echo 
"Error conectando a la base de datos."
      exit(); 
   } 
   if (!
mysql_select_db("mydb",$link)) 
   { 
      echo 
"Error seleccionando la base de datos."
      exit(); 
   } 
   return 
$link
}
 
if(isset(
$_POST['insertar'])) // Checamos que se haya dado click al boton insertar si es asi entramos
{
$link=Conectarse(); 
echo "Conexi&#243;n con la base de datos conseguida.<br>"

$codigo=$_POST['codigo']; 
mysql_query("insert into as(codigo) values ('$codigo')",$link); 

mysql_close($link); //cierra la conexion 
}

?>

</body>
</html>