[IDEE MySQL PHP] FORM Script

Pagina: 1
Acties:
  • 721 views sinds 30-01-2008
  • Reageer

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Eijkb
  • Registratie: Februari 2003
  • Laatst online: 09:34
B) Het idee: Stel, je hebt een database USER met de velden ID, NAAM, ACHTERNAAM, EMAIL. Je maakt nu een aparte tabel die we TABEL noemen. Deze bevat een rij waarin alle velden van tabel USER genoemd staan met de specifieke kenmerken van dat veld. Op deze manier moet het toch mogelijk zijn een PHP script te maken dat door het aangeven van een tabelnaam, in dit geval USER, een formulier maakt met alles erop en eraan? Je kan eventueel zelfs een script maken dat uit de tabel TABEL de tabel USER aanmaakt. Je kan dit zover doorvoeren als je zelf wilt, eventueel met kenmerken per veld ofdat ze wel of niet moeten worden opgenomen in de standaard formulieren.

|:( Doel: Het kloterigste werk van een site bouwen is het aanmaken van formulieren en de desbetreffende opmaak en validatie. Die stap wil ik automatiseren.

:O Vraag: Indien dit intresse opwerkt, kun je dan eens meedenken, er gaten in schieten of vertellen hoe jij dit oplost!

.


Acties:
  • 0 Henk 'm!

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

SQL:
1
SHOW FIELDS FROM user

:?
waarom een extra tabel nodig :)

Acties:
  • 0 Henk 'm!

  • Eijkb
  • Registratie: Februari 2003
  • Laatst online: 09:34
Omdat je ook de kenmerken wilt meegeven ofdat het misschien een text veld is, een numeriek veld etc. Dit voor de lengte van bijvoorbeeld invoervelden en de validatie.

edit:
Ehh.. heb net even dit uitgevoerd op een tabel en verek, krijg een array terug met alle info die ik maar zou willen hebben. Behalve de informatie ofdat een veld al dan niet moet worden opgenomen in een form. Maar daar kan nog wel iets anders op gevonden worden.


Gebruik jij dat show fields toevallig ook voor een automatisch FORM script of ergens anders voor?? (Ik word gek van al die functies. Lees zo nu en dan de handleidining van PHP en MySQL eens door op zoek naar dit soort zaken, maar onthouden is een tweede 8)7)

[ Voor 62% gewijzigd door Eijkb op 25-05-2003 12:15 ]

.


Acties:
  • 0 Henk 'm!

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

Eijkb schreef op 25 mei 2003 @ 12:11:
Omdat je ook de kenmerken wilt meegeven ofdat het misschien een text veld is, een numeriek veld etc. Dit voor de lengte van bijvoorbeeld invoervelden en de validatie.
dat krijg je daarmee ook gewoon hoor :)

Acties:
  • 0 Henk 'm!

  • Vae Victis
  • Registratie: April 2001
  • Laatst online: 07-09 06:15

Vae Victis

Dark Lord of the Sith

Je hebt gewoon functies in php waarmee je zo'n beetje alles van je database te weten kan komen.
bv: http://nl2.php.net/manual/nl/function.msql-list-fields.php
en dan zijn er nog een paar.

Acties:
  • 0 Henk 'm!

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Eijkb schreef op 25 May 2003 @ 12:11:
Omdat je ook de kenmerken wilt meegeven ofdat het misschien een text veld is, een numeriek veld etc. Dit voor de lengte van bijvoorbeeld invoervelden en de validatie.
Deze redenen om het apart bij te houden zijn niet zo sterk.

Welke wat sterker zijn (iig in geval van mysql):
- Controle van variabele inhoud, dat er staat 'postcode, char(7)' zegt nog niet dat er ook maar alles in mag. In elke serieuze database die niet mysql heet kan je dat middels een check-constraint in je database afvangen, magoed.
- Het opgeven van alleen die velden die via een formulier zichtbaar gemaakt mogen worden, er zijn natuurlijk allerlei velden (userid's worden pas na de registratie aangemaakt, moet de user niet invullen) die niet ingevuld moeten of mogen worden.
- Ik kan er zo gauw niet zoveel sterke bedenken die je niet ook uit de database-metadata kan plukken :o

Acties:
  • 0 Henk 'm!

  • bigtree
  • Registratie: Oktober 2000
  • Laatst online: 16-08 17:16
Doel: Het kloterigste werk van een site bouwen is het aanmaken van formulieren en de desbetreffende opmaak en validatie. Die stap wil ik automatiseren.
Het klinkt alsof je phpMyAdmin opnieuw wilt uitvinden.

Lekker woordenboek, als je niet eens weet dat vandalen met een 'n' is.


Acties:
  • 0 Henk 'm!

  • creative8500
  • Registratie: September 2001
  • Laatst online: 01-02 14:14

creative8500

freedom.

bigtree schreef op 25 mei 2003 @ 12:54:
[...]
Het klinkt alsof je phpMyAdmin opnieuw wilt uitvinden.
Natuurlijk niet, want volgens mij wil hij dit inpassen in een soortement van 'simpel content systeem'. phpMyAdmin geef je niet aan klanten als systeem om teksten te beheren. En veel klanten willen allerminst betalen voor een echt CMS.

Acties:
  • 0 Henk 'm!

  • Eijkb
  • Registratie: Februari 2003
  • Laatst online: 09:34
Het gaat gewoon puur om het maken van formulieren op internet. Veel mensen hebben allemaal andere wensen en dus is een andere database nodig. Zou toch handig zijn als je met bv. form(gebruiker) een formulier voor je neus krijgt welke je kan opmaken met CSS of wat dan ook, ipv keer op keer <input type.... te gaan zitten typen??? Het gaat dus niet om een CSM systeem (alhoewel, een kleintje dan) en zeker niet om phpMyAdmin. Het gaat gewoon puur om een vervanging van de uren die ik heb zitten in een formulier (incl queries voor insert en editten) voor een specifiek doel.

edit:
Helaas ben ik beperkt tot MySQL vwb de database, dus inderdaad geen verregaande validatie functies enzo. Maar ook dat is te maken met functions aan de hand van wat meta gegevens

[ Voor 15% gewijzigd door Eijkb op 25-05-2003 13:33 ]

.


Acties:
  • 0 Henk 'm!

  • Apache
  • Registratie: Juli 2000
  • Laatst online: 16-09 10:29

Apache

amateur software devver

K'heb er zelf ook al kort mee gespeeld om m'n forms te coden, werkt opzich wel fijn maar is nog een erg op zichzelf staande classe. En is nogal ruw afgewerkt.

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?
            foreach($admininfo as $key=>$val){

                if (!in_array($val, $notfelems)){
                
                    if ($val == 'adminpassword'){
                    
                        $form->addRow($val, $form->addPassword($val));
                            
                    } else {
                    
                        $form->addRow($val, $form->addCheckbox("", "adm_".$val,"1"));
                        
                    }
                    
                }

            }
?>


Voor de oplossing met insert/update queries heb ik iets als

PHP:
1
2
3
4
5
6
7
8
9
10
<?
$insert['naam'] = $_POST['naam'];
$insert['achternaam'] = $_POST['achternaam'];
$insert['email'] = $_POST['email'];
$db->db_insert("tblUsers", $insert);

// en voor update
$update['naam'] = $_POST['naam'];
$db->db_update("tblUsers", $update, $id [,$naamvanid]);
?>


K'ben van plan om het deze zomer eens allemaal in 1 mooi framework te gieten maar heb nog ff een drukke maand voor me.

If it ain't broken it doesn't have enough features


Acties:
  • 0 Henk 'm!

  • bigtree
  • Registratie: Oktober 2000
  • Laatst online: 16-08 17:16
Eijkb schreef op 25 mei 2003 @ 13:32:
Het gaat gewoon puur om het maken van formulieren op internet. Veel mensen hebben allemaal andere wensen en dus is een andere database nodig. Zou toch handig zijn als je met bv. form(gebruiker) een formulier voor je neus krijgt welke je kan opmaken met CSS of wat dan ook, ipv keer op keer <input type.... te gaan zitten typen??? Het gaat dus niet om een CSM systeem (alhoewel, een kleintje dan) en zeker niet om phpMyAdmin. Het gaat gewoon puur om een vervanging van de uren die ik heb zitten in een formulier (incl queries voor insert en editten) voor een specifiek doel.
Wat ik bedoelde was dat phpMyAdmin dit al doet. Een fomulier dynamisch opbouwen. Dat wilde je.

Dat je vervolgens ook nog controle wilt hebben over hoe je formulier er *uitziet* is een extra functionaliteit. In de basis moet jouw systeem alles kunnen wat phpMyAdmin kan m.b.t. updaten / select / insert / delete. Ik zou dus goed kijken hoe het daar werkt in plaats van zelf verzinnen.

Lekker woordenboek, als je niet eens weet dat vandalen met een 'n' is.


Acties:
  • 0 Henk 'm!

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

bigtree schreef op 25 mei 2003 @ 14:26:
Dat je vervolgens ook nog controle wilt hebben over hoe je formulier er *uitziet* is een extra functionaliteit. In de basis moet jouw systeem alles kunnen wat phpMyAdmin kan m.b.t. updaten / select / insert / delete. Ik zou dus goed kijken hoe het daar werkt in plaats van zelf verzinnen.
phpMyAdmin geeft toch voor _elk_ willekeurig veld een stel formelementen? Of heb je het over een stukje functionaliteit dat niet bij de standaard interface zit?

Acties:
  • 0 Henk 'm!

  • Digihelp ®
  • Registratie: Maart 2001
  • Laatst online: 18-08 11:09
Eijkb, ik kan erg goed begrijpen wat je bedoeld. Veel tijd bij het bouwen van een site gaat inderdaad zitten in overzichten en formulieren.
Wat je kan natuurlijk kan doen is een form class bouwen die dit volledig van je overneemt.
De formclass die ik heb gebouwt produceert op basis van onderstaande code een volledig formulier, die automatisch ook alle veranderingen opslaat, mits aan de validatie wordt voldaan, foutmeldingen worden getoond etc etc.

PHP:
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
require_once ("form.php");
$caller = htmlspecialchars($_SERVER['REQUEST_URI']);
$query = 'SELECT contactpersoon, afdeling, adres, postcode, plaats FROM `bedrijfinfo` where id=' . $id;
$form = new form_class($caller, true, $query);

$form->newPart("Contactinfo");
        
$form->addExplanation("U kunt een contactpersoon invullen, een afdeling of beide.");
$form->addTinput("Contactpersoon", "contactpersoon");
$form->addTinput("Afdeling", "afdeling");
// Minimaal moet een contactpersoon of een afdeling zijn ingevuld.
$form->addValidation("contactpersoon", "combinedrequired", 1, array("contactpersoon", "afdeling"));
$form->addValidation("afdeling"      , "combinedrequired", 1, array("contactpersoon", "afdeling"));
    
$form->addExplanation("Alle overige contactgegevens zijn verplicht, behalve het faxnummer.");
$form->addTinput("Adres *", "adres");
$form->addTinput("Postcode *", "postcode");
$form->addTinput("Plaats *", "plaats");

$form->addValidation("adres", "required");
$form->addValidation("postcode", "required"); // TODO postcode validatie
$form->addValidation("plaats", "required");
   
$form->endPart();

$form->addHidden("tabel", "bedrijfinfo");
$form->addHidden("id", $secure->userid);
$form->addSubmit("Opslaan");

$form->procesInput();
$form->printForm();


Je kan de class net zo uitgebreid maken als je wil. Inmiddels heb ik ook een overzicht class gebouwd die op eenzelfde manier mooie overzichten in tabelvorm weergeeft, inclusief add, edit en delete functionaliteiten. Voor add en edit wordt dan weer gebruik gemaakt van de form class.

[ Voor 14% gewijzigd door Digihelp ® op 25-05-2003 18:18 ]


Acties:
  • 0 Henk 'm!

  • bigtree
  • Registratie: Oktober 2000
  • Laatst online: 16-08 17:16
ACM schreef op 25 May 2003 @ 14:31:
[...]

phpMyAdmin geeft toch voor _elk_ willekeurig veld een stel formelementen? Of heb je het over een stukje functionaliteit dat niet bij de standaard interface zit?
Ja ik bedoelde eigenlijk 'uitbreiding' in plaats van 'extra functionaliteit'. Wat ik bedoelde is dat het me handig lijkt om uit te gaan van phpMyAdmin en daar een paar dingen aan toe te voegen zodat je formulieren kan opbouwen vanuit een zelf te bouwen systeemtabel.

Lekker woordenboek, als je niet eens weet dat vandalen met een 'n' is.


Acties:
  • 0 Henk 'm!

  • Bbfreak
  • Registratie: September 2002
  • Laatst online: 18-07 10:58
http://www.phpbuilder.net/columns/yuri20011015.php3

In dit artikel wordt beschreven hoe je m.b.v OO een mooie FORM class kan maken.
OO is echt wel handig hiervoor gezien het meervoudig gebruik!

Twitter @cmeerbeek / Halo Waypoint Profile


Acties:
  • 0 Henk 'm!

  • Grijze Vos
  • Registratie: December 2002
  • Laatst online: 28-02 22:17
Kheb zelf een serie functies geschreven die een form makkelijk voor me genereren. Ik denk dat het te weinig flexibiliteit geeft om dat op jouw manier te doen. Maar het is heel goed mogelijk, als je genoegen neemtmet iets minder flexibiliteit.

Op zoek naar een nieuwe collega, .NET webdev, voornamelijk productontwikkeling. DM voor meer info


Acties:
  • 0 Henk 'm!

  • Digihelp ®
  • Registratie: Maart 2001
  • Laatst online: 18-08 11:09
Grijze Vos schreef op 25 mei 2003 @ 23:11:
Kheb zelf een serie functies geschreven die een form makkelijk voor me genereren. Ik denk dat het te weinig flexibiliteit geeft om dat op jouw manier te doen. Maar het is heel goed mogelijk, als je genoegen neemtmet iets minder flexibiliteit.
Welke flexibiliteit heb je het nu precies over?

Acties:
  • 0 Henk 'm!

  • Eijkb
  • Registratie: Februari 2003
  • Laatst online: 09:34
los_joost, zou je die form class eens kunnen posten (of mailen)? Om een beetje een idee te krijgen van hoe je dat heb opgebouwd. Heb nu zelf in de gauwigheid een paar functies geschreven voor de tabel op http://www.wijzeman.nl/newsite/index.php?taak=aanmelden welke in ieder geval een INPUT TEXT kunnen opbouwen. Nu nog de overige input elementen, de validatie en de queries... Plus dat een input element indien de waarde bekend is deze ook moet weergeven of moet melden dat het veld leeg is indien submit enzovoorts. Als ik er zo over nadenk dan heb je zoveel mogelijkheden dat je er gestoord van wordt. Effe alles op een rijtje:

FORM class met de volgende functies:
- opbouwen formulier
- opbouwen select, insert en update querie
- validatie op velden waar nodig
- weergeven gegevens indien voorradig
- formelement beschrijving moet anders (kunnen) zijn dan veldnaam
- achter formelement moet toevoeging kunnen komen

Het mooie is, als ik het zelf niet geschreven heb dan kan ik er niet aan wennen.....

.


Acties:
  • 0 Henk 'm!

Verwijderd

Heb je er ook aan gedacht die form en table class op een of andere manier aan een template mechanisme te koppelen? Het is wel rete stoer om het geheel er ook gebruikers vriendelijk uit te laten zien natuurlijk. Anders vraag ik me of of je niet beter direct phpmyadmin kan gaan gebruiken.

dus: je maakt in frontpage ofzo je html netje opgemaakt met alle ALT="", TITLE="", dhtml, style="", LABELs, knopjes met datum popup e.d. en in PHP override je een standaard Form class waarin je alle typische eigenschappen opneemt van dit formulier met de d.b. tabel erbij natuurlijk. php parsed de template (voor een nieuw record of voor een update!), voegt javascript toe voor validatie (je kunt dan voor een veld ook bijvoorbeeld zeggen type="credit card", type="datum" met specifieke validatie). dezelfde php pagina herkent en valideert dan vervolgens de POST van de gebruiker en genereert de juiste INSERT of UPDATE. bij foute user input komt hetzelfde formulier terug, met dan een aantal extra opmerkingen over wat mist of fout is getypt door de gebuiker.

wat een wonder zou het zijn als het kan! ik verspil al mijn tijd aan het maken van de forms en tables :( maarre...ik ben er al eens mee bezig geweest, mar het duurt zo rete lang...! goed om er eens over te discuseren denk ik :P oh, ik heb me laten inspireren door phplib maar ben er nog niet uit. :?

Acties:
  • 0 Henk 'm!

  • Eijkb
  • Registratie: Februari 2003
  • Laatst online: 09:34
Punt 1: Ik was bijna gestopt met lezen toen ik de naam frontpage voorbij zag komen, maar vooruit.

De functies die ik nu gebruik hebben als output een table row met om en om de style row0 en row1. Dus de opmaak kan ik dmv CSS regelen. Een template achtig iets zou wel handig zijn, ware het niet dat jij voorsteld 1 form te maken. Dan meer een template voor iedere formuliermogelijkheid (dus een template voor type text, type radio etc). Maar eigenlijk wil ik dat niet. Ik wil iets maken dat eigenlijk zelf het formulier maakt aan de hand van een tabel in een database. Het script leest de opmaak van een tabel en maakt daarvoor een formulier aan. Wat hier dan precies de link met phpMyAdmin is snap ik zo onderhand wel maar is, zeker qua opmaak, totaal iets anders wat ik bedoel!

Het stukje over javascript en type=creditcard is aardig, maar hoe parsed je browser dat?

.


Acties:
  • 0 Henk 'm!

  • kaandorp
  • Registratie: November 1999
  • Laatst online: 10-09 11:45
Eijkb schreef op 26 May 2003 @ 12:48:
Punt 1: Ik was bijna gestopt met lezen toen ik de naam frontpage voorbij zag komen, maar vooruit.

De functies die ik nu gebruik hebben als output een table row met om en om de style row0 en row1. Dus de opmaak kan ik dmv CSS regelen. Een template achtig iets zou wel handig zijn, ware het niet dat jij voorsteld 1 form te maken. Dan meer een template voor iedere formuliermogelijkheid (dus een template voor type text, type radio etc). Maar eigenlijk wil ik dat niet. Ik wil iets maken dat eigenlijk zelf het formulier maakt aan de hand van een tabel in een database. Het script leest de opmaak van een tabel en maakt daarvoor een formulier aan. Wat hier dan precies de link met phpMyAdmin is snap ik zo onderhand wel maar is, zeker qua opmaak, totaal iets anders wat ik bedoel!

Het stukje over javascript en type=creditcard is aardig, maar hoe parsed je browser dat?
Dit is op zich niet echt handig. Als je namelijk velden in de tabel hebt staan die nog bewerkt moeten worden voordat ze gedisplayed worden (id, tijd in timestamp format, password, etc) Dan kun je die niet zomaar weergeven.

Acties:
  • 0 Henk 'm!

  • Nielsz
  • Registratie: Maart 2001
  • Niet online
Wij maken gebruik van een class die eerst kijkt of je PKfield heb. Als die in de $postvalues zit, en die is al geinsert dan update hij hem, anders insert hij 'm.

Is dus erg simpel een edit/create script te maken.

Acties:
  • 0 Henk 'm!

  • Eijkb
  • Registratie: Februari 2003
  • Laatst online: 09:34
Dit is op zich niet echt handig. Als je namelijk velden in de tabel hebt staan die nog bewerkt moeten worden voordat ze gedisplayed worden (id, tijd in timestamp format, password, etc) Dan kun je die niet zomaar weergeven.
Met de show info query krijg je een hoop info, zoals kolomnaam, soort, max lengte. Daar kun je ifjes aan hangen die de output formateren. Lijkt me logisch, lijkt me handig.
Wij maken gebruik van een class die eerst kijkt of je PKfield heb. Als die in de $postvalues zit, en die is al geinsert dan update hij hem, anders insert hij 'm.
Is dus erg simpel een edit/create script te maken.
ehh... Is dat een PHP iets? Ik werk met een bijna kale PHP install, dus geen foefjes als GD e.d. Misschien dat PKfield bij een library hoort ofzo....

[ Voor 32% gewijzigd door Eijkb op 26-05-2003 15:41 ]

.


Acties:
  • 0 Henk 'm!

Verwijderd

Op FunkyBytes.net vind je ook een mooie tutorial over hoe je formclasses maakt!

Acties:
  • 0 Henk 'm!

  • Digihelp ®
  • Registratie: Maart 2001
  • Laatst online: 18-08 11:09
Eijkb schreef op 26 May 2003 @ 09:17:
los_joost, zou je die form class eens kunnen posten (of mailen)?
Sorry, ik heb hem op dit moment niet bij de hand. Misschien later deze week.
Heel in het kort werkt het zo:

Bij $form->addelementbla(blabla) worden alle gegevens in een array opgeslagen.
Ook alle validatieregels worden in een array opgeslagen na een $form->addvalidation(blabla).

Bij $form->procesinput wordt er allereerst gekeken of er een form gesubmit is.
Vervolgens wordt alle input gecontroleerd aan de hand van de validatie regels, en als het correct is wordt het opgeslagen (mbv de element array)

Vervolgens wordt de hele form geprint dmv een foreach constructie die de hele element array doorloopt en elk element print, inclusief eventuele foutmeldingen nav de validatie.

Verder zitten er nog een hele boek leuke javascript functies bij, maar die zijn nog in ontwikkeling.

Acties:
  • 0 Henk 'm!

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

ergens begin vorig jaar is er in W&G ook een topic geweest over generieke formvalidatie in javascript; zaten wel leuke voorbeeldjes bij :)

deze dus: [rml][ js] Form validatie[/rml]

Intentionally left blank


Acties:
  • 0 Henk 'm!

Verwijderd

Ben nu zelf bezig met OS-Commerce, en daarin maken ze ook gebruik van form functies.
daarin zitten dus alle standaard form-elementen. welke je zo kun aanroepen.
Dit is hoe hun het gedaan hebben.
code:
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
////
// Output a form
  function tep_draw_form($name, $action, $method = 'post', $parameters = '') {
    $form = '<form name="' . tep_parse_input_field_data($name, array('"' => '&quot;')) . '" action="' . tep_parse_input_field_data($action, array('"' => '&quot;')) . '" method="' . tep_parse_input_field_data($method, array('"' => '&quot;')) . '"';

    if (tep_not_null($parameters)) $form .= ' ' . $parameters;

    $form .= '>';

    return $form;
  }

////
// Output a form input field
  function tep_draw_input_field($name, $value = '', $parameters = '', $type = 'text', $reinsert_value = true) {
    $field = '<input type="' . tep_parse_input_field_data($type, array('"' => '&quot;')) . '" name="' . tep_parse_input_field_data($name, array('"' => '&quot;')) . '"';

    if ( (isset($GLOBALS[$name])) && ($reinsert_value == true) ) {
      $field .= ' value="' . tep_parse_input_field_data($GLOBALS[$name], array('"' => '&quot;')) . '"';
    } elseif (tep_not_null($value)) {
      $field .= ' value="' . tep_parse_input_field_data($value, array('"' => '&quot;')) . '"';
    }

    if (tep_not_null($parameters)) $field .= ' ' . $parameters;

    $field .= '>';

    return $field;
  }

////
// Output a form password field
  function tep_draw_password_field($name, $value = '', $parameters = 'maxlength="40"') {
    return tep_draw_input_field($name, $value, $parameters, 'password', false);
  }

////
// Output a selection field - alias function for tep_draw_checkbox_field() and tep_draw_radio_field()
  function tep_draw_selection_field($name, $type, $value = '', $checked = false, $parameters = '') {
    $selection = '<input type="' . tep_parse_input_field_data($type, array('"' => '&quot;')) . '" name="' . tep_parse_input_field_data($name, array('"' => '&quot;')) . '"';

    if (tep_not_null($value)) $selection .= ' value="' . tep_parse_input_field_data($value, array('"' => '&quot;')) . '"';

    if ( ($checked == true) || ($GLOBALS[$name] == 'on') || ( (isset($value)) && ($GLOBALS[$name] == $value) ) ) {
      $selection .= ' CHECKED';
    }

    if (tep_not_null($parameters)) $selection .= ' ' . $parameters;

    $selection .= '>';

    return $selection;
  }

////
// Output a form checkbox field
  function tep_draw_checkbox_field($name, $value = '', $checked = false, $parameters = '') {
    return tep_draw_selection_field($name, 'checkbox', $value, $checked, $parameters);
  }

////
// Output a form radio field
  function tep_draw_radio_field($name, $value = '', $checked = false, $parameters = '') {
    return tep_draw_selection_field($name, 'radio', $value, $checked, $parameters);
  }

////
// Output a form textarea field
  function tep_draw_textarea_field($name, $wrap, $width, $height, $text = '', $parameters = '', $reinsert_value = true) {
    $field = '<textarea name="' . tep_parse_input_field_data($name, array('"' => '&quot;')) . '" wrap="' . tep_parse_input_field_data($wrap, array('"' => '&quot;')) . '" cols="' . tep_parse_input_field_data($width, array('"' => '&quot;')) . '" rows="' . tep_parse_input_field_data($height, array('"' => '&quot;')) . '"';

    if (tep_not_null($parameters)) $field .= ' ' . $parameters;

    $field .= '>';

    if ( (isset($GLOBALS[$name])) && ($reinsert_value == true) ) {
      $field .= $GLOBALS[$name];
    } elseif (tep_not_null($text)) {
      $field .= $text;
    }

    $field .= '</textarea>';

    return $field;
  }

////
// Output a form hidden field
  function tep_draw_hidden_field($name, $value = '', $parameters = '') {
    $field = '<input type="hidden" name="' . tep_parse_input_field_data($name, array('"' => '&quot;')) . '" value="';

    if (tep_not_null($value)) {
      $field .= tep_parse_input_field_data($value, array('"' => '&quot;'));
    } else {
      $field .= tep_parse_input_field_data($GLOBALS[$name], array('"' => '&quot;'));
    }

    if (tep_not_null($parameters)) $field .= ' ' . $parameters;

    $field .= '">';

    return $field;
  }

////
// Hide form elements
  function tep_hide_session_id() {
    if (tep_not_null(SID)) return tep_draw_hidden_field(tep_session_name(), tep_session_id());
  }

////
// Output a form pull down menu
  function tep_draw_pull_down_menu($name, $values, $default = '', $parameters = '', $required = false) {
    $field = '<select name="' . tep_parse_input_field_data($name, array('"' => '&quot;')) . '"';

    if (tep_not_null($parameters)) $field .= ' ' . $parameters;

    $field .= '>';

    if ($default == '') $default = $GLOBALS[$name];

    $size = sizeof($values);
    for ($i=0; $i<$size; $i++) {
      $field .= '<option value="' . tep_parse_input_field_data($values[$i]['id'], array('"' => '&quot;')) . '"';
      if ($default == $values[$i]['id']) {
        $field .= ' SELECTED';
      }

      $field .= '>' . tep_parse_input_field_data($values[$i]['text'], array('"' => '&quot;', '\'' => ''', '<' => '&lt;', '>' => '&gt;')) . '</option>';
    }
    $field .= '</select>';

    if ($required == true) $field .= TEXT_FIELD_REQUIRED;

    return $field;
  }


Sorry voor het vern**ken van de layout.

Acties:
  • 0 Henk 'm!

  • Eijkb
  • Registratie: Februari 2003
  • Laatst online: 09:34
Geprobeerd voorgaande post met php tags te omgeven, maar lay-out blijft verneukt. Wel een interessant stukje code.

Ik heb het nu ook met functies gedaan, en dat werkt wel goed. Soms heb je toch nog wat uitzonderlijke wensen maar dat ene formfield maakt dan ook niet uit. Moet alleen de validatie nog even uitwerken. Toch blijf ik denken aan classes, gezien dit wat mij betreft er iets controleerbaarder (lees: professioneler) uitziet.

[ Voor 163% gewijzigd door Eijkb op 27-05-2003 19:05 ]

.


Acties:
  • 0 Henk 'm!

  • Eijkb
  • Registratie: Februari 2003
  • Laatst online: 09:34
deze dus: [js] Form validatie
Dat is een machtig interessante thread inderdaad. Jammer dat de stukjes code niet meer bereikbaar zijn. Heb inmiddels wel een van de posters benaderd voor de code.

.


Acties:
  • 0 Henk 'm!

Verwijderd

Eijkb schreef op 26 May 2003 @ 12:48:
Punt 1: Ik was bijna gestopt met lezen toen ik de naam frontpage voorbij zag komen, maar vooruit.

De functies die ik nu gebruik hebben als output een table row met om en om de style row0 en row1. Dus de opmaak kan ik dmv CSS regelen. Een template achtig iets zou wel handig zijn, ware het niet dat jij voorsteld 1 form te maken. Dan meer een template voor iedere formuliermogelijkheid (dus een template voor type text, type radio etc). Maar eigenlijk wil ik dat niet. Ik wil iets maken dat eigenlijk zelf het formulier maakt aan de hand van een tabel in een database. Het script leest de opmaak van een tabel en maakt daarvoor een formulier aan. Wat hier dan precies de link met phpMyAdmin is snap ik zo onderhand wel maar is, zeker qua opmaak, totaal iets anders wat ik bedoel!

Het stukje over javascript en type=creditcard is aardig, maar hoe parsed je browser dat?
Frontpage hater he?!? tja ik ben ook geen liefhebber, maar punt 1 issie al geinstalleerd met Office, das heel makkelijk voor mij, punt 2 werkt het gewoon wel makkelijk en snel om een stel tabelletjes te genereren en wat vage html codes uit te vinden die ik vergeten was. ik heb dreamweaver sinds 1.2 niet meer geprobeerd. oops off-topic :Z

met templates bedoel ik niet een template voor de componenten maar een template voor het specifieke formulier (dus de db table). dat is in principe eigenlijk extra werk, maar ik denk dat een custom form altijd gebruikersvriendelijker kan zijn dan een gegenereerd 'phpmyadmin' form.

met maar 1 template bedoel ik dat ik die ene template met PHP reg exprs parse en er zodoende een form van maak voor een nieuw item (INSERT) en een editform voor een bestaand item (UPDATE). want die forms zijn in principe hetzelfde. alleen dmv PHP kan ik de bestaande waarden alvast invullen in het edit form. en ik kan als een gebruiker een form POST met fouten hetzelfde formulier weer op het scherm toveren met alle waarden weer ingevuld + error meldingen. :P

type=creditcard geef ik op aan de PHP Form class, NIET in de template! Dat betekent dus dat PHP een input field genereert/parset van type=text, maar dat daarbij specifieke javascript code wordt gegenereert voor het valideren van een credit card nummer. en als het form wordt gePOST dan controleert ook PHP of dit een geldig credit card nummer is.

als jij wel html wil genereren, maar niet de opmaak van phpmyadmin, hoe stel je je het dan wel precies voor?

(mijn motivatie om forms te genereren MET templates is dat een collega van mij al eens een script heeft geschreven dat forms genereert aan de hand van metadata, maar het geheel was _zeer_ gebruikersonvriendelijk en lelijk, bijvoorbeeld de description van de velden was afhankelijk van de fieldname in de database.)

Acties:
  • 0 Henk 'm!

  • Eijkb
  • Registratie: Februari 2003
  • Laatst online: 09:34
Nou, ik heb nu bijvoorbeeld de volgende voorbeeld functie:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
function form_text($omschr,$veld,$len,$max,$class) {
    if (!$veld) { $veld = $omschr; }
    
    if ((!$_POST[$veld]) or ($_POST[$veld] == "Gaarne invullen!")) {
        $value = "Gaarne invullen!";
    } else {
        $value = $_POST[$veld];
    }

    echo "<tr class=\"$class\"><td>".$omschr."</td><td><input"; 
    echo "type=\"text\" name=\"".$veld."\" size=\"".$len;
    echo "maxlength=\"".$max."\" value=\"".$value."\"></td></tr>";
}


welke ik aanspreek met een volgende regel:

PHP:
1
form_text('Voornaam','',30,75,'row0');


Hij maakt nu een text input regel als op www.wijzeman.nl/newsite/aanmelden.php, invoerveld Voornaam. Dus geen standaard size voor velden etc.

Als je het formulier submit en je stuurt het naar $PHP_SELF dan geeft ie meteen de waarschuwing Gaarne invullen in lege velden. Opmerking: nog lang niet klaar, vooral aan de validatie moet nog veel gebeuren!

[offtopic] Vroeger gebruikte ik ook vaak een WYSetc Editor (dreamweaver tot versie 3 ofzo(?)) voor snelle tabellen enzo. Maar uiteindelijk duurde het langer om dat op te starten dan het in te typen in de gebruikte texteditor (EditPlus in mijn geval). Vooral als je al een eind bent en je laad je .php file in dreamweaver ofzo dan kunnen er rare dingen gebeuren :) Maarja, als je met template's werkt dan is je PHP en HTML gescheiden he, dus dat maakt dan niet uit. Heb nog geen ervaring met templates maar ben dan ook nog niet tegen een project aangelopen waar dat nu echt nodig was volgens mijn "beperkte" inzicht. Doe vooral hobby projectjes tegen een kleine vergoeding.... (van info sites tot complete shops, maar toch 8)7).

[ Voor 65% gewijzigd door Eijkb op 27-05-2003 21:31 ]

.


Acties:
  • 0 Henk 'm!

  • Eijkb
  • Registratie: Februari 2003
  • Laatst online: 09:34
Klein stukje nog on-uitgewerkte code voor de mensen die zin hebben mee te denken:

PHP:
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
<table>
<? 

function welke($velden) {
    
    $velden = explode(",", $velden);
    return $velden;
}

// GEEF VELDEN WAARVAN JE EEN FORMULIER ELEMENT WILT ZIEN
$velden = welke("user,pass,email");

include("databaseconnectie.php");

// CONSTRUCTIE DIE DE VELDEN TOONT WELKE JE WILT ZIEN
$vraag = mysql_query("show fields from user");
while ($antwoord = mysql_fetch_row($vraag)) {

    // Veldgrootte vaststellen

    $size = ereg_replace("[^0-9]","", $antwoord[1]);

    if ($size > 40) {
        $maxlength = $size;
        $size = 40;
    } else {
        $maxlength = $size;
    }
    
    if (in_array($antwoord[0] , $velden)) {
        echo "<tr><td>".$antwoord[0]."</td><td><input type=\"text\" name=\"".$antwoord[0]."\" size=\"".$size."\" maxlength=\"".$maxlength."\" value=\"".$_POST[$antwoord[0]]."\"></td></tr>";
    }
}

?>
</table>


Vanaf dit magere startpunt moet ik nog een hoop doen:
- validatie
- andere formelementen mogelijkmaken (select, radio, checkbox)

We komen er wel....

.


Acties:
  • 0 Henk 'm!

Verwijderd

als ik me een paar uur tijd kan besparen door formulieren te genereren die een beetje acceptabel zijn dan wil ik wel even meedenken.

voornaamste bezwaar wat ik tegen je code hierboven heb is, dat als het eenmaal wat groter wordt (select, radio, e.d.) dat het een grote hoop spaghetti word. ik denk dat je moet beginnen met het ontwerpen van een (OO) framework dat zich goed leent voor het toevoegen van html componenten enerzijds, en allerlei soorten javascript anderzijds. per table waar je html voor genereert moet je iets kunnen configureren in een Form class, waarbij je bijvoorbeeld het soort validatie opgeeft (minlength, maxlength, regexpr, + een virtuele functie met specifieke validatie op meerdere velden tegelijkertijd). en met de huidige aanpak zul je ook een zekere layout info in je php code moeten stoppen. wat je eigenlijk niet wilt.

ik kan je aanraden de Forms class van phplib eens te bekijken, 5 jaar geleden hadden ze kennelijk hetzelfde probleem :P

nog een paar kleine opmerkingen op je code:
- je zult toch es een abstract db class moeten gaan gebruiken, zoals DB_Sql. makkelijker te lezen en mee te werken, en makkelijk over te zetten op een ander dbms.
- als je vars moet in vullen in een stukkie html denk ik dat je met printf() veel minder fouten maakt.
- $_POST[varnaam] ipv $_POST["varnaam"] is in php4 wel legaal, maar wordt afgeraden.
PHP:
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
<table> 
<? 

// GEEF VELDEN WAARVAN JE EEN FORMULIER ELEMENT WILT ZIEN 
$velden = array("NEpublicationdate", "NEheadline", "NEcontent"); 

// CONSTRUCTIE DIE DE VELDEN TOONT WELKE JE WILT ZIEN 
// DB_dbav is defined in prepend.php and inherits from DB_Sql
$db = new DB_dbav("show fields from news");

while ($db->next_record()) { 
    // Veldgrootte vaststellen 
    $size = ereg_replace("[^0-9]", "", $db->f(1)); 

    $maxlength = $size; 
    if ($size > 40) $size = 40; 
    
    if (in_array($db->f(0), $velden)) { 
        printf('<tr><td>%s</td><td><input type="text" name="%s" size="%d" maxlength="%d" value="%s"></td></tr>',
            $db->f(0),
            $db->f(0),
            $size,
            $maxlength,
            $_POST[$db->f(0)]);
    } 
} 

?>
</table>

Acties:
  • 0 Henk 'm!

  • Eijkb
  • Registratie: Februari 2003
  • Laatst online: 09:34
Tja, toch weer die classes he. Nu ben ik daar nog niet zo thuis in maar het is rustig op het werk dus zal me voor een tiende keer eens gaan inlezen :)

Over de rest van je opmerkingen ben ik het eens, behalve over het gebruik van allerlei externe classes. Ik geloof dat ik het al eerder geschreven had: "Als het niet van eigen hand komt kan ik er niet mee overweg". Is natuurlijk een beetje een onzin stelling maar ik zeg dat alleen maar om aan te geven dat het een beetje hobby-en is en moet blijven. Anders kan ik net zo goed PEAR gaan gebruiken en datamodellen voorleggen aan de klant als hij om een visitekaartje online vraagt :) Ik wil er wel wat van leren en het eindresultaat moet bereikt zijn door noest typewerk. Niet door het implementeren van allerlei van het net geplukte classes, hoe goed ze ook zijn. De ware hobbyist zegt: Liever een eigen buggy script dan een gekopieerd script! Er is een kleine kans dat ik binnen het bedrijf waar ik nu zit proffesioneel aan de slag kan met webtechnieken en dan krijg ik nog wel genoeg te maken met externe classes enzo 8)7

Wil natuurlijk niet zeggen dat het eindprodukt niet professioneel mag zijn he...

offtopic:
Heb vannacht precies twee-en-half uur geslapen door dit hele gedoe. Liggen denken aan allerlei methodes, uitbreidingen tot een geheel CMS aan toe :) Waar de input van andere mensen al niet goed voor is!


Ehh. Jij schrijft dat ik beter printf kan gebruiken. Oke. Zal het eens nakijken. Maar je mag variabelen toch niet meenemen in je output? Het schijnt sneller te zijn als je die (". .") uitquoteerd... Wat jij?

Heb nog even een blik geworpen op PhpLib, hiervoor met je allerlei zaken editten in de php.ini file en daar kan je vaak niet bij. Net zoals ik ook nog geen gebruik maak van "GD ver 2 en hoger" functies, gezien veel hosters niet zo up-to-date zijn. Op zich is dat jammer maar ik kan er mee leven. Heb zo ooit thuis een testomgeving gedraait met alles erop en eraan. Maak je een site: prima. Gaat de site 'in produktie': error! Das ook niet alles. Ik blijf dus binnen de veilige marges. Misschien wat overdreven,....

[ Voor 45% gewijzigd door Eijkb op 28-05-2003 10:17 ]

.


Acties:
  • 0 Henk 'm!

  • Eijkb
  • Registratie: Februari 2003
  • Laatst online: 09:34
Kleine wijziging van de plannen: Ben nu bezig aan een pagina welke een database uitleest. Vervolgens moet je een tabel kiezen en van die tabel laat hij de velden zien. Hier kun je kiezen ofdat deze in het formulier moeten komen, het type form element etc. Vervolgens maakt die pagina een formulier aan in <formname>.php. Dat php bestand kan je dan aanroepen vanuit je site. Inclusief server-side validatie en input, edit en eventueel delete queries indien in admin mode... Dus geen generiek form meer (alhoewel dat ooit nog wel de bedoeling is) maar een php-formulier-maak site.... Dit in verband met de vele keuzes die je moet maken bij het opstellen van een formulier. Als voorbeeld hiervan: opties bij een select. Hoe wil je die generiek formuleren zonder daar eerst weer een querie voor te moeten doen??

.


Acties:
  • 0 Henk 'm!

  • Eijkb
  • Registratie: Februari 2003
  • Laatst online: 09:34
Vraagje: Weet iemand websites waar ze een formulierservice aanbieden? Anders zit ik hier weer voor de kat zijn poes te typen.... (alhoewel die sites toch nooit de output hebben die je zoekt, maar vooruit).

.


Acties:
  • 0 Henk 'm!

  • RedRose
  • Registratie: Juni 2001
  • Niet online

RedRose

Icebear

Dit lijkt een goed idee.

Maar dat is het niet. :+

Ik heb zoiets ook gebouwd en je loopt tegen een hoop problemen op, met name de dingen die ACM verwoordde:

• Je moet code schrijven voor zichtbare/niet-zichtbare velden;
• Je moet voor elk veldtype andere scripting gebruiken (date/time fields,blobs,varchars etc);
• Je hebt per te genereren form een enorme hoop overhead aan code, dus je scripts worden langzamer;
• Generieke, of algemene form-generators bestaan niet, want elk form is weer anders. ;)

Dit zijn maar een aantal redenen. Het werkt toch het snelste als je werkt met een template systeem of iets dergelijks, want dan heb je ook je HTML van je script gescheiden. En als je één keer een hoop formulieren maakt, kan je altijd nog copy/pasten.

[ Voor 6% gewijzigd door RedRose op 28-05-2003 14:44 . Reden: splut ]

Sundown Circus


Acties:
  • 0 Henk 'm!

  • Rotjeknor
  • Registratie: April 2001
  • Laatst online: 01-04-2023
Om even in te haken in de discussie, ik ben zelf ook bezig met generieke code. Ik maak het echter op een iets andere manier, dat is dat ik door middel van een php file opgeef wat voor velden ik wil hebben, wat de titels van die velden zijn, en nog wat van die kleine dingen. Daarvan laat ik een php file genereren, waarin alle forms, checks en alle andere onzin netjes op dezelfde manier in staan. Vanuit deze php code kan ik verder gaan werken met specifieke dingen, bijvoorbeeld een extra check op een emailveld oid.

Op deze manier heb je je basis elke keer hetzelfde, de structuur klopt al, je hoeft alleen nog maar specifieke dingen en de layout aan te passen... Ideaal voor mezelf iig!

Ook Knor is aangestoken met het ligfietsvirus!


Acties:
  • 0 Henk 'm!

  • Eijkb
  • Registratie: Februari 2003
  • Laatst online: 09:34
Rotjeknor, dat doe ik dus eigenlijk ook. Maar dan webbased. Zie www.wijzeman.nl/newsite/beheer/users.php. Als output krijg je (tzt) een .php file met daarin alle zooi van jouw "persoonlijk gekozen" formulier. Dus niet te veel overhead. En dat php-filetje kan je dan nog gewoon editen als je wilt. Het handige is wel dat je de standaard zaken allemaal niet hoeft in te typen. Ik werk nogal eens met grote tabellen en dan is dit toch een uitkomst hoor, lijkt me. Om nu voor 30 velden een insert en een update query te gaan maken... dan wordt dit makkelijker! En je vult een andere database in en je kan die tabellen uitlezen en verformulieren :)

Rotjeknor, zou je jouw code eens willen mailen of hier pasten? Dan kan ik daar nog iets van leren/stelen/gebruiken/opsteken*

(*doorstrepen wat niet van toepassing is).

[ Voor 13% gewijzigd door Eijkb op 28-05-2003 15:02 ]

.


Acties:
  • 0 Henk 'm!

  • RedRose
  • Registratie: Juni 2001
  • Niet online

RedRose

Icebear

Wat doe je met de HTML -en CSS-properties (kleuren, fonts etc etc)? Lengtes van de velden? Datum, Tijd? En ik kan geen type=password opgeven bij het pass veld... :+

.edit: begrijp me niet verkeerd, het is een leuk begin zo. :)

[ Voor 13% gewijzigd door RedRose op 28-05-2003 15:05 ]

Sundown Circus


Acties:
  • 0 Henk 'm!

  • Eijkb
  • Registratie: Februari 2003
  • Laatst online: 09:34
:) Ik ben ook nog maar net bezig hiermee. Vandaag begonnen (met huidige script) op het werk. Dus zo nu en dan komen er nog wat andere zaken doorheen. CSS moet je achteraf implementeren. Die tabel krijgt een <div id="form"> mee. Er wordt wel gedacht aan een tabelhead en alternate row classes. Lengtes en maxlenght worden nu geimplementeerd. Hij leest die uit met show fields en geeft dus standaard waardes zolang het veld is. je kan dan de maxlength niet aanpassen, maar de size van een element wel. Datum en tijd worden ook nog gedaan als ook het type password. Dus dat had ik allemaal al op mijn ToDo lijstje staan :)

Nog meer tips? Op en aanmerkingen welkom!!

[ Voor 11% gewijzigd door Eijkb op 28-05-2003 15:12 ]

.


Acties:
  • 0 Henk 'm!

  • Rotjeknor
  • Registratie: April 2001
  • Laatst online: 01-04-2023
Mijn script is nog niet af op dit moment, heb het thuis liggen, zit nu opt werk, dus wordt lastig. Ik kan wel globaal uitleggen hoe ik het doe, misschien heb je er dan toch wat aan. Is wel even uit het hoofd, dus het kan her en der nog wel afwijken.

generator.php:
Invulvelden voor:
-filename (guestbook.php)
-h1 titel voor pagina (Gastenboek)
-tabelnaam db (jub_guestbook in mijn geval)
-(aantal) invulvelden voor:
-celnaam db (message)
-titel voor op de pagina (bericht)
-type cel (textfield)
-verplicht invullen? (ja/nee)

Deze genereert dus guestbook.php met alle overviews/ forms voor add/ edit/ remove, en bijbehorende functies/ form checks.

Ook Knor is aangestoken met het ligfietsvirus!


Acties:
  • 0 Henk 'm!

  • Eijkb
  • Registratie: Februari 2003
  • Laatst online: 09:34
Als je strakx nog de moeite zou willen nemen de code te posten of op te sturen. Ben vooral benieuwd naar je form checks :)

Eigenlijk doen we hetzelfde. Jij met een "offline" scriptje en ik webbased. Overigens hoef ik geen veldnamen in te vullen gezien je die kunt extraheren met "show fields from tabel". Je kan wel weer de omschrijving veranderen als dat iets anders moet zijn dan de veldnaam. Althans, dat is de bedoeling. Je kunt het zo gek maken als je je maar kunt bedenken. Misschien doe ik er ook nog wel client side validatie bij enzo. Maar dat staat wel helemaa achteraan op het lijstje :)

[ Voor 20% gewijzigd door Eijkb op 28-05-2003 15:16 ]

.


Acties:
  • 0 Henk 'm!

  • Rotjeknor
  • Registratie: April 2001
  • Laatst online: 01-04-2023
Eijkb schreef op 28 May 2003 @ 15:15:
Als je strakx nog de moeite zou willen nemen de code te posten of op te sturen. Ben vooral benieuwd naar je form checks :)
Zal je nog ff moeten wachten, aangezien ik pas maandag weer thuis ben... Contact me anders via icq/msn/email, dan vergeet ik het iig niet (heb dit topic al gebookmarked, maar toch) (-:
Eigenlijk doen we hetzelfde. Jij met een "offline" scriptje en ik webbased. Overigens hoef ik geen veldnamen in te vullen gezien je die kunt extraheren met "show fields from tabel". Je kan wel weer de omschrijving veranderen als dat iets anders moet zijn dan de veldnaam. Althans, dat is de bedoeling. Je kunt het zo gek maken als je je maar kunt bedenken. Misschien doe ik er ook nog wel client side validatie bij enzo. Maar dat staat wel helemaa achteraan op het lijstje :)
Precies. Hier opt werk werken we op een andere manier met generieke code, vanuit dat principe ben ik gaan denken en het ontwerp gaan maken. Hier werken we met een 'replace', dat wil zeggen dat je een generieke file hebt en een definitie file, afhankelijk van je parameters vervangt ie de variabelen in de generieke code door de definities ervan, en die schrijft ie naar een nieuwe file.

Als mijn eerste uitwerking er eenmaal is kan ik het ook gaan uitbreiden, maar dat komt nog wel... Ben al blij dat ik tegenwoordig mijn php code allemaal op dezelfde (fijne) manier schrijf, nou maar hopen dat het zo fijn blijft (-:

Ook Knor is aangestoken met het ligfietsvirus!


Acties:
  • 0 Henk 'm!

  • Eijkb
  • Registratie: Februari 2003
  • Laatst online: 09:34
Je werkt dus eigenlijk met een template file waar je het formulier in parsed? In ieder geval zal ik je er aan herinneren in de loop van volgende week. Nu probleem 8: Als een gebruiker kiest voor bijvoorbeeld een select dan moet er een textveld achter verschijnen voor verdere input. Het kan met javascript, maar dat is dus echt nergens te vinden (met uitleg althans)... maar, ben nog aan het zoeken... komt goed.

.


Acties:
  • 0 Henk 'm!

  • Eijkb
  • Registratie: Februari 2003
  • Laatst online: 09:34
Voor een probleem waar ik nu mee zit (in verband met het generieke form) kun je eens kijken op: http://gathering.tweakers...list_messages/762511/last. Het gaat om het gebruik van Javascript voor formulier dependantie binnen een php loop 8)7. Gekloot met variabelen duz....

.


Acties:
  • 0 Henk 'm!

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Eijkb schreef op 29 May 2003 @ 13:21:
Voor een probleem waar ik nu mee zit (in verband met het generieke form) kun je eens kijken op: http://gathering.tweakers...list_messages/762511/last. Het gaat om het gebruik van Javascript voor formulier dependantie binnen een php loop 8)7. Gekloot met variabelen duz....
zie mijn antwoord daar :)

Intentionally left blank


Acties:
  • 0 Henk 'm!

Verwijderd

ACM schreef op 25 May 2003 @ 12:28:
[...]

In elke serieuze database die niet mysql heet kan je dat middels een check-constraint in je database afvangen, magoed.
//Offtopic

Ik moet zeggen na deze reactie en meer in je post history plus de link in je signature, dat ik jou mentaliteit t.o.v. MySQL echt heel erg zielig vind. Volgens mij ben je vergeten dat het hier nog altijd op een gratis product gaat. Natuurlijk zijn die vreemde zaken zoals altijd een nieuwe timestamp in een veld te gooien niet optimaal maar door zulke dingen kan ik heel goed heen kijken omdat ik in het achterhoofd houd dat ik zonder MySQL geen leuke sites had kunnen bouwen.

Maar ik vind die "kritiek" dus echt ongegrond, als jij er zo ontevreden mee bent pak je toch lekker Microsoft SQL Server of iets anders wat wel aan je behoeftes voldoet, of nee, nee dat kost centjes :/.

//Edit

Als je die "kritiek" nou eens op een wat interessantere en minder flamerige manier zou verwoorden zou je misschien wat serieuzer genomen worden.

[ Voor 11% gewijzigd door Verwijderd op 29-05-2003 13:49 ]


Acties:
  • 0 Henk 'm!

  • Eijkb
  • Registratie: Februari 2003
  • Laatst online: 09:34
Geheel offtopic, maar ik kies MySQL omdat je dat bij bijna iedere hoster erbij kan nemen. Veel meer keuzes zijn er vaak niet. Uiteraard zijn er betere databases, maar het aanbod speelt hier grote parten. Overigens ben ik dik tevreden met de opties die MySQL biedt voor het geld :). Nu weer terug naar de ontwikkeling van het -ik wil een formulier- script @ www.wijzeman.nl/newsite/beheer/users.php alwaar de voortgang niet stil staat! Op- en aanmerkingen welkom! Scriptaanvragen natuurlijk ook, vooral als je aan de hand daarvan mij kan helpen/in de goede richting sturen/etc.

.


Acties:
  • 0 Henk 'm!

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Eijkb schreef op 29 May 2003 @ 14:05:
Geheel offtopic, maar ik kies MySQL omdat je dat bij bijna iedere hoster erbij kan nemen. Veel meer keuzes zijn er vaak niet. Uiteraard zijn er betere databases, maar het aanbod speelt hier grote parten. Overigens ben ik dik tevreden met de opties die MySQL biedt voor het geld :). Nu weer terug naar de ontwikkeling van het -ik wil een formulier- script @ www.wijzeman.nl/newsite/beheer/users.php alwaar de voortgang niet stil staat! Op- en aanmerkingen welkom! Scriptaanvragen natuurlijk ook, vooral als je aan de hand daarvan mij kan helpen/in de goede richting sturen/etc.
ziet er leuk uit :)
Zie overigens mijn opmerking over de gebruikte javascript in dat andere topic; dit gaat niet werken in Mozilla en Netscape!
(ik neem aan dat je er later nog nette HTML van gaat maken)

Intentionally left blank


Acties:
  • 0 Henk 'm!

  • Eijkb
  • Registratie: Februari 2003
  • Laatst online: 09:34
Tja. Nu ga ik iets heel stouts zeggen, maar ik ga geen rekening houden met andere browsers. Ik gebruik zelf MSIE (wegens compatibiliteit met mijn vieze script code:)) en daar werkt het. Mensen die later gebruikt willen maken van dit script zijn dus ook op MSIE aangewezen.

De HTML zal nog wel opgeschoond worden na alle werkzaamheden en heel, heel misschien (als ik wat beter thuis ben in Javascript enzo) zal ik het ooit nog wel browseronafhankelijk maken. Maar wat mij betreft wordt het deel van een website waarop ik zelf nieuwe sites kan distribueren(*) en daarvoor gebruik ik dus MSIE.

*Ben een framework aan het maken waarin ik makkelijk een nieuwe site kan voorbereiden. Stel dat klant zegt: 'Eijkb, maak eens dat....' dan druk ik op de knop en worden automagisch wat folders en bestanden aangemaakt die de basis leggen voor een site. Vervolgens maak ik de database in phpMyAdmin en de formulieren met het script waar het nu over gaat... Een snel begin is het halve werk :)

[ Voor 4% gewijzigd door Eijkb op 29-05-2003 14:21 ]

.


Acties:
  • 0 Henk 'm!

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Eijkb schreef op 29 May 2003 @ 14:19:
Tja. Nu ga ik iets heel stouts zeggen, maar ik ga geen rekening houden met andere browsers. Ik gebruik zelf MSIE (wegens compatibiliteit met mijn vieze script code:)) en daar werkt het. Mensen die later gebruikt willen maken van dit script zijn dus ook op MSIE aangewezen.
[...]
Suit yourself... (hoewel ik van mening ben dat het in dit geval wel erg weinig moeite zou kosten om even dat kleine dingetje wat ik heb aangegeven aan te passen).

[ Voor 41% gewijzigd door crisp op 29-05-2003 14:26 ]

Intentionally left blank


Acties:
  • 0 Henk 'm!

  • DeverauX
  • Registratie: Februari 2002
  • Niet online

DeverauX

Focus is everything

Maar ik vind die "kritiek" dus echt ongegrond, als jij er zo ontevreden mee bent pak je toch lekker Microsoft SQL Server of iets anders wat wel aan je behoeftes voldoet, of nee, nee dat kost centjes .

Als je die "kritiek" nou eens op een wat interessantere en minder flamerige manier zou verwoorden zou je misschien wat serieuzer genomen worden.
Ik denk dat jij de reden waarom ACM dit in zijn ondertitel heeft staan, en een tijdje geleden hier ook een topic over geopend heeft, een beetje verkeerd inschat.
Het is denk ik niet om MySQL nu eens lekker te gaan afkraken ofzo maar meer om mensen weer eens met beide benen op de grond te zetten en ze te laten zien dat MySQL wel degelijk enkele punten heeft die het voor sommige projecten minder interessant maakt.
MySQL wordt ook naar mijn mening namelijk een beetje overgewaardeerd, net zoals dat met PHP in het verleden weleens het geval is geweest.

Geheel Offtopic maar moest het toch even kwijt :)

...whatever was distasteful or unpleasant or uncomfortable or painful - music could always soothe that.
All you have to do is reach out to beauty.
Quincy Jones


Acties:
  • 0 Henk 'm!

  • Eijkb
  • Registratie: Februari 2003
  • Laatst online: 09:34
Suit yourself... (hoewel ik van mening ben dat het in dit geval wel erg weinig moeite zou kosten om even dat kleine dingetje wat ik heb aangegeven aan te passen).
Aha. Nou, als ik klaar ben dan weet ik je te vinden :). Overigens komt er naar alle waarschijnlijkheid ook clientside validatie in het formulier te staan wat je aanmaakt. Dus omdat dan ook weer browser vriendelijk te maken.... In eerste instantie doe ik het effe met --only MSIE compliant- vieze code. Als het werkt dan zie ik wel verder.

.


Acties:
  • 0 Henk 'm!

  • Eijkb
  • Registratie: Februari 2003
  • Laatst online: 09:34
He toch. Volgende probleem. Ik wil de output ook mooi opmaken zodat hij in editors juist weergegeven wordt. Nu gebruik ik Editplus en daar komt de output gewoon achterelkaar te staan. Ik moet dus harde returns enzo gaan meegeven, maar \n of \r of een combinatie werkt niet. Heb lopen zoeken naar rich text opmaak...maarre....niet kunnen vinden. Iemand een idee?

.


Acties:
  • 0 Henk 'm!

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Eijkb schreef op 29 May 2003 @ 15:26:
He toch. Volgende probleem. Ik wil de output ook mooi opmaken zodat hij in editors juist weergegeven wordt. Nu gebruik ik Editplus en daar komt de output gewoon achterelkaar te staan. Ik moet dus harde returns enzo gaan meegeven, maar \n of \r of een combinatie werkt niet. Heb lopen zoeken naar rich text opmaak...maarre....niet kunnen vinden. Iemand een idee?
\n werkt wel binnen dubbele quotes:
PHP:
1
echo "<html>\n<head>\n<title>bla</title>\n</head>";

je kan ook zo doen:
PHP:
1
2
3
4
echo '<html>
<head>
<title>bla</title>
</head>';

of wat ik wel eens doe:
PHP:
1
2
3
4
5
6
define ('CR', "\n");

echo '<html>'.CR.
     '<head>'.CR.
     '<title>bla</title>'.CR.
     '</head>';

Uit PHP mode springen is ook een mogelijkheid als je veel statische HTML output hebt.

[ Voor 14% gewijzigd door crisp op 29-05-2003 18:17 ]

Intentionally left blank


Acties:
  • 0 Henk 'm!

  • Eijkb
  • Registratie: Februari 2003
  • Laatst online: 09:34
Ik snap wat je bedoelt, maar het probleem ligt ergens anders. In notepad "parsed" hij die \n\r wel goed als newline, maar in bv. EditPlus of Wordpad weer niet. Dus ik ben op zoek naar hoe je bijvoorbeeld tabs, spaces en newlines weergeeft in ASCII. De ASCII tabel ken ik, maar hoe insert je een ASCII waarde in een lijn als echo "..."; Het gaat dus niet om het script maar juist om de output van het script (wat opzich zelf ook wel weer een script is...)

Volgende vraag is ook al weer opgedoken:
http://gathering.tweakers.net/forum/list_messages/763066

Tja, je komt een hoop nieuwe dingen tegen met zo'n projectje :Y)

[ Voor 37% gewijzigd door Eijkb op 29-05-2003 18:33 ]

.


Acties:
  • 0 Henk 'm!

  • Eijkb
  • Registratie: Februari 2003
  • Laatst online: 09:34
Voor mensen die het script willen proberen:
http://www.wijzeman.nl/newsite/beheer/mysql_form.phps

Installatie:
1. Bestand downen of opslaan of whatever...
2. Hernoemen naar .php
3. Config invullen (zie eerste regels script)
4. Uploaden naar browser.
5. In directory waar je het script zet de dir <forms> aanmaken en CHMOD'den
5. Aanroepen.

ToDo: validatie en het verwerken van jullie op- en aanmerkingen.

.


Acties:
  • 0 Henk 'm!

  • Eijkb
  • Registratie: Februari 2003
  • Laatst online: 09:34
Probleem 128837: De regel $to_bestand .= " <tekst> "; met daarin een regular expression. Die moet je uitquoteren he, da's nie handig. Kan ik dat oplossen met een printf() of iets dergelijks?

.


Acties:
  • 0 Henk 'm!

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Eijkb schreef op 30 mei 2003 @ 12:28:
Probleem 128837: De regel $to_bestand .= " <tekst> "; met daarin een regular expression. Die moet je uitquoteren he, da's nie handig. Kan ik dat oplossen met een printf() of iets dergelijks?
preg_quote() :)

Intentionally left blank


Acties:
  • 0 Henk 'm!

  • Eijkb
  • Registratie: Februari 2003
  • Laatst online: 09:34
Heb het nu opgelost met een addslashes("<regex>") en in het $to_bestand een stripslashes(). Het werkt:

werkende versie: http://www.wijzeman.nl/newsite/beheer/mysql_form.php
Source code: http://www.wijzeman.nl/newsite/beheer/mysql_form.phps

Nu dus met validatiekeuze: Niet leeg, geen validatie, email en integer. Incl javascriptcode enzo. Begint op iets te lijken. Jammer dat veel databases geen externe toegang verlenen anders was nu make-a-form.com een feit :)

Nu nog een controle op invoer van "exploits". We gaan php.net maar weer eens induiken :) Misschien maak ik ooit nog een script waar ik alle functies van php kan gebruiken :Y)

[ Voor 22% gewijzigd door Eijkb op 30-05-2003 12:54 ]

.


Acties:
  • 0 Henk 'm!

  • Eijkb
  • Registratie: Februari 2003
  • Laatst online: 09:34
Tja, help!!! :)

Het volgende:

Ik stuur met het formulier een hidden variabele mee met de naam $_myserver. Deze wordt gevuld met $_SERVER[HTTP_HOST]. Indien submit dat zal het ontvangende script de volgende test doen: if (!($_POST['_myserver'] == $_SERVER['HTTP_HOST'])). Hiermee moet de host van het sturende formulier dus hetzelfde zijn als de host van het ontvangende script. Als ik nu de rest van de variabelen ook uitleest met de _POST variatie en dat icm clientside en serverside validatie dan moeten de meeste exploits van formulieren toch wel zijn overwonnen??

Apart topic voor deze vraag:
http://gathering.tweakers.net/forum/list_messages/763418

offtopic:
Is het trouwens gewenst dat ik zo nu en dan 'sub' topics aanmaak? Of kan alles beter in 1 topic blijven? Het gevaar is dan dat de titel de mensen niet aanspreekt en dat de antwoorden dus uitblijven....

[ Voor 24% gewijzigd door Eijkb op 30-05-2003 16:44 ]

.


Acties:
  • 0 Henk 'm!

  • Eijkb
  • Registratie: Februari 2003
  • Laatst online: 09:34
Serverside validatie:
[php]

function ssValPost($field) { // KOMT WAARDE WEL UIT _POST??
$field = $_POST[$field];
return $field;
}

$user = ssValPost($user);

Uiteindelijk bevat de variabele $user dus de _POST waarde of niets. Klopt?

.


Acties:
  • 0 Henk 'm!

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Eijkb schreef op 30 May 2003 @ 17:50:
Serverside validatie:
[php]

function ssValPost($field) { // KOMT WAARDE WEL UIT _POST??
$field = $_POST[$field];
return $field;
}

$user = ssValPost($user);

Uiteindelijk bevat de variabele $user dus de _POST waarde of niets. Klopt?
nee, waarschijnlijk krijg je wel wat leuke notices en/of warnings :)

zoiets kan wel:

PHP:
1
2
3
4
5
6
7
8
$user = get_postvar('user');

function get_postvar($index) {

  if (isset($_POST[$index])) return $_POST[$index];
  else return '';

}

Intentionally left blank


Acties:
  • 0 Henk 'm!

Verwijderd

ACM schreef op 25 May 2003 @ 12:28:
[...]
In elke serieuze database die niet mysql heet kan je dat middels een check-constraint in je database afvangen, magoed.
Check constraint is een leuk vangnet voor als je als programmeur bent vergeten de errorhandling te bouwen of als je daar te lui voor bent.
Het design van de database is natuurlijk nooit leading in een applicatie.
Ik gebruik daarom nooit de check-constraint functies van welke rdbms dan ook omdat de code een dergelijke insert/update domweg niet toestaat.

Acties:
  • 0 Henk 'm!

  • Eijkb
  • Registratie: Februari 2003
  • Laatst online: 09:34
Hmmm... bijna klaar. Behalve een optionele class die je moet kunnen meegeven evt twee classes als men kiest voor om en om gekleurde tabelrows. Verder nog een klein stukje server side validatie en de veldsoort image.... Daar kijk ik nog een beetje tegen op gezien ook dat flexible moet zijn. Dus de gebruiker moet kunnen meegeven dat zijn images geresized worden in verhouding naar een bepaalde breedte of niet. Plus dat er evt. thumnails moeten aangemaakt worden, etc etc....

Waar ik zo onderhand een beetje gestoord van wordt is dat je een php script schrijft waarin je wel eens een } vergeet. Maar het php script heeft als output weer een php script, dus als je in de output een } vergeet dan 8)7.... Als je begrijpt wat ik bedoel..... Ik zie door de }-jes het geneste statement niet meer.
Door de }-jes de structuur niet meer zien...
werkende versie: http://www.wijzeman.nl/newsite/beheer/mysql_form.php
Source code: http://www.wijzeman.nl/newsite/beheer/mysql_form.phps

Op- en aanmerkingen van harte welkom! Ook kritiek op mijn coding enzo. Eventuele optimalisaties worden beloond (met een schouderklopje en evt vermelding).

.


Acties:
  • 0 Henk 'm!

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Eijkb schreef op 31 May 2003 @ 16:32:
[...]
Op- en aanmerkingen van harte welkom! Ook kritiek op mijn coding enzo. Eventuele optimalisaties worden beloond (met een schouderklopje en evt vermelding).
ja! :)
Zet bovenin je script even error_reporting(E_ALL); en zet register_globals op OFF >:) ;)

Intentionally left blank


Acties:
  • 0 Henk 'm!

  • Eijkb
  • Registratie: Februari 2003
  • Laatst online: 09:34
Dat durf ik niet :)

Hij begint met undefined variable's.... Dat maakt toch niet uit bij PHP? Of is het veiliger om dat wel te doen?

[ Voor 76% gewijzigd door Eijkb op 01-06-2003 10:03 ]

.


Acties:
  • 0 Henk 'm!

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

Eijkb schreef op 01 juni 2003 @ 10:01:
Dat durf ik niet :)

Hij begint met undefined variable's.... Dat maakt toch niet uit bij PHP? Of is het veiliger om dat wel te doen?
je code wordt er wel sneller op volgens mij, daarnaast is het gewoon aan te raden om altijd alle vars te definen om zo te zorgen dat je altijd weet of ze bestaan en wat er in zit ;)

Acties:
  • 0 Henk 'm!

  • Eijkb
  • Registratie: Februari 2003
  • Laatst online: 09:34
Maar hoe define je een var dan? Door var <varnaam>; of door er een waarde aan toe te kennen? Kan niets vinden in docu.

.


Acties:
  • 0 Henk 'm!

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

Eijkb schreef op 01 June 2003 @ 17:11:
Maar hoe define je een var dan? Door var <varnaam>; of door er een waarde aan toe te kennen? Kan niets vinden in docu.
waarde aan toekennen doe ik altijd, en bij array's een lege array like $lijstje = array();

Acties:
  • 0 Henk 'm!

Verwijderd

ik ben er nu ook mee bezig en heb een topicje op f0k gezet :D -> spam <- als iemand dus ideeen en of suggesties heeft! ;)

[ Voor 25% gewijzigd door whoami op 01-06-2003 21:49 ]


Acties:
  • 0 Henk 'm!

  • Eijkb
  • Registratie: Februari 2003
  • Laatst online: 09:34
Hoe ga jij het aanpakken? Kun je die link eens mailen naar mij? Email in profiel.

.:modbreak:.
Kappen met die onzin. 't Is hier geen script-uitwisselboard!

[ Voor 51% gewijzigd door drm op 02-06-2003 11:10 ]

.


Acties:
  • 0 Henk 'm!

  • Eijkb
  • Registratie: Februari 2003
  • Laatst online: 09:34
Nieuwe versie staat online: http://www.wijzeman.nl/newsite/_cms/index.php en inloggen als Eijkb / cmspass.... Verder kan je eventueel zelf users aanmaken. Bekende bug: soms blijven er variabelen hangen door de gebruikte url en werkt het allemaal niet zoals het moet. Nog aan bezig. Oja, kiezen voor optie MySQL -> form. De rest werkt toch nog niet.

[ Voor 11% gewijzigd door Eijkb op 02-06-2003 22:37 ]

.


Acties:
  • 0 Henk 'm!

  • baZzz.com
  • Registratie: September 2002
  • Laatst online: 23-08 11:41
Hmmm, ik lees dit topic zojuist voor het eerst en ik moet zeggen dat ik het erg interessant vind. Het deed me denken aan een script dat ik een paar weken heb gedownload genaamd MySQL Formmaker. Ik heb dit script zojuist voor het eerst geprobeerd en het heeft wel iets weg van wat je hier probeert te doen. Met MySQL Formmaker kun je nl. databases met tabellen en velden aanmaken (vergelijkbaar als in PHPMyAdmin), maar wordt er daarnaast ook een setje bestanden aangemaakt waarmee je de inhoudt kunt bekijken en waarmee je de inhoud kunt aanpassen. Wat jij aan het doen bent is uitgebreider, maar voor sommige doeleinden kan dit ook voldoende zijn. Ik vermeld het hier dan ook even, omdat ik denk dat de tweakers die in dit topic geinteresseerd zijn, dit script ook wel eens interessant zouden kunnen vinden.

Ik heb het zojuist getest en een soort van gastenboek tabelletje aangemaakt. De output files die hierbij werden gegenereerd zijn hier te vinden:
http://betaminds.nl/testdb/ &
http://betaminds.nl/testdb/admin/

Wil je met het script spelen dan kan dat hier:
http://betaminds.nl/formmaker/ (Maak hier a.j.b. geen misbruik van. Waarschijnlijk dat ik deze directory over een paar dagen dicht gooi.)

Ik hoop hier iemand mee van dienst te zijn geweest en wellicht dat het iemand weer verder helpt.

(P.S. Voor het script moet je eigenlijk rechten hebben om nieuwe databases op de server aan te mogen maken. De meeste mensen zullen dit wel niet hebben. (Ik i.i.g. niet direct.) Dit is echter geen groot probleem voor het gebruik van het script, aangezien er ook een .sql file wordt aangemaakt waarmee je de benodigde tabellen gemakkelijk zelf aanmaakt. Vervolgens hoef je maar 1 waarde in de gegenereerde scripts aan te passen en klaar!)

-vliegen is jezelf op de grond werpen en missen-


Acties:
  • 0 Henk 'm!

  • Eijkb
  • Registratie: Februari 2003
  • Laatst online: 09:34
Ik ben alvorens te gaan progammeren eerst op inet gaan zoeken naar een soortgelijk script. Alleen geen gevonden die kon wat ik wou. Bovenstaand script echter niet gezien. Ziet er wel leuk uit inderdaad. Neemt niet weg dat mijn scriptje toch beter voldoet aan mijn wensen gezien het als output een <form>.php heeft waarin alles voorhande is op de manier welke jij gekozen hebt. Tot en met serverside en clientside validatie aan toe. Beetje aanpassen en je hebt een werkbaar formulier om te includen of aan te roepen in je site :)

Ben overigens nog niet klaar. Komt toch meer bij kijken dan dat je van te voren in kan schatten. En ben weer eens te snel begonnen, gezien ik nu aan het knoeien ben met de structuur, welke natuurlijk in het begin al op papier had moeten staan 8)7

Nog eens de site bekeken van de maker van dat script en dat ziet er toch wel goed uit. Hij mist alleen de validatie regels.... Hmmm.

.


Acties:
  • 0 Henk 'm!

  • Eijkb
  • Registratie: Februari 2003
  • Laatst online: 09:34
Momenteel de hele boel aan het herontwikkelen omdat het een zooitje werd. Zoals gewoonlijk :) Daarnaast zijn er nog wat klussen tussendoor gekomen en kan het evt. een tijdje duren...

.


Acties:
  • 0 Henk 'm!

  • itsme
  • Registratie: Februari 2000
  • Niet online
Eijkb schreef op 04 juni 2003 @ 09:18:
Momenteel de hele boel aan het herontwikkelen omdat het een zooitje werd. Zoals gewoonlijk :) Daarnaast zijn er nog wat klussen tussendoor gekomen en kan het evt. een tijdje duren...
Ik ben heel benieuwd naar de volgende versie van het script want ik vind het er nu al best goed uit zien :)

Wat ik wel mis het het kunnen instellen van een default value. Bij bijvoorbeeld een hidden field is dat namelijk bijna een must.
Ook mis ik de mogelijkheid om in een selectie lijst waarden en beschrijving anders te laten zijn. Helemaal mooi zou dan ook zijn om te kunnen aangeven uit de lijst welke van de waarde de default waarde moet zijn.

Nothing to see here


Acties:
  • 0 Henk 'm!

  • Eijkb
  • Registratie: Februari 2003
  • Laatst online: 09:34
Kijk, aan dit soort reacties heb ik iets. Geweldig. Dank. Ik ga dit zeker meenemen. Die default waarde is een must idd. Waarden en beschrijving anders kan, maar dan komt er een extra invulvak bij. Ach, default kun je dat gewoon leeg laten. Hoe je in een lijstje aangeeft welke de dafault is...hmmm, aangezien ieder vak zoizo een invulmogelijkheid krijgt voor een eventuele default waarde kun je dat ook hier gebruiken... Thx!

Op- en aanmerkingen en evt wensen uiteraard van harte welkom. Ben nu dus effe bezig met andere zaken (waarvoor ik het script al deels gebruik :)) maar zal indien zin en tijd dit tussendoor ook nog verwerken. Was in ieder geval bezig met opschoning code en structureren van code zodat het allemaal wat stuurbaarder is.

.

Pagina: 1