ERROR AL INSERTAR REGISTROS EN UNA TABLA MYSQL
Publicado por Miguel Angel (11 intervenciones) el 05/05/2017 14:06:59
Buenos días
Tengo una aplicación para insertar marcadores en una base de datos y que después me lo muestre en un mapa usando la API de google Maps, y tengo todo funcionando menos la parte de dar de alta los marcadores, es como que se me envía la información antes de darle al botón submit, le estoy dando muchísimas vueltas y no encuentro la solución, ademas, tengo un select que coge datos de la base de datos, y funciona, pero quiero que se vea el nombre (que se ve), pero que el dato que envíe sea el identificador(porque es el campo que es subclave y esta relacionado con otra tabla que contiene dicho identificador y el nombre), probablemente sea porque esta en si mismo mal el código, os pongo el código que tengo y adjunto imagen del error que me da.
El código:

Como veis, el error me da nada mas ejecutar el archivo, cuando todavía no se ha enviado el formulario, por favor, a ver si alguien me hecha una mano,
Muchas gracias
Tengo una aplicación para insertar marcadores en una base de datos y que después me lo muestre en un mapa usando la API de google Maps, y tengo todo funcionando menos la parte de dar de alta los marcadores, es como que se me envía la información antes de darle al botón submit, le estoy dando muchísimas vueltas y no encuentro la solución, ademas, tengo un select que coge datos de la base de datos, y funciona, pero quiero que se vea el nombre (que se ve), pero que el dato que envíe sea el identificador(porque es el campo que es subclave y esta relacionado con otra tabla que contiene dicho identificador y el nombre), probablemente sea porque esta en si mismo mal el código, os pongo el código que tengo y adjunto imagen del error que me da.
El código:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
include "datos.php"; //contiene los datos para conectar con la base de datos
$con = mysqli_connect($host, $user, $pass, $db_name)or die("Error en la conexión con la base de datos");
<form method="POST" action="altaMarcadores.php" class="altaMarcadores">
<h1>ALTA DE NUEVO MARCADOR</h1>
<div><label for="marcador">Nuevo Marcador</label><br></div>
<div><label>Nombre de Marcador: <br/><input type="text" name="nombre" required=""></label></div>
<div><label>Descripcion del Marcador: <br/><input type="text" name="descripcion" required=""></label></div>
<div><label>Coordenadas Marcador: <br/><input type="text" name="coordenadas" required=""></label></div>
<title>Elija la categoria:</title>
<body>Categorias<br/>
<select name="consulta_categorias">;
<option value="0">Seleccione una categoria</option>
//Aqui inserto la funcion con php para que el select me retorne la categoria
<?php
$consulta_categorias = $con->query("SELECT nombre FROM categoria");
while($lista=mysqli_fetch_array($consulta_categorias)){
echo '<option value="'.$lista[idcategoria].'">'.$lista[nombre].'</option>';
}
?>
</select>
</body>
</head>
<br/><input type="submit" value="ENVIAR" name="enviarmarcador"/><br/><br/>
<a href="consultaCategorias.php">Consulta de categorias</a><br/><br/>
<a href="altaCategorias.html">Alta de marcadores</a><br/><br/>
//Y aqui hago la consulta para insertar los datos en la base de datos
<?php
$con = mysqli_connect($host, $user, $pass, $db_name)or die("Error en la conexión con la base de datos");
$altaMarcador = "INSERT INTO marcador(nombre, descripcion, coordenadas, categoria) values ('$_POST[nombre]', '$_POST[descripcion]',"
. "'$_POST[coordenadas]', '$_SESSION($_GET[idcategoria])')";
$resultado = mysqli_query($con, $altaMarcador);
if(mysqli_query($con, $altaMarcador)===TRUE){
echo "<br/>"."<h2>"."Marcador ".$_POST['nombre']." dado de alta correctamente!"."</h2>";
echo "<a href='altaMarcadores.php'>Volver a alta de marcadores</a><br/><br/>";
echo "<a href='mostrarMapa.php'>Mostrar el mapa</a><br/>";
}else{
echo "Error al crear el marcador.".$altaMarcador."<br/>".$con->error;
}
mysqli_close($con);
?>
</form>
Como veis, el error me da nada mas ejecutar el archivo, cuando todavía no se ha enviado el formulario, por favor, a ver si alguien me hecha una mano,
Muchas gracias
Valora esta pregunta


0