Ver Mensaje Individual
  #2 (permalink)  
Antiguo 12/08/2011, 15:16
Avatar de tomark4
tomark4
 
Fecha de Ingreso: septiembre-2007
Mensajes: 154
Antigüedad: 17 años, 5 meses
Puntos: 29
Respuesta: problemas al insertar a una base de datos

estas usando codigo del asistente de dreamweaver que por lo general
crea muchas lineas dificiles de depurar que a la hora de un error
es dificil de encontrar te sugiero que hagas tu codigo a mano
para insertar un registro en tu base de datos.

te coloco un ejemplo que luego tu podras modificar segun tus campos
y tu base de datos
lo primero seria crear un html que tendra tu formulario

a este yo lo llamare formulario.html y quedarias asi
en este ejemplo pondre 4 campos cedula, nombre apellido y direccion

Código HTML:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  4. <title>Ingreso de Nuevo Registro</title>
  5. </head>
  6.  
  7. <?php echo $_REQUEST[msj]."<br>"?>
  8. <form action="NuevoRegistro.php" method="post">
  9. <table width="200" border="0">
  10.   <caption>
  11.     Ingreso de Nuevo registro
  12.   </caption>
  13.   <tr>
  14.     <td>cedula</td>
  15.     <td><input type="text" name="cedula" id="cedula" /></td>
  16.   </tr>
  17.   <tr>
  18.     <td>nombre</td>
  19.     <td><input type="text" name="nombre" id="nombre" /></td>
  20.   </tr>
  21.   <tr>
  22.     <td>direccion</td>
  23.     <td><textarea name="direccion" id="direccion" cols="45" rows="5"></textarea></td>
  24.   </tr>
  25.   <tr>
  26.     <td>telefono</td>
  27.     <td><input type="text" name="telefono" id="telefono" /></td>
  28.   </tr>
  29.   <tr>
  30.     <td colspan="2" align="center"><input type="submit" name="guardar" id="guardar" value="Guardar" /></td>
  31.   </tr>
  32. </form>
  33. </body>
  34. </html>

luego tendriamos el script de php que recoge los datos al cual llamare
NuevoRegistro.php

Código PHP:
Ver original
  1. //estableces los parametros de conexion con tu bdd
  2. $user = "tuusuario";
  3. $passwd = "tupass";
  4. $server = "localhost";
  5. $bdd = "basededatos";
  6.  
  7. //creo la cadena de conexion
  8. $cn = mysql_connect($server, $user, $pass) or die(mysql_error());
  9.  
  10. //selecciono la base de datos a usar
  11.  
  12. // recojo las variables enviadas por el formulario
  13. $nombre = $_POST[nombre];
  14. $cedula = $_POST[cedula];
  15. $direccion = $_POST[direccion];
  16. $telefono =  $_POST[telefono];
  17.  
  18. //creo el query de insercion en MYSQL
  19. $sql = "INSERT INTO agenda (cedula, nombre, direccion, telefono)
  20. VALUES('$nombre', '$cedula', '$direccion', '$telefono')";
  21. //creo el recordset con el query para ejecutarlo
  22. $rs = mysql_query($sql) or die(mysql_error());
  23.  
  24. //verifico si los datos se agregaron o no
  25.     //si agrego el registro sin error muestro un simple mensaje
  26.     echo "Tus datos se han agregado exitosamente";
  27. }
  28. else{
  29.     //caso contrario que haya habido error lo reenvio a la pagina del formulario
  30.     $msj = "se ha producido un error intente de nuevo";
  31.     header('Location:formulario.php?mensaje=$msj');
  32. }

con este sencillo ejemplo lograrias realizar tu insercion
a la vez que la depuracion de errores seria mucho mas facil
falta que arregles con tu formulario mejores y agregues segun
tus requerimientos espero haberte ayudado.