Comunidad de diseño web y desarrollo en internet online

no consigo insertar registro en la db

Citar            
MensajeEscrito el 20 Dic 2008 07:19 pm
saludos a todos.
estoy empezando con PHP y siguiendo este tutorial: http://www.webestilo.com/php/php07c.phtml

pero ahora no se como hacer funcionar el ejercicio siguiente, el de insertar registros: http://www.webestilo.com/php/php07d.phtml

he intentado adaptarlo a mi db pero no funciona.
la tabla se llama catalogo y tiene estos campos: id, name, identity, magnitude, spectral, ar y dec.

este es el codigo que tengo y que no me deja grabar los campos "name" e "identity":

Código :

<!-- Manual de PHP de WebEstilo.com -->
<html>
<head>
   <title>Ejemplo de PHP</title>
</head>
<body>
<H1>Ejemplo de uso de bases de datos con PHP y MySQL</H1>
<FORM ACTION="procesar.phtml">
<TABLE>
<TR>
   <TD>Nombre:</TD>
   <TD><INPUT TYPE="text" NAME="nombre" SIZE="20" MAXLENGTH="30"></TD>
</TR>
<TR>
   <TD>Apellidos:</TD>
   <TD><INPUT TYPE="text" NAME="apellidos" SIZE="20" MAXLENGTH="30"></TD>
</TR>
</TABLE>
<INPUT TYPE="submit" NAME="accion" VALUE="Grabar">
</FORM>
<hr>
<?php
   include("conex.phtml");
   $link=Conectarse();
   $result=mysql_query("select * from catalogo",$link);
?>
   <TABLE BORDER=1 CELLSPACING=1 CELLPADDING=1>
      <TR><TD>&nbsp;<B>Nombre</B></TD> <TD>&nbsp;<B>Apellidos</B>&nbsp;</TD></TR>
<?php      

   while($row = mysql_fetch_array($result)) {
      printf("<tr><td>&nbsp;%s</td> <td>&nbsp;%s&nbsp;</td></tr>", $row["name"], $row["identity"]);
   }
   mysql_free_result($result);
   mysql_close($link);   
?>
</table>
</body>
</html> 


¿alguien puede decirme que hago mal? gracias.

Por Unukalhai

79 de clabLevel



 

firefox
Citar            
MensajeEscrito el 20 Dic 2008 07:42 pm
Pues el código que pusiste no hace ninguna inserción en la base de datos.

Pega el código del archivo procesar.phtml ( :? phtml?? :lol: no conocía esa extensión :oops: )

Por canastendo

9 de clabLevel



 

México

firefox
Citar            
MensajeEscrito el 20 Dic 2008 11:16 pm
hola canastendo.

este es el fichero procesar.php3: (le cambie la extension porque con la otra no iba de ninguna manera)

Código :

<?php
   include("conex.phtml");
   $link=Conectarse();
   $ide=$_GET['id'];
   $nombre2=$_GET['nombre'];   
   $apellidos2=$_GET['apellidos'];
   $magnitud=$_GET['mag'];
   $espectro=$_GET['espec'];
   $asc=$_GET['asrec'];
   $declin=$_GET['decl'];
   mysql_query("insert into catalogo (id,name,identity,magnitude,spectral,ar,dec) values ('$ide','$nombre2','$apellidos2','$magnitud','$espectro','$asc','$declin')",$link);
   
   header("Location: insertar.php3");
?> 


y este el de insertar.php3:

Código :

<!-- Manual de PHP de WebEstilo.com -->
<html>
<head>
   <title>Ejemplo de PHP</title>
</head>
<body>
<H1>Ejemplo de uso de bases de datos con PHP y MySQL</H1>
<FORM ACTION="procesar.php3">
<TABLE>

<TR>
   <TD>ID:</TD>
   <TD><INPUT TYPE="text" NAME="id" SIZE="20" MAXLENGTH="10"></TD>
</TR>
 <TD>Nombre:</TD>
   <TD><INPUT TYPE="text" NAME="nombre" SIZE="20" MAXLENGTH="20"></TD>
</TR>
</TR>
 <TD>Apellidos:</TD>
   <TD><INPUT TYPE="text" NAME="apellidos" SIZE="20" MAXLENGTH="25"></TD>
</TR>
<TR>
   <TD>magnitud:</TD>
   <TD><INPUT TYPE="text" NAME="mag" SIZE="20" MAXLENGTH="10"></TD>
</TR>
 <TD>clase espectral:</TD>
   <TD><INPUT TYPE="text" NAME="espec" SIZE="20" MAXLENGTH="15"></TD>
</TR>
<TR>
   <TD>Ascension recta:</TD>
   <TD><INPUT TYPE="text" NAME="asrec" SIZE="20" MAXLENGTH="10"></TD>
</TR>
<TR>
   <TD>declinacion:</TD>
   <TD><INPUT TYPE="text" NAME="decl" SIZE="20" MAXLENGTH="10"></TD>
</TR>
</TABLE>
<INPUT TYPE="submit" NAME="accion" VALUE="Grabar">
</FORM>
<hr>
<?php
   include("conex.phtml");
   $link=Conectarse();
   $result=mysql_query("select * from catalogo",$link);
?>
   <TABLE BORDER=1 CELLSPACING=1 CELLPADDING=1>
      <TR><TD>&nbsp;<B>ID</B></TD><TD>&nbsp;<B>Nombre</B></TD><TD>&nbsp;<B>Identidad</B></TD><TD>&nbsp;<B>Magnitud</B></TD><TD>&nbsp;<B>Espectro</B></TD><TD>&nbsp;<B>AR</B></TD><TD>&nbsp;<B>DEC</B>&nbsp;</TD></TR>
<?php      

   while($row = mysql_fetch_array($result)) {
      printf("<tr><td> %s</td><td> %s</td><td> %s </td><td> %s</td><td> %s </td><td> %s </td><td> %s </td></tr>", $row["id"], $row["name"],$row["identity"],$row["magnitude"],$row["spectral"], $row["ar"],$row["dec"]);
   }
   mysql_free_result($result);
   mysql_close($link);   
?>
</table>
</body>
</html> 


ahora, escribe todos los datos menos el ultimo (dec) no se porque. Y en el ejemplo del tutorial despues de insertar un registro volvia a cargarse la misma pagina por si querias introducir otro. Pues esto tampoco :cry:

gracias de nuevo. a ver si tu ves algo raro.

Por Unukalhai

79 de clabLevel



 

firefox
Citar            
MensajeEscrito el 21 Dic 2008 03:44 pm
dile al formulario q tiene q pasar los datos por get solo deberas colocar despues de form method="get" o post como quieras saludos

Por talcual

686 de clabLevel



 

Colombia

firefox
Citar            
MensajeEscrito el 21 Dic 2008 07:20 pm
lo que dice talcual es lo correcto, te falta decirle al form como enviar los datos...

Saludos

Alejandro

Por alejoragg

10 de clabLevel



 

Argentina

firefox
Citar            
MensajeEscrito el 21 Dic 2008 08:42 pm
¿quereis decir asi: <FORM ACTION="procesar.php3" method="get">?
lo he probado y no va aunque tampoco se si hay que ponerlo ahi. Perdonad mi ignorancia en html y php. estoy intentando aprender este ultimo lenguaje para comunicar flash con las bases de datos. en fin...

lo que me intriga es que el programa funcionaba bien cuando solo queria grabar en los 6 primeros campos. En "procesar.php3" tenia esto:

Código :

mysql_query("insert into catalogo (id,name,identity,magnitude,spectral,ar) values ('$ide','$nombre2','$apellidos2','$magnitud','$espectro','$asc')",$link);


y cuando le añadí el 7º campo ($declin, "dec" como nombre de campo en la db), dejo de funcionar. Como veis solo he añadido una variable mas:

Código :

mysql_query("insert into catalogo (id,name,identity,magnitude,spectral,ar,dec) values ('$ide','$nombre2','$apellidos2','$magnitud','$espectro','$asc','$declin')",$link);


he cambiado el nombre de las variables varias veces y nada.
así no crea ningun registro. no hace nada. ni siquiera un mensaje de error.
¿que creeis que pueda ser? sera una tontuna a lo mejor.

gracias:D

Por Unukalhai

79 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.