Insertar datos desde php a mysql - no inserta

3764 visitas 6 respuestas

Buenas a todos, he estado intentando crear un formulario para insertar datos en la DB, pero no se que le pasa al codigo que no me inserta nada de lo que le pongo. Creo que el error puede estar en el php que me ejecuta el insert into, pero no logro ver el error. Lo hago de la siguiente manera:

Desde le index paso el valor alta que me ejecuta el siguiente codigo

<?php

include("Include/conectar.php"); echo '

Equipo Ubicación Marca Modelo Serial Monitor Serial Monitor Asociado Procesador Ram HD Mac Red IP_RED Mac WIFI IP_WIFI Fecha de Compra '; ?> Y este el que se ejecuta cuando hago el sumit con el botoncejo ;-) <? include("conectar.php"); //incluimos el config.php que contiene los datos de la conexión a la db Header("Location: Include/Alta.php"); //enviamos al form de registro que esta en reg.php $link=conectarbbdd(); $Equipo=$_POST["Equipo"]; $Ubicacion=$_POST["Ubicacion"]; $Marca=$_POST["Marca"]; $Modelo=$_POST["Modelo"]; $Serial=$_POST["Serial"]; $Monitor=$_POST["Monitor"]; $Serial_monitor=$_POST["Serial_monitor"]; $Asociado=$_POST["Asociado"]; $Processor=$_POST["Processor"]; $Ram=$_POST["Ram"]; $HD=$_POST["HD"]; $MAC_RED=$_POST["MAC_RED"]; $IP_RED=$_POST["IP_RED"]; $MAC_WIFI=$_POST["MAC_WIFI"]; $IP_WIFI=$_POST["IP_WIFI"]; $Fecha_compra=$_POST["Fecha_compra"]; //comprobamos que el usuario no existe en la db $existe=mysql_query("SELECT Serial FROM equipos WHERE Serial='$Serial' ",$link); if($user_ok=mysql_fetch_array($exite)) { echo 'El equipo ya esta dado de alta'; mysql_free_result($existe); //liberamos la memoria del query a la db } else { mysql_query("INSERT INTO equipos (Equipo,Ubicacion,Marca,Modelo,Serial,Monitor,Serial_monitor,Asociado,Processor,Ram,HD,MAC_RED,IP_RED,MAC_WIFI, IP_WIFI,Fecha_compra) VALUES ('$Equipo','$Ubicacion','$Marca','$Modelo','$Serial','$Monitor','$Serial_monitor','$Asociado','$Processor','$Ram','$HD','$MAC_RED','$IP_RED','$MAC_WIFI','$IP_WIFI','$Fecha_compra')"); } ?> <? ?>

por desde España

Registrado desde: 09 Jan 06

Respuestas

0 0

Buenas,

pues... a simple vista me parece que lo primero seria quitar la siguiente linea del 2º fichero php:

Header("Location: Include/Alta.php"); //enviamos al form de registro que esta en reg.php

Pues, donde está puesta, antes de recoger los datos y grabarlos estas redireccionando a otra página.

Aparte, si tienes fallos en la consulta a base de datos, puedes utilizar la función mysql_error(), que te devuelve el ultimo error que hubo (o el error producido en la ultima consulta en caso de que lo hubiese)

por desde España

Registrado desde: 09 Jun 08
0 0

"Header("Location: Include/Alta.php"); //enviamos al form de registro que esta en reg.php"

Esto es lo que hare referencia al fichero primero, a la estructura de la tabla, y es lo que casi siempre he visto en manuales, de hecho hice una page asi y me funcionaba, pero el codigo era algo diferente

por desde España

Registrado desde: 09 Jan 06
0 0

También estoy de acuerdo con juanmasp. La línea "Header..." te redirige a otra página antes de que se procese la información. La página que debe procesar la información es (según la propiedad 'action' de tu formulario) "Include/Altadato.php".

Si deseas que el código php de la página haga el procesamiento, el formulario debe tener una propiedad action vacía (action = ""). Otra cosa es que debes ejecutar el script solamente si se ha oprimido el botón 'Grabar':

if($_POST['boton']) {

// el código php va dentro de este IF

}

por desde Guatemala

Registrado desde: 09 Apr 08
0 0
Equipo Ubicación Marca Modelo Serial Monitor Serial Monitor Asociado Procesador Ram HD Mac Red IP_RED Mac WIFI IP_WIFI Fecha de Compra

por desde España

Registrado desde: 09 Jan 06
0 0

Te dejo este video donde inserta un registro y lo muestra en un listado, comparte si te fue útil para que otros se beneficien saludos!!

https://youtu.be/4TvnYuhIYa0

por

Registrado desde: 11 meses
0 0

Este video te podrá ayudar seguro https://youtu.be/4TvnYuhIYa0

por

Registrado desde: 11 meses