Computers

PHP-formulier voegt gegevens in CSV-bestand in

Schrijver: Laura McKinney
Datum Van Creatie: 5 April 2021
Updatedatum: 13 Kunnen 2024
Anonim
How to Store Form data in CSV File using PHP
Video: How to Store Form data in CSV File using PHP

Inhoud

Vandaag gaan we een .csv (door komma's gescheiden waarden) bestand om waarden van een online PHP-webformulier.

Een .csv-bestand is een bestand dat u eenvoudig kunt maken met Microsoft Excel (verdere kennis valt buiten het bestek van deze zelfstudie).

Oké, eerst zullen we de multifunctionele paginatechniek gebruiken van Build Database Driven Website Using PHP en MySql.

We gebruiken geen database, we gaan Excel in .csv-formulier gebruiken om de formuliergegevens op te slaan.

Waarom doe je dit als je een database kunt gebruiken?

  1. Gegevens zijn draagbaar
  2. Gegevens zijn gemakkelijk leesbaar door MS Office
  3. De gegevens zijn klaar voor het web
  4. Webhosting is eenvoudig, FTP en klaar.

Omdat mijn serverlocatie offline is, e-mail me voor de src-code, sorry.

Eerst maken we een eenvoudig formulier:

form id = "form1" name = "form1" method = "post" action = "? = $ _ SERVER ['PHP_SELF'];?>">
table class = "formatTblClass">
tr>
th colspan = "6">? = $ bericht;?> / th>
/ tr>
tr>
td width = "68"> span> Voornaam / span> / td>
td width = "215"> input class = "? = $ aClass;?>" type = "text" name = "fn" id = "fn" /> / td>
td width = "62"> span> Achternaam / span> / td>
td colspan = "3"> input class = "? = $ aClass;?>" name = "ln" type = "text" id = "ln" size = "50" /> / td>
/ tr>
tr>
td colspan = "6"> table width = "100%" border = "0" cellspacing = "0" cellpadding = "0">
tr>
td width = "71"> Adres / td>
td width = "721"> input class = "? = $ aClass;?>" name = "adres" type = "text" id = "adres" size = "100" /> / td>
/ tr>
/ table> / td>
/ tr>
tr>
td> span> Stad / span> / td>
td> input class = "? = $ aClass;?>" type = "text" name = "city" id = "city" /> / td>
td> span> State / span> / td>
td width = "148"> input class = "? = $ aClass;?>" type = "text" name = "state" id = "state" /> / td>
td width = "24"> span> ZIP / span> / td>
td width = "255"> input class = "? = $ aClass;?>" type = "text" name = "zip" id = "zip" /> / td>
/ tr>
tr>
td> span> Telefoon / span> / td>
td> input class = "? = $ aClass;?>" type = "text" name = "phone" id = "phone" /> / td>
td> span> E-mail / span> / td>
td> input class = "? = $ aClass;?>" type = "text" name = "email" id = "email" /> / td>
td> input name = "emailMe" type = "checkbox" id = "emailMe" value = "Ja" gecontroleerd = "gecontroleerd" /> / td>
td> Stuur mij een e-mail / td>
/ tr>
tr>
td colspan = "6"> span> Reacties
textarea name = "comments" id = "comments" cols = "45" rijen = "5"> / textarea>
/ span>
div align = "center">
input type = "submit" name = "Submit" id = "Submit" value = "Submit" />
input type = "reset" name = "Reset" id = "button" waarde = "Reset" />
/ div> / td>
/ tr>
/ tafel>
/ formulier>


Dezelfde deal, eenvoudige vorm, geweldige resultaten, je kunt deze techniek gebruiken met elk type formulier dat je wilt, zelfs een uit mijn andere artikelen.

Vervolgens moeten we een .csv-bestand maken.

Voor deze specifieke hebben we de volgende headers gemaakt:

Voornaam
Achternaam
Adres
stad
Staat
ZIP
Telefoon
E-mail
Ja nee
Opmerkingen

Deze headers gaan over de eerste rij en komen overeen met de variabelen in ons PHP-script om ze in het blad in te voegen.

Nadat we op de verzendknop hebben geklikt, willen we enkele controles uitvoeren:

$ fn = $ _POST ['fn'];
$ ln = $ _POST ['ln'];
$ address = $ _POST ['adres'];
$ city = $ _POST ['stad'];
$ state = $ _POST ['state'];
$ zip = $ _POST ['zip'];
$ phone = $ _POST ['telefoon'];
$ email = $ _POST ['email'];
$ emailMe = (isset ($ _ POST ['emailMe']))? $ _POST ['emailMe']: 'Nee';
$ comments = $ _POST ['reacties'];


// valideren

if (leeg ($ fn) || leeg ($ ln) || leeg ($ adres) || leeg ($ stad) || leeg ($ staat) || leeg ($ zip) || leeg ($ phone) | | empty ($ email)) {// toon het formulier
$ message = 'Vul gebieden in rood in!';
$ aClass = 'errorClass';

In dit geval laten we het formulier opnieuw zien, voor het geval iemand misschien dingen heeft gemist die we belangrijk vinden. Als alles goed is, komen we bij de goede dingen, de invoegen:

Eerst binden we alle gegevens samen in een variabele met de naam $ csvData:

// hier vindt het maken van de csv plaats
$ cvsData = $ fn.​$ ln.​$ adres.​$ stad.​$ staat.​$ zip.​$ telefoon.​$ e-mail. ",". $ emailMe.​$ opmerkingen. " n";

dan openen we het bestand:

$ fp = fopen ("formTest.csv", "a"); // $ fp is nu de bestandspointer naar $ filename


vervolgens schrijven we de inhoud van het formulier naar het bestand:

if ($ fp) {
fwrite ($ fp, $ cvsData); // Schrijf informatie naar het bestand
fclose ($ fp); // Sluit het bestand

En sluit ten slotte de verbinding of het bestand.

Gemakkelijk. Bekijk nogmaals de bronbestanden en krijg een idee hoe u dit doet. Deze technieken kunnen worden gebruikt in combinatie met e-mail, opslaan in een db en opslaan in een gewoon tekstbestand. De limiet is uw verbeelding.

Laat alstublieft uw vragen of opmerkingen achter, en geniet van uw projecten!



Referentiematerialen

Dit artikel is nauwkeurig en waar voor zover de auteur weet. De inhoud is alleen bedoeld voor informatieve of amusementsdoeleinden en vervangt geen persoonlijk advies of professioneel advies op zakelijk, financieel, juridisch of technisch gebied.

Populair Vandaag

Lees Vandaag

Top 10-lijsten en competitietabellen maken in Excel 2007
Computers

Top 10-lijsten en competitietabellen maken in Excel 2007

Robbie chrijft vooral over kyrim, maar werpt af en toe ook licht op de eigenaardigheden van Micro oft-applicatie zoal Excel en Outlook.Vandaag ga ik kijken naar de MIN en MAX functie naa t de KLEIN en...
Vind gemakkelijk het beheerderswachtwoord of het opstartwachtwoord van uw HP laptop
Computers

Vind gemakkelijk het beheerderswachtwoord of het opstartwachtwoord van uw HP laptop

Alle wa in orde op mijn HP-laptop totdat het opeen niet meer wa . Ik weet niet zeker of Window zichzelf op de achtergrond heeft bijgewerkt of dat ik rare oftware heb geïn talleerd, omdat de volge...