Skip to content

Insertar datos del formulario a tu base de datos, en php

octubre 30, 2010

Si estas buscando como insertar datos directamente de tu formulario a tu base de datos, has llegado al lugar ideal, en este artículo te mostrare un ejemplo de como puedes programar en php para lograrlo. En el artículo explicare como se puede hacer la conexión con la base de datos y el mysql, utilizando un archivo que contenga las variables para así poder facilitar las próximas conexiones que necesites hacer, muy útil sobre todo cuando vas empezando.

Recuerdo que la primera vez que comencé a programar en php las bases de datos siempre anotaba en cada página la línea de conexión con el nombre del host, usuario y contraseña en cada una, pero cuando tuve la necesidad de cambiar de host ups!!!!, tenía que cambiar en cada uno (y eran mas de 60 veces), en cambio con la utilización del archivo al que llamo “variables.php” solo lo hago una vez y en automático se cambia en todo lo demás .

  Así que si estas empezando, aprenderás a conectar tu base de datos habilitando el script para que si existe un error te lo muestre y así lo puedas solucionar más fácilmente y también aprenderás a guardar los datos de un formulario directo en tu base de datos.

Comencemos: primero lo que tienes que hacer es abrir el phpMyAdmin y en tu base de datos crear una tabla, para el ejemplo tengo una base de datos que se llama “prueba” y la tabla se llama “prueba1”  (como se muestra en la imagen).

Como segundo paso: creamos un formulario que contenga los campos de lo que queremos capturar y corresponda a la tabla que hemos creado, en el ejemplo el archivo se llama “formulario.html” (el código aparece a continuación), note que en la línea de form el action llama a un archivo que se llama “porcesa.php” y antes de terminar el botón es type “submit” para que funcione.

<html>
<head>
<title>Codigo para guardar</title>
</head>
<body>
<h1>
<strong>Formulario ejemplo !!!</strong></h1>
  <form action=”procesa.php” method=”post” name=”datos”>
    Nombre:<input name=”Nombre” type=”text” id=”nombre” value=”” /><br>
    Apellido Paterno:<input type=”text” name=”Paterno” id=”ap_paterno” /><br>
    Apellido Materno:<input type=”text” name=”Materno” id=”ap_materno” /><br>
    Sexo:<br>
      <input type=”radio” name=”sexo” id=”Masculino” value=”Masculino” />Masculino<br>
      <input type=”radio” name=”sexo” id=”Femenino” value=”Femenino” />Femenino<br>
      <input type=”submit” name=”ok” id=”ok” value=”Aceptar” />
  </form>
</body>
</html>

Esta es la imagen del resultado del código anterior:

Tercer paso: creamos un archivo nuevo que vamos a nombrar “variables.php”, y que lleva el siguiente código (recuerda ponerle tus datos donde lo indica):

<?php
$hostname = “TUHOST”; //en mi caso es localhost
$user = “TUUSUARIO”; //en mi caso root
$pass = “TUPASSWORD”;
?>

Y por último el archivo que va insertar en la base de datos, lo llamaremos “procesa.php” y lleva el siguiente código:

<?php
//Esta linea es para incluir el archivo con las variables
    include “variables.php”  */
/* CONECTAR CON BASE DE DATOS **************** */  
   $con = mysql_connect($hostname,$user,$pass);
   if (!$con){die(‘ERROR DE CONEXION CON MYSQL: ‘ . mysql_error());}
/* ********************************************** */
/* CONECTA CON LA BASE DE DATOS  **************** */
   $database = mysql_select_db(“prueba”,$con);
   if (!$database){die(‘ERROR CONEXION CON BD: ‘.mysql_error());}
/* ********************************************** */
//REALIZAR CONSULTA
$sql = “INSERT INTO prueba1 VALUES  (NULL,'”.$_POST[‘Nombre’].”‘,'”
            .$_POST[‘Paterno’].”‘,'”.$_POST[‘Materno’].”‘,'”.$_POST[‘sexo’].”‘)”;
                $result = mysql_query($sql);
                if (! $result){
                               echo “La consulta SQL contiene errores.”.mysql_error();
                               exit();
                }else {echo “<center><font color=’RED’>DATOS INSERTADOS CORRECTAMENTE</font><a
ref=’http://registro.elarenal.com.mx/ejemplo/formulario.html’>Volver</a&gt;'”;
                }
Y listo, aunque necesitas realizarlo en tu pc, luego cámbiale líneas para que veas cual es la diferencia. Pero de verdad realízalo y veras que sencillo es. Para probarlos recuerda que los archivos deben de estar guardados en el mismo directorio y para verlo funcionar necesitas abrir el formulario.html.

Espero te haya servido el articulo y te invito a que me dejes tus comentarios, sugerencias que me digas cual es tu principal frustración  al querer aprender a programar en php.

Gracias, tu amigo
Salvador López

Anuncios
7 comentarios
  1. acisey permalink

    mi html

    Costo por la prestación del servicio

    Porcentaje del precio de venta:

    La cantidad de:

    Cobro por incumplimiento de contrato

    Porcentaje del costo por servicio:
    %

    mi implementacion.php
    if (isset ($_POST[‘text1’])==true and isset ($_POST[‘text2’])==true and isset ($_POST[‘costo_servicio’])==true){

    $text1 = mysql_real_escape_string($_POST[‘text1’]);
    $text2= mysql_real_escape_string($_POST[‘text2’]);
    $costo_servicio= mysql_real_escape_string($_POST[‘costo_servicio’]);
    $_POST[‘costoserv’]= $_POST[‘text1’].$_POST[‘text2’];
    $costoserv= $_POST[‘costoserv’];

    $a= radio ($costoserv, $costo_servicio);
    if($a != False){

    header(‘Location:../contratoCredito.php’);
    }else{
    print(“Error: No se ha podido ingresar este registro”);
    }

    }

    y mi funciones.php

    function radio ($costoserv, $costo_servicio){
    global $link;
    conexionDB();
    seleccionarDB();
    $sql=”INSERT INTO formadepagoconsignacion VALUES (NULL,’$costoserv’,’$costo_servicio’,’$idfecha.’)”;
    mysql_query($sql,$link);
    $result = mysql_query($sql);
    if (! $result){
    echo “La consulta SQL contiene errores.”;
    exit();
    }else {echo “DATOS INSERTADOS CORRECTAMENTEVolver‘”;

    }
    mysql_query($sql,$link);

    $id=mysql_insert_id();
    $query=seleccionarradio($id);
    $row=mysql_fetch_array($query);
    if($row[‘VALOR’] == $odoc3){
    return $id;
    }else{
    return false;
    }

    }
    function seleccionarradio($id){
    global $link;
    conexionDB();
    seleccionarDB();
    $sql=”SELECT * FROM formadepagoconsignacion WHERE IDCONTRATO=’$id’ “;
    $query=mysql_query($sql,$link);
    return $query;

    }

    al momento de correrlo no me aparece en blanco y no agrega nada de nada alguien que me eche una mano..

  2. Adrian permalink

    Hola amigo, estoy haciendo mi proyecto de tesis, y me parece que este es un buen post, pero.. al copiar y pegar el codigo de procesa.php, el Dreamweaver me lanza errores en la linea 6 $con = mysql_connect($hostname,$user,$pass);
    Me puedes ayudar?

    • Sip, necesitas cambiar los datos $hostname, $user y $ pass por la configuración que tu le hayas dado a tu instalación en el archivo “variables.php”. A también veo que el archivo “procesa.php” (el código que esta en el articulo), dice en la linea include “variables.php” */ quitale los caracteres “*/”, es un error en la redacción, espero eso solucione tu problema.

  3. Juan Mc permalink

    me tira este siguiente error cuando quiero enviar el mensaje…
    alguien puede ayudarme???
    gracias!!

    Parse error: syntax error, unexpected T_VARIABLE in /www/juanmc.com.ar/rd/procesa.php on line 5

    • Hola Juan, ese error traducido seria: inesperada “variable” es decir, php esperaba mas sobre la linea a ejecutarse y se topo con una variable. Para ayudarte mejor muestra el trozo de código donde te indica el error, es decir la lineas de 1 al 10. Para ver cual es el problema. Ok.

  4. y como hago para que además de insertarlo en la base de datos, lo muestre en la misma página al darle enviar, tal vez parezca simple pero estoy empezando en esto

    • No es tan sencillo, aunque la solución mas sencilla que se me ocurre es la siguiente: en el archivo procesa, en la parte de codigo que dice “echo “DATOS INSERTADOS….” cambiarla por un código en javascript que permita abrir la página donde se mostrarán los registros actualizados, algo así: “echo “window.open (‘ventana_con_el_formulario.php’,’_self’,”)”;
      Lo que hace esa linea es abrir el archivo que contiene el script que permite consultar todos los datos de la tabla, incluyendo el que se acaba de insertar. Espero te sirva y si no, sigo contestandote, Feliz año para ti y tus seres queridos.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: