Volledige versie bekijken : Keuzerondjes (radiobuttons) probleem



Joga
10 April 2006, 15:26
ik zou zoiets mss op mijn site willen gebruiken
maar als ik dit doe moet dit naar een server ofzoiets
kan mij iemand uitleggen hoe dit in elkaar zit en of ik daar een server voor nodig heb !

Jelle
10 April 2006, 17:55
Bij radio buttons en alle andere typen van invoervelden werk je via een formulier (de form tag).

Een formulier voert altijd een bepaalde actie (action attribuut) uit. Er zijn twee actiemogelijkheden: de data mailen of de data doorsturen naar een pagina (die gebruik maakt van server-side scripting).

Bij het mailen van de data springt bij de gebruiker het standaard e-mailprogramma open en vraagt dit nog eens te bevestigen voor het versturen van de data per mail. Dit is dus een verre van ideale oplossing: de gebruiker kan nee klikken, het werkt niet als de gebruiker geen e-mailprogramma heeft geconfigureerd staan, je e-mailadres staat openlijk op je site (spambots kunnen het dus ook lezen), ...

Over naar de tweede mogelijkheid dus: een webpagina met server-side scripting. Server-side scripten is de algemene term voor alle technieken voor het ontwikkelen van dynamische sites. Als ik PHP zeg, zal je dat waarschijnlijk bekender in de oren klikken, maar ook ASP(.NET), CGI en Perl zijn voorbeelden van server-side scripting talen. Om deze te gebruiken voeg je nog een extra attribuut toe aan de form tag: het method (methode) attribuut. Deze heeft twee mogelijke waarden: get en post.

Bij get wordt alle data aan de url toegevoegd. Bekend daarvan zullen je wel url's als article.php?id=756&page=3 enzo zijn. Deze zijn uitermate handig en ook op deze site worden ze volop gebruikt. Bij deze url wordt via de PHP code in article.php deze waarden aanroepen en zo kan pagina 3 van artikel nummer 756 uit de database worden gehaald en worden weergegeven.

Uiteindelijk kom je bij de limieten van get: een forumbericht bv. kan onmogelijk helemaal in de url. Zo komen we bij de post methode. De data wordt hierbij onzichtbaar overgedragen aan de dynamische webpagina en wordt erdoor verwerkt.

Joga
10 April 2006, 23:09
en hoe moet ik dat dan doen in met html in kladblok ?

Jelle
13 April 2006, 17:49
Een voorbeeld van een contactformulier dat de informatie doormailt:

<form method="post" action="mailto:gebruiker@provider.be?subject=Contact" enctype="text/plain">
Wat is uw naam?
<input type="text" name="naam" size="25" maxlength="50">
<br />
Wat is uw e-mailadres?
<input type="text" name="naam" size="25" maxlength="50">
<br />
Bent u reeds klant bij ons?
<input type="radio" name="tevreden" value="ja" checked>Ja
<input type="radio" name="tevreden" value="nee">Nee
<br />
Uw bericht:
<textarea name="bericht" rows="5" cols="50"></textarea>
<br />
<input type="reset" value="Reset">
<input type="submit" value="Verzenden">
</form>

Hetzelfde formulier, maar nu wordt de data via de post methode naar een PHP-script verzonden:

<form method="post" action="contact.php">
Wat is uw naam?
<input type="text" name="naam" size="25" maxlength="50">
<br />
Wat is uw e-mailadres?
<input type="text" name="naam" size="25" maxlength="50">
<br />
Bent u reeds klant bij ons?
<input type="radio" name="tevreden" value="ja" checked>Ja
<input type="radio" name="tevreden" value="nee">Nee
<br />
Uw bericht:
<textarea name="bericht" rows="5" cols="50"></textarea>
<br />
<input type="reset" value="Reset">
<input type="submit" value="Verzenden">
</form>
In contact.php zit dan de PHP code die het formulier verwerkt en de gegevens mailt naar een bepaalde persoon of de gegevens in een database plaatst.

Meer informatie over HTML formulieren vind je o.a. op Handleiding HTML (http://handleidinghtml.nl/html/formulieren/formulieren01.html). Vragen zijn hier uiteraard ook altijd welkom :)

fujitsi
15 April 2006, 18:34
Je kan ook cgi-scripts gebruiken:


<form method="post" action="http://users.skynet.be/cgi-bin/formd.cgi">
<input type="hidden" name="to" value="mijnemail@host.com" />
<input type="hidden" name="next" value="terugkeerpagina.htm" /> <!-- indien inzelfde dir -->
<input type="hidden" name="subject value="klassite comment">
naam
<input type="text" name="firstname"></br>
email
<input type="text" name="e-mail"></br>
<textarea name="comment" type="text" rows="10" cols="30">Typ hier je commentaar.</textarea>
<input type="submit" value="verzenden" name="submit" />
</form>
Dit is wel een zonder radiobuttons, maar dat kan je natuurlijk altijd veranderen

Joga
15 April 2006, 20:20
@fujitsi: bedankt :D
@jelle: ook bedankt :D deze site gebruikte ik al ;)
maar ik heb nu al de hulp van icemar :p