Post Top Ad

Your Ad Spot

viernes, 15 de mayo de 2020

Formulario para CSV con PHP

La salida de un contenido de formularios a un archivo CSV es increíblemente útil y fácil de hacer, esta publicación cubrirá los pasos involucrados.
Primero cree el formulario, para esta publicación recopilará un nombre y una dirección de correo electrónico.
<form action='' method='post'>
<p><label>Name</label><br><input type='text' name='name' value=''></p> 
<p><label>Email</label><br><input type='text' name='email' value=''></p> 
<p><input type='submit' name='submit' value='Submit'></p> 
</form>
Luego verifique si el formulario ha sido enviado.
if(isset($_POST['submit'])){
Luego, recopile los datos del formulario.
$name = $_POST['name'];
$email = $_POST['email'];
Compruebe si $ name está vacío si se trata de crear una matriz de errores.
if($name ==''){
    $error[] = 'Name is required';
}
Busque una dirección de correo electrónico válida, si no es válida, cree una matriz de errores.
 
if(!filter_var($email, FILTER_VALIDATE_EMAIL)){
     $error[] = 'Please enter a valid email address';
}
Si no se han creado errores, continúe
if(!isset($error)){
A continuación, defina las columnas del archivo CSV mediante una coma que separa los títulos que terminan la fila con un \ n
$Content = "Name, Email\n";
Agregue los datos del formulario al $ Content, este será el cuerpo del archivo CSV.
$Content .= "$name, $email\n";
Luego configure el nombre del archivo CSV y use encabezados para generar el archivo CSV.
$FileName = "formdata-".date("d-m-y-h:i:s").".csv";
header('Content-Type: application/csv'); 
header('Content-Disposition: attachment; filename="' . $FileName . '"'); 
echo $Content;
exit();
Si hay errores, muéstrelos
if(isset($error)){
    foreach($error as $error){
        echo "<p style='color:#ff0000'>$error</p>";
    }
}

Código final:

<?php
if(isset($_POST['submit'])){

    //collect form data
    $name = $_POST['name'];
    $email = $_POST['email'];

    //check name is set
    if($name ==''){
        $error[] = 'Name is required';
    }

    //check for a valid email address
    if(!filter_var($email, FILTER_VALIDATE_EMAIL)){
         $error[] = 'Please enter a valid email address';
    }

    //if no errors carry on
    if(!isset($error)){

        # Title of the CSV
        $Content = "Name, Email\n";

        //set the data of the CSV
        $Content .= "$name, $email\n";

        # set the file name and create CSV file
        $FileName = "formdata-".date("d-m-y-h:i:s").".csv";
        header('Content-Type: application/csv'); 
        header('Content-Disposition: attachment; filename="' . $FileName . '"'); 
        echo $Content;
        exit();
    }
}

//if their are errors display them
if(isset($error)){
    foreach($error as $error){
        echo "<p style='color:#ff0000'>$error</p>";
    }
}
?> 

<form action='' method='post'>
<p><label>Name</label><br><input type='text' name='name' value=''></p> 
<p><label>Email</label><br><input type='text' name='email' value=''></p> 
<p><input type='submit' name='submit' value='Submit'></p> 
</form>

No hay comentarios.:

Publicar un comentario

Dejanos tu comentario para seguir mejorando!

outbrain

Páginas