Formulier klasse

Door Kees Schepers, 20 jaar geleden, 4.298x bekeken

Met deze libary kan je formulieren genereren. Een tijdje terug gaf iemand hier het advies om het Object Georienteerd te maken, en vanmiddag voelde ik me geroepen.

Ben wel van plan deze door te ontwikkelen want ik ga hem ook gebruiken voor een intern project hier.

De bedoeling is dat je zelf ook klassen extend met je eigen vorm / opmaak / manier. Niet alle HTML attributen zijn ingesteld nu.

Voorbeeld: http://www.bkr-co.nl/form.php

Gesponsorde koppelingen

PHP script bestanden

  1. formulier-klasse

 

Er zijn 13 reacties op 'Formulier klasse'

PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
PHP Newbie
PHP Newbie
20 jaar geleden
 
0 +1 -0 -1
Netjes ;-) Verander alleen de output even. Paar opmerkingen:

- In de contruction class van het formulier ook even zorgen dat ik een "name", "method" en "action" mee kan geven

- Dit is niet echt zoals het hoort
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<div><div >Gebruikersnaam</div><input type="text" name="username" /></div>


Gebruik beter iets van:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<label for="username">Gebruikersnaam</label> <input type="text" name="username" />
GaMer B
GaMer B
20 jaar geleden
 
0 +1 -0 -1
Coole class. Netjes gecodeerd.
Menno
menno
20 jaar geleden
 
0 +1 -0 -1
Zozo, Netjes hoor.
Ga ik eens even van dichtbij bekijken =)
DDragonz
DDragonz
20 jaar geleden
 
0 +1 -0 -1
Ben ook bezig met zo iets :) Alleen heb bij die wat ik nu maak besloten om geen controles uittevoeren op de correctheid enz(sneller).
Ontopic:
Zeer mooi en netjes geschreven :)
Pim Vernooij
Pim Vernooij
20 jaar geleden
 
0 +1 -0 -1
Hey waar ken ik dat van ;-)

Jammer genoeg weer geen DOMDocument, dat zou de boel aardig wat schaalbaarder maken. Voor de rest leuke klasse, ik mis alleen nog een aantal velden en er ontbreken validatie opties.
TJVB tvb
TJVB tvb
20 jaar geleden
 
0 +1 -0 -1
@DDragonz,
Waarom wil je geen controles? Het is wel sneller maar ook onveilig. Alles snelheid winst ben je in 1 keer kwijt als het een keer fout gaat. Leer jezelf om alles te controleren en niks te vertrouwen. Want als je dat niet doet gaat het vanzelf fout.
DDragonz
DDragonz
20 jaar geleden
 
0 +1 -0 -1
@TJVB:
Jha, ben zelf ook nog maar aan het denken er over over wel en niet controleren. Maar het is meestal zo dat je het zelf schrijft en daarom ook controleert erna. Zie je een error dan haal je die eruit. Zo hoeft die niet altijd te controleren als de input toch gewoon goed is. En ben nu dus bezig met een met validatie.
Wil hem hier wel eens posten en (net als refactormycode.com) de schript optimaliseren.
Maar genoeg gezegt nu lijkt het als of ik die van kees afkraak en dat is apsoluut niet zo.
Arian Stolwijk
Arian Stolwijk
20 jaar geleden
 
0 +1 -0 -1
Je kan ook het uitgebreide pakket http://www.formhandler.net gebruiken, zit echt alles in ;)
Jan geen
Jan geen
20 jaar geleden
 
0 +1 -0 -1
Heel mooi geprogrammeerd, maar wat is nu precies het voordeel van het gebruik van klasses bij het maken van een formulier? is dit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
$form
= new Form();
$form->addField(new Form_Label_Div('Gebruikersnaam'),new Form_Field_Input('text','username'));
$form->addField(new Form_Label_Div('E-mail'),new Form_Field_Input('text','e-mail'));
$form->addField(null,new Form_Field_TextArea('Test','comments',40,10));
echo $form->getHTML();
?>


makkelijker en beter te onderhouden dan dit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<form>
    <label for="username">Username:</label>
    <input type="text" name="username" id="username" />
    
    <label for="email">E-mail:</label>
    <input type="text" name="email" id="email" />
    
    <input type="submit" name="submit" value="Log-in" />
</form


Iemand die me dit kan uitleggen?
Leroy Boerefijn
Leroy Boerefijn
20 jaar geleden
 
0 +1 -0 -1
@Rik,
het is minder typwerk ;)

maar erg leuk gedaan hoor!

gr. leroy
Jelmer -
Jelmer -
20 jaar geleden
 
0 +1 -0 -1
Vanwaar de constante SAFE_LABEL precies?
Henk
Henk
20 jaar geleden
 
0 +1 -0 -1
Als je die op true instelt gooit ie overal htmlentities overheen. Misschien is htmlentities('hoi',ENT_QUOTES); handig.
PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Kees Schepers
kees Schepers
20 jaar geleden
 
0 +1 -0 -1
@phpnewbie: method en action zijn niet verplicht voor zover ik weet. Method is standaard GET en action de zelfde pagina. Echter kun je deze eigenschappen makkelijk instellen op twee manieren:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
$form
= new Form();
$form->method = 'get';
$form->action = 'form.php';

/**
 * Nog een leuk idee!
 * Voeg de volgende functie toe aan de Form klasse
*/

public static function myForm($action,$method='post') {
  $form = new Form();
  $form->action = $action;
  $form->method = $method;
  return $form;
}

?>


@henk: Goede tip, er straks even doorheen gooien.

@Rik: Bij mijn oude werkgever werden formulieren per licentie (van een applicatie) dynamisch gegenereerd, in dat geval zou deze klasse erg handig zijn.

@php newbie: Daar heb je gelijk in maar het voordeel van mijn klasse constructie is dat je zelf je "type" labeler kan maken. Extend gewoon de Form_Label klasse. Div heb ik gekozen omdat ik soms die vrijheid nodig hebt (floaten, etc)

Om te reageren heb je een account nodig en je moet ingelogd zijn.

Inhoudsopgave

  1. formulier-klasse

Labels

  • Geen tags toegevoegd.

Navigatie

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.