Como introducir informacion a la base de datos

>> //seccion/php/ -- 7 comentario /// Agregado el 2003-11-30 @ Por kaioken

Gracias a Van, por mandarme este tutorial. Ya que tenemos como sacar info y lo mas normal de aprender como entrar info a la base de datos.

Ya vimos en un tutorial pasado como sacar informacion de una base de datos, ahora, ¿como saco info si no se entrarlas?. Pues ese es el motivio de este tutorial, darte una idea simple de como es que se agrega inforamción a una tabla en nuestra BD.

En este caso lo que vamos a hacer es un sistema de comentarios. Primero debemos crear las tablas en nuestra base de datos que sera donde se guardaran los mensajes que se van a introducir:

Code:


 CREATE TABLE `nombre_de_tu_tabla` (
                  `id_in` int(11) NOT NULL auto_increment,
                  `nombre` varchar(100) default NULL,
                  `mail` varchar(100) default NULL,
                  `msn` varchar(250) default NULL,
                  PRIMARY KEY (`id_in`),
                  UNIQUE KEY `id_cn` (`id_in`)) TYPE=MyISAM;
 


Tu le puedes agregar mas campos segun lo que necesites, pero esto es un simple ejemplo ^_^.

Despues de haber creado las tablas vamos a crear tres archivos indispensables para poder realizar esta operacion:

1) Lo primero que hacemos es nuestro archivo db.php en el cual tendremos la conección a la base de datos.

Codigo:
1
2
3
4
<?php
$db 
mysql_connect("localhost","usuario","Password"))) 
mysql_select_db("nombre_de_tu_tabla",$db)) 
?>

2) Una vez que ya tengamos nustro archivo db.php debemos crear nuestro formulario para ingresar los datos. Este archivo lo puedes llamar como tu quieras. Aqui lo vamos a llamar comentarios.php.
Si te fijas bien el form tiene un linea que se llama action="procesar.php" esto lo que le dice es a que archivo debe ir o a que archivo debe enviar la información que se coloco en este formulario.

Code:

 <form action="procesar.php">          
 <table width="421" border="0" cellspacing="2" cellpadding="0"><tr>                          
 <td width="95" height="32">Nombre</td>                          
 <td><input type="text" name="nombre" size="32" maxlength="50" border="0"></td>                    
 </tr>                    
 <tr>                        
 <td width="95">E - mail</td>                        
 <td><input type="text" name="mail" size="32" maxlength="50" border="0"></td>                  
 </tr>                  
 <tr>                          
 <td width="95">Mensaje</td>                          
 <td><textarea name="mensaje" rows="4" cols="53"></textarea></td>                  
 </tr>                  
 <tr>                          
 <td width="95"><input type="submit" name="accion" value="Grabar"></td> <td></td>                  
 </tr>          
 </table>
 </form>
 

3) Ahora solo nos hace falta un archivo que es el procesar.php o el nombre que le pusiste para poder agregar la información a la base de datos.

Codigo:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
include("db.php");
//con este include agregamos el archivo de conexion a la base de datos y listo.

if(isset($_POST['nombre']) && isset($_POST['mail']))
{
    
$sql "INSERT INTO nombre_de_tu_tabla (nombre, mail, mensaje) VALUES ('".addslashes($_POST['nombre'])."', '".addslashes($_POST['mail'])."', '".addslashes($_POST['msn'])."')"
    
// Orden para insertar los datos 

    
$result mysql_query($sql) or die(mysql_error()); 

    if(
$result)
    {
        
header("Location: comentarios.php"); 
    }
}
?>

Si te fijas usamos una función nueva isset() esta nos devuevle verdadero si existe tal variable, entonces nos aseguramos que el usuario llene los cambos nombre y mail (existe otras maneras, como no este vacio empty() que tenga mas de tantos caracteres strlen() etc). Recuerden siempre validar sus entradas.
Igual usamos addslashes() para protegernos de codigo maligno que traten de entrar a nuestra BD

Si todo sale bien te debe mandar al archivo de comentarios.php Espero que les haya ayudado...