Ga naar inhoud

Eenbeetje hulp met een formulier


Aanbevolen berichten

Hallo, Ik ben bezig met een site en daarop moet een formulier komen. Nu ben ik geen html expert, maar de site ziet er toch wel aardig uit. Met formulieren heb ik helemaal geen ervaring. Ik weet dat er 2 mannieren zijn....via email en iets anders. Ik wil er graag een formulier mee berijken dat er ongeveer zo uitziet: [code:1:bfde7a2847] <HTML> <HEAD> <TITLE> Actieformulier </TITLE> </HEAD> <BODY> <FORM METHOD="POST" TITLE="Actie Formulier" ACTION="MAILTO:email"> <INPUT TYPE="text" NAME="Naam" SIZE="50" MAXLENGTH="150" VALUE="naam (niet verplicht)"> Naam.<br> <INPUT TYPE="text" NAME="adres" SIZE="50" MAXLENGTH="150" VALUE="adres (niet verplicht)"> Adres.<br> <INPUT TYPE="text" NAME="postcode" SIZE="6" MAXLENGTH="10" > Postcode (van belang voor beschikbaarheids check).<br> <INPUT TYPE="text" NAME="emailadres" SIZE="50" MAXLENGTH="150" value="email verplicht" > Email adres.<br> <p> <TEXTAREA NAME="Notitie" ROWS="5" COLS="80">"Plaats hier additionele informatie. Vragen kunnen worden gesteld via email (zie contact)." </TEXTAREA><br> <p>Bla,Bla,Bla.<br> <INPUT TYPE="radio" NAME="t1"> text1.<br> <INPUT TYPE="radio" NAME="t2"> text2.<br> <INPUT TYPE="radio" NAME="t3"> text3.<br> <p> <INPUT TYPE="radio" NAME="nieuwsbrief"> Houd mij op de hoogte via mijn emailadres<br> <p> <INPUT TYPE="reset" VALUE="Reset"> <INPUT TYPE="submit" NAME="Verzenden" VALUE="Submit"> </FORM> </BODY> </HTML> [/code:1:bfde7a2847] Nu is dit vrij simpel maar het gaat om het principe, als ik weet hoe het werkt dan lukt het mij verder wel. Deze informatie moet overzichtelijk verwerkt worden. Ook zou ik graag willen dat het formulier alleen wordt verzonden als er een emailadres in ingevuld. Hoe pak ik dit het beste aan, zoal ik al zij weet ik helemaal niet hoe dit werkt. Welke techniek moet ik gebruiken ?
Link naar reactie
Zoals je het hier doet ben je al aardig op weg. Wat er nog moet gebeuren voor de controle van het e-mailadres is eigenlijk een beetje afhankelijk van de wijze waarop je de verwerking van het formulier laat verlopen en de mate van 'strengheid' van je controle. In je voorbeeld gebruik je een "mailto:" action van je <form>. Dit houdt dus in dat je de mailclient van je bezoeker gebruikt en dat de controle van het e-mailadres dus client-side (lees: javascript) moet worden uitgevoerd. Hiervoor kan je gebruikmaken van de [url=http://www.devguru.com/Technologies/ecmascript/quickref/evhan_onsubmit.html]onsubmit[/url] eventhandler (afhandeling van een gebeurtenis) van het form. Bijvoorbeeld (uit de losse pols, dus geen garantie dat het ook vlekkeloos werkt): [code:1:143fad0c40] <script type="text/javascript"> // This function validates an e-mailaddress before submitting the form function validateEmail(oForm) { var sEmailaddress = oForm.elements['emailadres'].value; var bEmailIsValid = true; // Length of address must be greater than 5 (x@x.x) if (sEmailaddress.length <= 5) { bEmailIsValid = false; } // Address must contain a @ and a "." if (sEmailaddress.indexOf("@") == -1 || sEmailadress.indexOf(".") == -1) { bEmailIsValid = false; } // Show an alert if the supplied address is not valid. if (bEmailIsValid == false) { alert("Het ingevoerde e-mailadres is niet correct."); } // If address is valid then submit the form. return (bEmailIsValid); } </script> <form action="mailto:e-mail" onsubmit="return validateEmail(this)"> <!-- rest van je formulier --> [/code:1:143fad0c40] De controle op de geldigheid van het adres kan je in bovenstaande functie natuurlijk makkelijk uitbreiden naar eigen smaak. Hiervoor zijn meerdere voorbeelden te vinden op het internet (of op dit forum). Bijvoorbeeld controles met behulp van reguliere expressies. Alleen moet je je natuurlijk afvragen hoe ver je hierin wil gaan en of het nog nut heeft. Als je de verwerking van het formulier server-side doet (via een formmail script bijvoorbeeld) dan kan je de controle vertalen naar de betreffende taal en toevoegen aan je script. Kijk voor voorbeelden van dit soort scripts bijvoorbeeld eens op [url=http://www.hotscripts.com]hotscripts[/url]. Als je gebruikmaakt van een standaard formmailer die bijvoorbeeld door je hoster wordt aangeboden kijk dan eens naar de mogelijkheden van dat script. Misschien dat deze al iets dergelijks aan functionaliteit biedt. Succes.
Link naar reactie
Het beste is imho het formulier serverside afhandelen (itt gebruikmaken van de mailclient van je bezoeker). Daarvoor heb je een script nodig en een server die dit ondersteund. Heeft je server cq. provider een eigen formmailer gebruik die dan. Heb je ook de mogelijkheid om een eigen formmailer te gebruiken dan heeft dat over het algemeen de voorkeur. Schrijf deze zelf of kijk op www.hotscripts.com voor eentje die het best bij je behoefte past. Heb je absoluut geen mogelijkheid om iets met serverside scripts te doen dan kan je ook eens kijken naar remotely hosted scripts (deze staan dan op de server van iemand anders). Daarvoor kan je ook bij hotscripts terecht.
Link naar reactie
Serverside, bedoel je dan met cgi ? Ik kan een CGI-bin gebruiken. Wat ik me dan afvraag is hoe het formulier wordt verwerkt. Moet je dan geen database hebben draaien, mysql of zo ? Het checken op ingevuld emailadres lukt nu wel, dat is niet het probleem. Ik zit met het volgende. Is het niet beter om alle ingestuurde mailtjes niet naar mijn emailadres te sturen, maar door zo'n cgi script te laten verwerken ? Dan kan ik beter overzicht houden als alles netjes in een tabel staat, of werkt dat zo niet ?
Link naar reactie
[quote:4f0b6dd370="bvvelde"]Serverside, bedoel je dan met cgi ?[/quote:4f0b6dd370] Bijvoorbeeld (er van uitgaande dat je daarmee een perlscript bedoeld), maar dat kan bijvoorbeeld ook php, asp, jsp, cf, enz., enz. zijn. [quote:4f0b6dd370="bvvelde"]Ik kan een CGI-bin gebruiken. Wat ik me dan afvraag is hoe het formulier wordt verwerkt. Moet je dan geen database hebben draaien, mysql of zo ? [/quote:4f0b6dd370] Een cgi-bin, dat biedt perspectief. Je hebt dan in ieder geval de mogelijkheid om zelf scripts te plaatsen en uit te voeren. Een database is strikt genomen niet noodzakelijk. Dat is afhankelijk van de functionaliteiten die je verwacht van je applicatie. Alleen doorsturen van de ingevoerde gegevens in een e-mail kan bijvoorbeeld ook voldoende zijn. Maar het is ook mogelijk om alle ingevoerde formulieren in een text-file op te slaan (bijv. platte tekst of xml). Voor de verdere verwerking kan je deze ook weer simpel downloaden en importeren in excel of access. Er kleven echter ook nadelen aan text-files t.o.v. een database. [quote:4f0b6dd370="bvvelde"]Is het niet beter om alle ingestuurde mailtjes niet naar mijn emailadres te sturen, maar door zo'n cgi script te laten verwerken ? Dan kan ik beter overzicht houden als alles netjes in een tabel staat, of werkt dat zo niet ?[/quote:4f0b6dd370] Als je de gegevens wegschrijft (in een database of file) dan kan je deze daarna natuurlijk weer uitlezen, dat kan webbased (daarvoor moet dan natuurlijk weer een script aanwezig zijn) of downloaden en verwerken in een andere applicatie. Kijk eens rond op de eerder genoemde hotscripts.com bij de perl sectie, daar moet ongetwijfeld wat te vinden zijn wat voldoet aan je wensen of wat je kan gebruiken als startpunt.
Link naar reactie

Om een reactie te plaatsen, moet je eerst inloggen

Gast
Reageer op dit topic

×   Geplakt als verrijkte tekst.   Herstel opmaak

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

  • Populaire leden

    Er is nog niemand die deze week reputatie heeft ontvangen.

  • Leden

    Geen leden om te tonen

×
×
  • Nieuwe aanmaken...