Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/07/2007, 03:13
spork
 
Fecha de Ingreso: julio-2007
Mensajes: 7
Antigüedad: 16 años, 9 meses
Puntos: 0
Introducir registro en una base

Hola. Estoy intentando hacer un registro con php y una base de datos sql. La tabla cuenta con 3 apartados: id (que aumenta automáticamente) y otros dos campos que se meten mediante un sencillo formulario. El problema que tengo es que se crea la entrada correctamente, pero los dos datos que se meten mediante el formulario aparecen en blanco. Para ello he creado 3 documentos: uno crea la conexion, otro contiene el formulario y otro introduce los datos:
CONEXION:
Código:
<?php 
function Conectarse() 
{ 
   if (!($link=mysql_connect("localhost","usuario","Password"))) 
   { 
      echo "Error conectando a la base de datos."; 
      exit(); 
   } 
   if (!mysql_select_db("base_datos",$link)) 
   { 
      echo "Error seleccionando la base de datos."; 
      exit(); 
   } 
   return $link; 
} 
?>
FORMULARIO:
Código:
<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 prueba",$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["Nombre"], $row["Apellidos"]); 
   } 
   mysql_free_result($result); 
   mysql_close($link);    
?> 
</table> 
</body> 
</html>
REGISTRO:
Código:
<?php 
   include("conex.phtml"); 
   $link=Conectarse(); 
   $nombre=$_GET['nombre']; 
   $apellidos=$_GET['apellidos'];    
   mysql_query("insert into prueba (Nombre,Apellidos) values ('$nombre','$apellidos')",$link); 
    
   header("Location: ejem07d.phtml"); 
?>
Lógicamente en el de conexión he puesto los datos de mi tabla y como digo la conexion la hace perfectamente.


Y otra consulta que tengo es que si hay alguna función que lo que haga es recoger la ip del ordenador, para así poderla meter en otro campo de la tabla y que cada usuario sólo pueda meter un registro (a no ser que tenga ip dinaminca, claro).