Problemen met het submiten van mijn eerste formulier
Notice: Undefined variable: _post in C:\xampp\htdocs\HR\scripts\maak_account.php on line 10
Notice: Undefined variable: _post in C:\xampp\htdocs\HR\scripts\maak_account.php on line 11
Notice: Undefined variable: _post in C:\xampp\htdocs\HR\scripts\maak_account.php on line 12
Notice: Undefined variable: _post in C:\xampp\htdocs\HR\scripts\maak_account.php on line 13
Notice: Undefined variable: _post in C:\xampp\htdocs\HR\scripts\maak_account.php on line 14
Notice: Undefined variable: _post in C:\xampp\htdocs\HR\scripts\maak_account.php on line 15
Notice: Undefined variable: _post in C:\xampp\htdocs\HR\scripts\maak_account.php on line 16
Notice: Undefined variable: _post in C:\xampp\htdocs\HR\scripts\maak_account.php on line 17
Notice: Undefined variable: _post in C:\xampp\htdocs\HR\scripts\maak_account.php on line 18
Notice: Undefined variable: _post in C:\xampp\htdocs\HR\scripts\maak_account.php on line 19
Notice: Undefined variable: _post in C:\xampp\htdocs\HR\scripts\maak_account.php on line 22
Notice: Undefined variable: _post in C:\xampp\htdocs\HR\scripts\maak_account.php on line 23
Notice: Undefined variable: _post in C:\xampp\htdocs\HR\scripts\maak_account.php on line 24
Notice: Undefined variable: _post in C:\xampp\htdocs\HR\scripts\maak_account.php on line 25
Dit is mijn HTML code:
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
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
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
<!DOCTYPE html>
<html>
<head>
<?php include 'inc/head.php';?>
<link href="style/account.css" rel="stylesheet"/>
</head>
<body id="body-achtergrond">
<header class="container-fluid">
<h1>KMO-ADM</h1>
</header>
<nav class="container-fluid">
<?php include 'inc/navbar.php';?>
</nav>
<div class="container">
<div class="row">
<form action="scripts/maak_account.php" method="post">
<div class="col-md-4 col-md-offset-1">
<h2 id="titel">Gegevens bedrijf</h2>
<fieldset>
<div class="form-group">
<label for="rechtsvorm">Rechtsvorm:</label>
<select class="form-control" placeholer="Rechtsvorm" name="rechtsvorm">
<option>Eenmanszaak</option>
<option>VOF</option>
<option>BVBA</option>
<option>NV</option>
</select>
</div>
<div class="form-group">
<label for="naam">* Naam:</label>
<input class="form-control" placeholder="Naam" name="naam" type="text">
</div>
<div class="form-group">
<label for="straat">* Straat:</label>
<input class="form-control" placeholder="Straat" name="straat" type="text">
</div>
<div class="form-group">
<label for="huisnr">* Huis nummer:</label>
<input class="form-control" placeholder="Huis nummer" name="huisnr" type="text">
</div>
<div class="form-group">
<label for="busnr">Bus nummer:</label>
<input class="form-control" placeholder="Bus nummer" name="busnr" type="text">
</div>
<div class="form-group">
<label for="postcode">* Postcode:</label>
<input class="form-control" placeholder="Postcode" name="postcode" type="text">
</div>
<div class="form-group">
<label for="plaats">* Plaats:</label>
<input class="form-control" placeholder="Plaats" name="plaats" type="text">
</div>
<div class="form-group">
<label for="btwnr">* BTW nummer:</label>
<input class="form-control" placeholder="BTW nummer" name="btwnr" type="text">
</div>
<div class="form-group">
<label for="tel">Telefoon nummer:</label>
<input class="form-control" placeholder="Telefoon nummer" name="tel" type="text">
</div>
<div class="form-group">
<label for="email">* E-mail:</label>
<input class="form-control" placeholder="E-mail" name="email" type="text">
</div>
</fieldset>
</div>
<div class="col-md-4 col-md-offset-2">
<h2 id="titel">Gegevens gebruiker</h2>
<fieldset>
<div class="form-group">
<label for="vnaam">* Voornaam:</label>
<input class="form-control" placeholder="Voornaam" name="vnaam" type="text">
</div>
<div class="form-group">
<label for="naam">* Achternaam:</label>
<input class="form-control" placeholder="Achternaam" name="naam" type="text">
</div>
<div class="form-group">
<label for="functie">Functie:</label>
<input class="form-control" placeholder="Functie" name="functie" type="text">
</div>
<div class="form-group">
<label for="email">* E-mail:</label>
<input class="form-control" placeholder="E-mail" name="email" type="text">
</div>
<div class="form-group">
<label for="wachtwoord">* Wachtwoord:</label>
<input class="form-control" placeholder="Wachtwoord" name="wachtwoord" type="password">
</div>
<div class="form-group">
<label for="wachtwoord">* Bevestig wachtwoord:</label>
<input class="form-control" placeholder="Wachtwoord" name="wachtwoord" type="password">
</div>
</fieldset>
</div>
</div>
<div id="maak-account">
<input class="btn btn-success btn-lg" type="submit" value="Maak account">
</div>
</form>
</div>
</div>
<footer class="container-fluid">
<?php include 'inc/footer.php';?>
</footer>
</body>
</html>
<html>
<head>
<?php include 'inc/head.php';?>
<link href="style/account.css" rel="stylesheet"/>
</head>
<body id="body-achtergrond">
<header class="container-fluid">
<h1>KMO-ADM</h1>
</header>
<nav class="container-fluid">
<?php include 'inc/navbar.php';?>
</nav>
<div class="container">
<div class="row">
<form action="scripts/maak_account.php" method="post">
<div class="col-md-4 col-md-offset-1">
<h2 id="titel">Gegevens bedrijf</h2>
<fieldset>
<div class="form-group">
<label for="rechtsvorm">Rechtsvorm:</label>
<select class="form-control" placeholer="Rechtsvorm" name="rechtsvorm">
<option>Eenmanszaak</option>
<option>VOF</option>
<option>BVBA</option>
<option>NV</option>
</select>
</div>
<div class="form-group">
<label for="naam">* Naam:</label>
<input class="form-control" placeholder="Naam" name="naam" type="text">
</div>
<div class="form-group">
<label for="straat">* Straat:</label>
<input class="form-control" placeholder="Straat" name="straat" type="text">
</div>
<div class="form-group">
<label for="huisnr">* Huis nummer:</label>
<input class="form-control" placeholder="Huis nummer" name="huisnr" type="text">
</div>
<div class="form-group">
<label for="busnr">Bus nummer:</label>
<input class="form-control" placeholder="Bus nummer" name="busnr" type="text">
</div>
<div class="form-group">
<label for="postcode">* Postcode:</label>
<input class="form-control" placeholder="Postcode" name="postcode" type="text">
</div>
<div class="form-group">
<label for="plaats">* Plaats:</label>
<input class="form-control" placeholder="Plaats" name="plaats" type="text">
</div>
<div class="form-group">
<label for="btwnr">* BTW nummer:</label>
<input class="form-control" placeholder="BTW nummer" name="btwnr" type="text">
</div>
<div class="form-group">
<label for="tel">Telefoon nummer:</label>
<input class="form-control" placeholder="Telefoon nummer" name="tel" type="text">
</div>
<div class="form-group">
<label for="email">* E-mail:</label>
<input class="form-control" placeholder="E-mail" name="email" type="text">
</div>
</fieldset>
</div>
<div class="col-md-4 col-md-offset-2">
<h2 id="titel">Gegevens gebruiker</h2>
<fieldset>
<div class="form-group">
<label for="vnaam">* Voornaam:</label>
<input class="form-control" placeholder="Voornaam" name="vnaam" type="text">
</div>
<div class="form-group">
<label for="naam">* Achternaam:</label>
<input class="form-control" placeholder="Achternaam" name="naam" type="text">
</div>
<div class="form-group">
<label for="functie">Functie:</label>
<input class="form-control" placeholder="Functie" name="functie" type="text">
</div>
<div class="form-group">
<label for="email">* E-mail:</label>
<input class="form-control" placeholder="E-mail" name="email" type="text">
</div>
<div class="form-group">
<label for="wachtwoord">* Wachtwoord:</label>
<input class="form-control" placeholder="Wachtwoord" name="wachtwoord" type="password">
</div>
<div class="form-group">
<label for="wachtwoord">* Bevestig wachtwoord:</label>
<input class="form-control" placeholder="Wachtwoord" name="wachtwoord" type="password">
</div>
</fieldset>
</div>
</div>
<div id="maak-account">
<input class="btn btn-success btn-lg" type="submit" value="Maak account">
</div>
</form>
</div>
</div>
<footer class="container-fluid">
<?php include 'inc/footer.php';?>
</footer>
</body>
</html>
Dit is mijn php code:
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
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
<?php
// Variabele gegevens bedrijf
$rechtsvorm = $naam = $straat = $huisnr = $busnr = $postcode = $plaats = $btwnr = $telnr = $email = "";
// Variabele gegevens gebruiker
$voornaam = $achternaam = $functie = $wachtwoord = "";
if ($_SERVER["REQUEST_METHOD"] == "POST") {
// Gegevens bedrijf
$rechtsvorm = test_input($_post["rechtsvorm"]);
$naam = test_input($_post["naam"]);
$straat = test_input($_post["straat"]);
$huisnr = test_input($_post["huisnr"]);
$busnr = test_input($_post["busnr"]);
$postcode = test_input($_post["postcode"]);
$plaats = test_input($_post["plaats"]);
$btwnr = test_input($_post["btwnr"]);
$telnr = test_input($_post["telnr"]);
$email = test_input($_post["email"]);
// Gegevens gebruiker
$voornaam = test_input($_post["vnaam"]);
$achternaam = test_input($_post["naam"]);
$functie = test_input($_post["functie"]);
$wachtwoord = test_input($_post["wachtwoord"]);
}
function test_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
?>
// Variabele gegevens bedrijf
$rechtsvorm = $naam = $straat = $huisnr = $busnr = $postcode = $plaats = $btwnr = $telnr = $email = "";
// Variabele gegevens gebruiker
$voornaam = $achternaam = $functie = $wachtwoord = "";
if ($_SERVER["REQUEST_METHOD"] == "POST") {
// Gegevens bedrijf
$rechtsvorm = test_input($_post["rechtsvorm"]);
$naam = test_input($_post["naam"]);
$straat = test_input($_post["straat"]);
$huisnr = test_input($_post["huisnr"]);
$busnr = test_input($_post["busnr"]);
$postcode = test_input($_post["postcode"]);
$plaats = test_input($_post["plaats"]);
$btwnr = test_input($_post["btwnr"]);
$telnr = test_input($_post["telnr"]);
$email = test_input($_post["email"]);
// Gegevens gebruiker
$voornaam = test_input($_post["vnaam"]);
$achternaam = test_input($_post["naam"]);
$functie = test_input($_post["functie"]);
$wachtwoord = test_input($_post["wachtwoord"]);
}
function test_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
?>
Ik heb al van alles geprobeerd maar krijg het niet aan de praat. $_POST blijft leeg en dus worden de variabele niet herkent. Maar de vraag is waarom? Ik zie de fout niet direct. Het zou fijn zijn als iemand mij even op weg kan helpen. Alvast bedankt!
- Ariën -:
Gelieve in het vervolg bij code de [code][/code]-tags gebruiken.
Hier kan je meer lezen over de mogelijke opmaakcodes.
Alvast bedankt!
Hier kan je meer lezen over de mogelijke opmaakcodes.
Alvast bedankt!
Gewijzigd op 26/09/2017 17:21:45 door - Ariën -
Let op het hoofdlettergebruik: het is niet $_post maar $_POST.
Dikke merci!
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?php
function test_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
?>
function test_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
?>
Maar deze manier van "validatie" is verre van wenselijk. De voornaamste fout die je hier begaat is dat je je input inhoudelijk aanpast.
De naam van de functie ("test_input") is tevens misleidend. Het controleert niet enkel maar verandert ook.
stripslashes() is (allang) geen oplossing (meer) voor SQL-injectie en het was om te beginnen al geen oplossing voor dit probleem.
htmlspecialchars() pas je meestal toe net voordat je data weergeeft in een HTML-document. Maar niet voordat het de database in gaat.
Tevens is het waarschijnlijk je doel om de data die je controleert voor meerdere contexten (HTML, SQL) tegelijkertijd onschadelijk te maken. Het staat meestal niet op voorhand vast binnen welke context de data gebruikt gaat worden (door jou of anderen), maar alles op voorhand escapen is niet de juiste strategie. In het algemeen is escape-on-input (wat je in feite doet) zelden tot nooit een goed idee tenzij je hier een (gedocumenteerde) motivatie voor hebt.
Gewijzigd op 26/09/2017 17:09:58 door Thomas van den Heuvel