PHP – HTML form data naar CSV
Het is wel eens handig om via een web interface gegevens in te stellen voor bijvoorbeeld een python script, zo behoeft men geen kennis te hebben van programmeertalen waarbij de variabele instelling handmatig moet worden gewijzigd in de code.
Onderstaand script maakt een config.csv bestand aan met de ingevulde formulieren en is een simpel voorbeeld
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
<?php if(isset($_POST['submit'])){ //collect form data $naam = $_POST['naam']; $email = $_POST['email']; //check name is set if($naam ==''){ $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)){ //set the data of the CSV $inhoud = $naam . ";" . $email . "\n"; # set the file name and create CSV file $configbestand = fopen("config.csv", "w"); fwrite($configbestand, $inhoud); fclose($configbestand); exit(); } } //if there are errors display them if(isset($error)){ foreach($error as $error){ echo "<p style='color:#ff0000'>$error</p>"; } } ?> <form action='' method='post'> <p><label>Naam</label><br><input type='text' name='naam' value=''></p> <p><label>Email</label><br><input type='text' name='email' value=''></p> <p><input type='submit' name='submit' value='Submit'></p> </form> |
Inhoud config.csv:
naam;mail@email.com
Uitlezen van het config bestand met python
Het volgende script laat zien hoe je variabelen in een CSV bestand kan uitlezen:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
#!/usr/bin/env python # Importeer bibliotheken import sys import csv # *** INSTELLINGEN INLEZEN *** ins = csv.reader(open("/var/www/html/config.csv", "r"), delimiter=';') for inskolom in ins: naam = inskolom[0] mail = inskolom[1] print naam, mail |
Bronnen:
daveismyname.blog