viernes, 18 de octubre de 2024

Tp Inserción de datos en una base de datos Mysql con PHP

Crear los codigos necesarios para poder insertar datos en su sitio web.

Codigo de ejemplo:

Archivo html que contiene el formulario

<!DOCTYPE html>
<html lang="es">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Agregar Auto</title>
</head>
<body>
    <h1>Agregar Auto</h1>
    <form action="procesar.php" method="POST">
        <label for="marca">Marca:</label>
        <input type="text" id="marca" name="marca" required><br><br>

        <label for="modelo">Modelo:</label>
        <input type="text" id="modelo" name="modelo" required><br><br>

        <button type="submit">Agregar Auto</button>
    </form>
</body>
</html>

 


 

Archivo php que procesa los datos del formulario:

<?php
// Datos de conexión a la base de datos
$host = "localhost"; // Cambia esto según tu configuración
$db = "nombre_de_tu_base_de_datos"; // Cambia esto por el nombre de tu base de datos
$user = "root"; // Cambia esto por tu usuario de MySQL
$pass = ""; // Cambia esto por tu contraseña de MySQL

// Crear conexión
$conn = mysqli_connect($host, $user, $pass, $db);

// Verificar conexión
if (!$conn) {
    die("Conexión fallida: " . mysqli_connect_error());
}

// Verificar si se enviaron los datos del formulario
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    // Recibir los datos del formulario
    $marca = mysqli_real_escape_string($conn, $_POST['marca']);
    $modelo = mysqli_real_escape_string($conn, $_POST['modelo']);

    // Crear la consulta SQL de inserción
    $sql = "INSERT INTO autos (marca, modelo) VALUES ('$marca', '$modelo')";

    // Ejecutar la consulta y verificar si fue exitosa
    if (mysqli_query($conn, $sql)) {
        echo "Auto agregado exitosamente.";
    } else {
        echo "Error al agregar el auto: " . mysqli_error($conn);
    }
}

// Cerrar la conexión
mysqli_close($conn);
?>


Tabla de insercion:

 CREATE TABLE autos (
    id_auto INT AUTO_INCREMENT PRIMARY KEY,
    marca VARCHAR(50) NOT NULL,
    modelo VARCHAR(50) NOT NULL
);

🧱 Estructura general del proyecto

Formulario HTML → donde el usuario escribe los datos.

Script PHP (procesar.php) → recibe los datos del formulario y los guarda en la base.

Base de datos MySQL → almacena la información en la tabla autos.

🧩 Flujo completo

  1. El usuario llena el formulario.

  2. Hace clic en “Agregar Auto”.

  3. El navegador envía los datos a procesar.php.

  4. procesar.php se conecta a la base.

  5. Inserta los datos en la tabla autos.

  6. Muestra un mensaje de confirmación.

     Explicacion

     🧩 1. El formulario HTML

     

        <form>: crea el formulario para enviar datos.

    • action="procesar.php" → indica el archivo PHP que recibirá los datos.

    • method="POST" → define que los datos se enviarán de forma segura (no visible en la URL).

    • El atributo name es clave, porque PHP usará ese nombre para recuperar el valor.

    • required obliga al usuario a completar el campo.

    👉 Cuando el usuario hace clic en “Agregar Auto”, el navegador envía los datos de los campos marca y modelo al archivo procesar.php

    ⚙️ 2. El archivo PHP que procesa los datos

    mysqli_connect() → crea una conexión con el servidor MySQL.

    Si algo falla (por ejemplo, usuario o contraseña incorrectos), la conexión no se establece y se muestra un mensaje de error.

    • 🧠 Verificación de la conexión

    mysqli_connect_error() devuelve el mensaje de error.

    die() detiene el programa y muestra el texto.

    📥 Recepción de los datos del formulario

     

    $_SERVER["REQUEST_METHOD"] == "POST" → verifica que el formulario se haya enviado por método POST.

    $_POST['marca'] y $_POST['modelo'] → contienen los valores enviados desde el formulario HTML.

    mysqli_real_escape_string() limpia los datos para evitar inyecciones SQL, es decir, ataques que intenten modificar la consulta.

    🧾 Inserción en la base de datos


     

    Esta es la consulta SQL que inserta una fila nueva en la tabla autos.

    Los valores $marca y $modelo se sustituyen por lo que el usuario escribió.

    🚀 Ejecución de la consulta

    mysqli_query() ejecuta la consulta.

    Si todo sale bien, se muestra el mensaje de éxito.

    Si hay un error (por ejemplo, el nombre de la tabla está mal), se muestra el mensaje de error.




    No hay comentarios:

    Publicar un comentario