Problema en inserción de registros de php con mysql

Cordial saludo, agradezco a quied(es) me puedan ayudar con lo siguiente:
Estoy haciendo una aplicación por el momento muy simple en Dreamweaver CC utilizando lenguaje de programación php y en Mysql Worbench, tengo la base de datos..en donde existe una relación de uno a muchos entre dos tablas (generales y ejecución), dentro del Dreamweaver tengo tres archivos un se llama conexión.php, el otro Ejecución.html
y el último se llama guardar1.php

El archivo llamado Ejecución.html, tiene el siguiente código:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Documento sin título</title>
</head>
<body>
<form action= "guardar1.php" method="post" name="form">
<form id="form1" name="form1" method="post">
<p>Año
<label for="Año">:</label>
<input type="text" name="Año" id="Año">
</p>
<p>
<label for="Ejtdo">Ejtdo:</label>
<input type="text" name="Ejtdo" id="Ejtdo">
</p>
<p>
<label for="Ppto">Ppto:</label>
<input type="text" name="Ppto" id="Ppto">
</p>
<p>
<input type="submit" name="button" id="button" value="Insertar_datos">
</p>
</form>
</body>
</html>


el archivo llamado conexión.php, tiene el siguiente código:
<?php
$conexión=mysql_connect("localhost", "root", "") or die ("No se pudo realizar la conexión");
mysql_select_db("MantenimientoLime",$conexión) or die("Error con la base de datos");
?>
y el archivo llamado guardar1.php, tiene el siguiente código:
<?php
if (isset($_Post['Año'])) {
$Año=$_Post['Año'];
}
if (isset($_Post['Ppto'])) {
$Ppto=$_Post['Ppto'];
}
if (isset($_Post['Ejtdo'])) {
$Ppto=$_Post['Ejtdo'];
}
include("conexión.php");
$mysql="INSERT INTO generales(Año) values($Año)";
$mysql1="INSERT INTO ejecución(Ppto,Ejtdo) values($Ppto,$Ejtdo)";
/*if(!mysql_query($mysql) AND !mysql_query($mysql1)) die (mysql_error());*/
mysql_query($mysql,$conexión) or die (mysql_error());
mysql_query($mysql1,$conexión) or die (mysql_error());
echo "Dato insertado";
mysql_close();
?>


Estoy utilizando un servidor wampp y al ejecutar la página e insertar registros para los campos Año, Ppto y Ejtdo
Me aparece una tablillas indicandomen los incómodos mensajes:
Notice: Undefined variable: Año in C:\wamp\www\LIME\guardar1.php on line 15
Call Stack
#TimeMemoryFunctionLocation
10.0575371544{main}( )..\guardar1.php:0
( ! ) Notice: Undefined variable: Ppto in C:\wamp\www\LIME\guardar1.php on line 16
Call Stack
#TimeMemoryFunctionLocation
10.0575371544{main}( )..\guardar1.php:0
( ! ) Notice: Undefined variable: Ejtdo in C:\wamp\www\LIME\guardar1.php on line 16
Call Stack #TimeMemoryFunctionLocation
10.0575371544{main}( )..\guardar1.php:0
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '±o) values()' at line 1

No se de verdad porque me aparecen esos errores , siendo que en videotutoriales que aparecen en youtube, desarrollan los sitios web, con dicho código y se ejecutan sin ningún problema.

Muchas gracias

Att. Ing Hernán Camilo Martínez V.

2 Respuestas

Respuesta
1

Lo que dice el error de php es que no encuentra definidas las variables.

Te haré una recomendación... Todos los nombres de variables y de campos en el formulario tienen que ser en minúsculas, no usar caracteres latinos (ñ o letras con acentos) y cuando llames a las variables desde el método post, utiliza el array $_POST (todo en mayúsculas).

De esta forma quedaría tu script así.

Ejecución.html (ojo que eliminé una etiqueta form duplicada que estaba bajo el formulario actual.

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Documento sin título</title>
</head>
<body>
<form action= "guardar1.php" method="post" name="form">
<p>Año
<label for="anio">A&ntilde;</label>
<input type="text" name="anio" id="anio">
</p>
<p>
<label for="ejtdo">Ejtdo:</label>
<input type="text" name="ejtdo" id="ejtdo">
</p>
<p>
<label for="ppto">Ppto:</label>
<input type="text" name="ppto" id="ppto">
</p>
<p>
<input type="submit" name="button" id="button" value="Insertar_datos">
</p>
</form>
</body>
</html>

Guardar1.php

<?php
if (isset($_POST['anio'])) {
$anio=$_POST['anio'];
}
if (isset($_POST['ppto'])) {
$ppto=$_Post['ppto'];
}
if (isset($_POST['ejtdo'])) {
$ejtdo=$_Post['ejtdo'];
}
include("conexión.php");
$mysql="INSERT INTO generales(anio) values($anio)";
$mysql1="INSERT INTO ejecución(ppto,ejtdo) values($ppto,$ejtdo)";
/*if(!mysql_query($mysql) AND !mysql_query($mysql1)) die (mysql_error());*/
mysql_query($mysql,$conexión) or die (mysql_error());
mysql_query($mysql1,$conexión) or die (mysql_error());
echo "Dato insertado";
mysql_close();
?>

Intenta con esto, y veamos que nuevos errores aparecen o si milagrosamente funciona al primer intento.

Respuesta
1

Pues mira:

Consejo, programa en ingles, olvidate de las ñ cuando pases a un hosting puede tener linux y te genera problema.

Cambiar año por year

El segundo error tiene que ver por configuración del PHP es mejor que sigas los estándar y escribas

$_POST y no $_Post(incorrecto)

Tercero si quieres omitir los notices puedes anteponer una @ a la variable

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas