Probleem met classes in Enquete formulier.
Ik ben nieuw hier op het forum en ben sinds kort bezig met php. Ik heb van school een opdracht gekregen om een enquête formulier te maken en deze data weg te schrijven in een database. Ik heb het werkend gekregen maar op een omslachtige manier. Ik wil het script nu zo gaan schrijven dat er een class wordt gebruikt om alle antwoorden van het html formulier uit te lezen.
Als test en voor de duidelijkheid in de werkende situatie(omslachtig) en de niet werkende versie heb ik alleen bij de eerste vraag gebruik gemaakt van de class en lees ik de andere 3 vragen uit op de oude manier.
Het precieze probleem is nu dat ik de class niet werkende kan krijgen en gewoon een witte pagina krijg. Hij redirect wel naar het insert_data_DB.php pagina.
Ik hoop dat iemand mij uit de brand kan helpen.
Alvast bedankt!
Groet,
Tom
De files:
De vragenlijst:
Code (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
37
38
39
40
41
42
43
44
45
46
47
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
<h2>De vragenlijst</h2>
<h3>1a In onze organisatie / bedrijf zien wij mogelijkheden voor het aannemen van mensen met arbeidsbeperking</h3>
<form action="insert_data_DB.php" method="get">
<label for="ja">Ja</label>
<input type="radio" name="mogelijkheden" id="ja" value="ja"/>
<label for="nee">Nee</label>
<input type="radio" name="mogelijkheden" id="nee" value="nee"/>
<label for="weetniet">Weet niet/geen antwoord</label>
<input type="radio" name="mogelijkheden" id="weetniet" value="weet niet"/>
<h3>1b In onze organisatie zijn er een of meer openstaande vacatures die ingevuld zouden kunnen worden door iemand met een arbeidsbeperking</h3>
<label for="ja">Ja</label>
<input type="radio" name="vacatures" id="ja" value="ja"/>
<label for="nee">Nee</label>
<input type="radio" name="vacatures" id="nee" value="nee"/>
<label for="weetniet">Weet niet/geen antwoord</label>
<input type="radio" name="vacatures" id="weetniet" value="weet niet"/>
<h3>2. In oze organisatie / bedrijf zijn op dit moment mensen met een arbeidsbeperking actief.</h3>
<label for="ja">Ja</label>
<input type="radio" name="mensenactief" id="ja" value="ja"/>
<label for="nee">Nee</label>
<input type="radio" name="mensenactief" id="nee" value="nee"/>
<h3> Wilt u bij de volgende vragen aangeven in hoeverre deze factoren een rol hebben gespeeld bij het aannemen van medewerkers met een arbeidsbeperking?</h3>
<h3>3a. Sociale overwegingen(vorbeeld: de werknemer met arbeidsbeperking een kans willen geven)</h3>
<label for="zeerbelangrijk">Zeer belangrijk</label>
<input type="radio" name="socialeoverwegingen" id="zeerbelangrijk" value="Zeer belangrijk"/>
<label for="belangrijk">Belangrijk</label>
<input type="radio" name="socialeoverwegingen" id="belangrijk" value="Belangrijk"/>
<label for="neutraal">Neutraal</label>
<input type="radio" name="socialeoverwegingen" id="neutraal" value="Neutraal"/>
<label for="onbelangrijk">Onbelangrijk</label>
<input type="radio" name="socialeoverwegingen" id="onbelangrijk" value="Onbelangrijk"/>
<label for="zeeronbelangrijk">Zeer onbelangrijk</label>
<input type="radio" name="socialeoverwegingen" id="zeeronbelangrijk" value="Zeer onbelangrijk"/>
<label for="nietvantoepassing">Niet van toepassing</label>
<input type="radio" name="socialeoverwegingen" id="nietvantoepassing" value="Niet van toepassing"/>
<input type="submit" name="verzenden" value="Verzenden"/>
</form>
<h3>1a In onze organisatie / bedrijf zien wij mogelijkheden voor het aannemen van mensen met arbeidsbeperking</h3>
<form action="insert_data_DB.php" method="get">
<label for="ja">Ja</label>
<input type="radio" name="mogelijkheden" id="ja" value="ja"/>
<label for="nee">Nee</label>
<input type="radio" name="mogelijkheden" id="nee" value="nee"/>
<label for="weetniet">Weet niet/geen antwoord</label>
<input type="radio" name="mogelijkheden" id="weetniet" value="weet niet"/>
<h3>1b In onze organisatie zijn er een of meer openstaande vacatures die ingevuld zouden kunnen worden door iemand met een arbeidsbeperking</h3>
<label for="ja">Ja</label>
<input type="radio" name="vacatures" id="ja" value="ja"/>
<label for="nee">Nee</label>
<input type="radio" name="vacatures" id="nee" value="nee"/>
<label for="weetniet">Weet niet/geen antwoord</label>
<input type="radio" name="vacatures" id="weetniet" value="weet niet"/>
<h3>2. In oze organisatie / bedrijf zijn op dit moment mensen met een arbeidsbeperking actief.</h3>
<label for="ja">Ja</label>
<input type="radio" name="mensenactief" id="ja" value="ja"/>
<label for="nee">Nee</label>
<input type="radio" name="mensenactief" id="nee" value="nee"/>
<h3> Wilt u bij de volgende vragen aangeven in hoeverre deze factoren een rol hebben gespeeld bij het aannemen van medewerkers met een arbeidsbeperking?</h3>
<h3>3a. Sociale overwegingen(vorbeeld: de werknemer met arbeidsbeperking een kans willen geven)</h3>
<label for="zeerbelangrijk">Zeer belangrijk</label>
<input type="radio" name="socialeoverwegingen" id="zeerbelangrijk" value="Zeer belangrijk"/>
<label for="belangrijk">Belangrijk</label>
<input type="radio" name="socialeoverwegingen" id="belangrijk" value="Belangrijk"/>
<label for="neutraal">Neutraal</label>
<input type="radio" name="socialeoverwegingen" id="neutraal" value="Neutraal"/>
<label for="onbelangrijk">Onbelangrijk</label>
<input type="radio" name="socialeoverwegingen" id="onbelangrijk" value="Onbelangrijk"/>
<label for="zeeronbelangrijk">Zeer onbelangrijk</label>
<input type="radio" name="socialeoverwegingen" id="zeeronbelangrijk" value="Zeer onbelangrijk"/>
<label for="nietvantoepassing">Niet van toepassing</label>
<input type="radio" name="socialeoverwegingen" id="nietvantoepassing" value="Niet van toepassing"/>
<input type="submit" name="verzenden" value="Verzenden"/>
</form>
Het script achter het formulier:
Code (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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
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
<?php
require 'connect.php';
class FormRadioUitlezen{
public $name;
public function __construct($name){
$this->name = $name;
}
public function {
if (!empty($_GET[$name])){
return $_GET[$name];
}
}
}
if (isset($_GET['verzenden'])){
$antwoord1a = new FormRadioUitlezen('mogelijkheden');
if (!empty($_GET['vacatures'])){
$vacaturesAntwoord = $_GET['vacatures'];
}else{
echo 'vraag 1b is een verplichte vraag!';
}
if (!empty($_GET['mensenactief'])){
$mensenactiefAntwoord = $_GET['mensenactief'];
}else{
echo 'Vraag 2b is een verplichte vraag!';
}
if (!empty($_GET['socialeoverwegingen'])){
$socialeoverwegingenAntwoord = $_GET['socialeoverwegingen'];
}else{
echo 'Vraag 3a is een verplichte vraag!';
}
}
$sql = "INSERT INTO antwoorden (antwoord1a, antwoord1b, antwoord2, antwoord3a) VALUES ( '$antwoord1a', '$vacaturesAntwoord', '$mensenactiefAntwoord', '$socialeoverwegingenAntwoord')";
if ($conn->query($sql) === TRUE) {
echo "De antwoorden zijn opgeslagen!";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
?>
require 'connect.php';
class FormRadioUitlezen{
public $name;
public function __construct($name){
$this->name = $name;
}
public function {
if (!empty($_GET[$name])){
return $_GET[$name];
}
}
}
if (isset($_GET['verzenden'])){
$antwoord1a = new FormRadioUitlezen('mogelijkheden');
if (!empty($_GET['vacatures'])){
$vacaturesAntwoord = $_GET['vacatures'];
}else{
echo 'vraag 1b is een verplichte vraag!';
}
if (!empty($_GET['mensenactief'])){
$mensenactiefAntwoord = $_GET['mensenactief'];
}else{
echo 'Vraag 2b is een verplichte vraag!';
}
if (!empty($_GET['socialeoverwegingen'])){
$socialeoverwegingenAntwoord = $_GET['socialeoverwegingen'];
}else{
echo 'Vraag 3a is een verplichte vraag!';
}
}
$sql = "INSERT INTO antwoorden (antwoord1a, antwoord1b, antwoord2, antwoord3a) VALUES ( '$antwoord1a', '$vacaturesAntwoord', '$mensenactiefAntwoord', '$socialeoverwegingenAntwoord')";
if ($conn->query($sql) === TRUE) {
echo "De antwoorden zijn opgeslagen!";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
?>
Ward:
HTML ingekort en [code][/code]-tags toegevoegd.
Gewijzigd op 05/10/2016 12:14:16 door Ward van der Put
Ik heb het aangepast. Helaas werkt het dan nog steeds niet. Ik krijg nog steeds een witte pagina zonder dag de data weggeschreven wordt en de database.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
class FormRadioUitlezen {
public function controle($get,$vraag) {
if ($_GET[$get]) {
return $_GET[$get];
} else {
return '!vraag ' . $vraag . ' is verplicht';
}
}
}
$obj = new FormRadioUitlezen();
echo 'mogelijkheden : ' . $obj->controle('mogelijkheden','1a') . '<br />';
echo 'vacatures : ' . $obj->controle('vacatures','1b') . '<br />';
echo 'mensenactief : ' . $obj->controle('mensenactief','2b') . '<br />';
echo 'socialeoverwegingen : ' . $obj->controle('socialeoverwegingen','3a') . '<br />';
?>
class FormRadioUitlezen {
public function controle($get,$vraag) {
if ($_GET[$get]) {
return $_GET[$get];
} else {
return '!vraag ' . $vraag . ' is verplicht';
}
}
}
$obj = new FormRadioUitlezen();
echo 'mogelijkheden : ' . $obj->controle('mogelijkheden','1a') . '<br />';
echo 'vacatures : ' . $obj->controle('vacatures','1b') . '<br />';
echo 'mensenactief : ' . $obj->controle('mensenactief','2b') . '<br />';
echo 'socialeoverwegingen : ' . $obj->controle('socialeoverwegingen','3a') . '<br />';
?>
Als je het in een php bestand plakt, kan je het zien met een dergelijke url :
http://controle.php?mogelijkheden=weinig&vacatures=geen
Je kan ook aan de meester vragen hoe het moet. Wat het meest voor de hand ligt, tenzij het onderwijs daarin niet voorziet. Of zelfs overleggen met medecursisten.
Ik zou de class FormRadioUitlezen uitsplitsen. Je krijgt een beter objectgeoriënteerd ontwerp als je dingen die iets zijn scheidt van dingen die iets doen. Dat kan al heel eenvoudig door er bijvoorbeeld een class FormRadio met een methode read() van te maken.
Code (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
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
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
<?php
class FormRadioUitlezen {
public function controle(&$variabele,$get) {
if ( isset( $_GET[$get] ) && $_GET[$get] <> "" ) {
$variabele = $_GET[$get];
return TRUE;
} else {
$variabele = '';
return FALSE;
}
}
}
$error = '';
$goed = '';
$obj = new FormRadioUitlezen();
if ( $obj->controle($mogelijkheden,'mogelijkheden') === FALSE) {
$error .= 'mogelijkheden is fout<br />';
} else {
$goed .= 'mogelijkheden is goed<br />';
}
if ( $obj->controle($vacatures,'vacatures') === FALSE) {
$error .= 'vacatures is fout<br />';
} else {
$goed .= 'vacatures is goed<br />';
}
if ( $obj->controle($mensenactief,'mensenactief') === FALSE) {
$error .= 'mensenactief is fout<br />';
} else {
$goed .= 'mensenactief is goed<br />';
}
if ( $obj->controle($socialeoverwegingen,'socialeoverwegingen') === FALSE) {
$error .= 'socialeoverwegingen is fout<br />';
} else {
$goed .= 'socialeoverwegingen is goed<br />';
}
echo '<h3>Wat is er ingevoerd</h3>';
echo 'mogelijkheden => ' . $mogelijkheden . '<br />';
echo 'vacatures => ' . $vacatures . '<br />';
echo 'mensenactief => ' . $mensenactief . '<br />';
echo 'socialeoverwegingen => ' . $socialeoverwegingen . '<br />';
echo '<h3>Wat is fout</h3>';
echo $error;
echo '<h3>Wat is goed</h3>';
echo $goed;
echo '<h3>Toevoegen aan database of niet</h3>';
if ($error) {
echo 'niet toevoegen aan database<br />';
} else {
echo 'toevoegen aan database<br />';
}
?>
class FormRadioUitlezen {
public function controle(&$variabele,$get) {
if ( isset( $_GET[$get] ) && $_GET[$get] <> "" ) {
$variabele = $_GET[$get];
return TRUE;
} else {
$variabele = '';
return FALSE;
}
}
}
$error = '';
$goed = '';
$obj = new FormRadioUitlezen();
if ( $obj->controle($mogelijkheden,'mogelijkheden') === FALSE) {
$error .= 'mogelijkheden is fout<br />';
} else {
$goed .= 'mogelijkheden is goed<br />';
}
if ( $obj->controle($vacatures,'vacatures') === FALSE) {
$error .= 'vacatures is fout<br />';
} else {
$goed .= 'vacatures is goed<br />';
}
if ( $obj->controle($mensenactief,'mensenactief') === FALSE) {
$error .= 'mensenactief is fout<br />';
} else {
$goed .= 'mensenactief is goed<br />';
}
if ( $obj->controle($socialeoverwegingen,'socialeoverwegingen') === FALSE) {
$error .= 'socialeoverwegingen is fout<br />';
} else {
$goed .= 'socialeoverwegingen is goed<br />';
}
echo '<h3>Wat is er ingevoerd</h3>';
echo 'mogelijkheden => ' . $mogelijkheden . '<br />';
echo 'vacatures => ' . $vacatures . '<br />';
echo 'mensenactief => ' . $mensenactief . '<br />';
echo 'socialeoverwegingen => ' . $socialeoverwegingen . '<br />';
echo '<h3>Wat is fout</h3>';
echo $error;
echo '<h3>Wat is goed</h3>';
echo $goed;
echo '<h3>Toevoegen aan database of niet</h3>';
if ($error) {
echo 'niet toevoegen aan database<br />';
} else {
echo 'toevoegen aan database<br />';
}
?>