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>
Buenas.
Citar"insert into as(codigo) values ('$codigo')"
http://dev.mysql.com/doc/refman/5.0/es/insert.html (http://dev.mysql.com/doc/refman/5.0/es/insert.html)
Saludos.
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,
<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.
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,
<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]
<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ó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>