-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathform-builder.php
More file actions
117 lines (89 loc) · 2.6 KB
/
form-builder.php
File metadata and controls
117 lines (89 loc) · 2.6 KB
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
<?php
//Form-------------------
function createForm ( $structure ) {
$label = '';
$input = '';
foreach ( $structure as $key => $arrayNotUsed ) {
if ( isset ( $structure [$key]['labelText'] ) && isset ( $structure [$key]['labelPos'] ) ) { //LABEL
$label = '<label for="' . $structure [$key]['input']['id'] . '">' . $structure [$key]['labelText'] . '</label>';
$structure [$key]['labelPos'] = strtolower ( $structure [$key]['labelPos'] );
if ( $structure [$key]['labelPos'] === 'start' ) { $input .= $label; }
}
$input .= '<input '; //INPUT
foreach ( $structure[$key]['input'] as $attribute => $value ) {
$input .= $attribute . '="' . $value . '" ';
}
$input .= ' /> ';
if ( isset ( $structure [$key]['labelPos'] ) ) { //LABEL END
if ( $structure [$key]['labelPos'] === 'end' ) { $input .= $label; }
}
if ( isset ( $structure [$key]['br'] ) ) { $input .= $structure [$key]['br']; } //BR
}
return $input;
}
//Structure---------------
$formStructureArray = array (
'name' => array (
'labelText' => 'Name: ',
'labelPos' => 'start',
'input' => array (
'type' => 'text',
'id' => 'name',
'name' => 'user[name]',
'value' => '',
'placeholder' => 'Name (Without numbers)',
'required' => ''
),
'br' => '<br/><br/>'
),
'male' => array (
'labelText' => 'Male',
'labelPos' => 'end',
'input' => array (
'type' => 'radio',
'id' => 'male',
'name' => 'user[gender]',
'value' => 'male',
'required' => ''
),
),
'female' => array (
'labelText' => 'Female',
'labelPos' => 'end',
'input' => array (
'type' => 'radio',
'id' => 'female',
'name' => 'user[gender]',
'value' => 'female',
'required' => ''
),
'br' => '<br/><br/>'
),
'age' => array (
'labelText' => 'Age: ',
'labelPos' => 'start',
'input' => array (
'type' => 'number',
'id' => 'age',
'name' => 'user[age]',
'value' => '',
'placeholder' => 'Age',
'min' => '0',
'required' => ''
),
'br' => '<br/><br/>'
),
'email' => array (
'labelText' => 'Email: ',
'labelPos' => 'start',
'input' => array (
'type' => 'email',
'id' => 'email',
'name' => 'user[email]',
'value' => '',
'placeholder' => 'Email',
'required'
)
)
);
echo createForm($formStructureArray);