gegevens uit form in database
Ik probeer voor de voetbalclub de ledenlijst online te krijgen.
Invoeren via phpmyadmin is geen probleem, maar ik wilde het via de admin omgeving doen die ik gecreeerd heb op de website, middels een formuliertje.
Wat ik ook probeer, ik niets in de database, en tevens gaat het script niet naar de pagina waar ik opdracht toe geef, maar krijg de melding dat hij de pagina niet kan vinden die toch in dezelfde dir staat nl. leden.php.
Ziet iemand de fout(en)?
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
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
<?php
ob_start();
?>
<?php
error_reporting(E_ALL);
include("db_rcz.php");
$mysql_id=mysql_connect("$dbhost","$dbuser","$dbpass");
if(isset($_POST['invoeren'])) {
$Geboortedatum= sprintf (
'%02d-%02d-%02d',
$_POST['Jaar'],
$_POST['Maand'],
$_POST['Dag']
);
$Achternaam=$_POST[Achternaam];
$Tussenvoegsel=$_POST[Tussenvoegsel];
$Voornaam=$_POST[Voornaam];
$KNVBnummer=$_POST[KNVBnummer];
$Adres=$_POST[Adres];
$Postcode=$_POST[Postcode];
$Woonplaats=$_POST[Woonplaats];
$Telefoonnummer=$_POST[Telefoonnummer];
$Dag = $_POST['Dag'];
$Maand = $_POST['Maand'];
$Jaar = $_POST['Jaar'];
$Geslacht = $_POST[Geslacht];
$Soort = $_POST[Soort];
$sql=" INSERT into ledenlijst
(Achternaam,
Tussenvoegsel,
Voornaam,
KNVBnumer,
Adres,
Postcode,
Woonplaats,
Telefoonnummer,
Geboortedatum,
Geslacht,
Soort)
VALUES ('$Achternaam',
'$Tussenvoegsel',
'$Voornaam',
'$KNVBnummer',
'$Adres',
'$Postcode'
,'$Woonplaats'
,'$Telefoonnummer'
,'$Geboortedatum',
'$Geslacht',
'$Soort')";
$res=mysql_db_query("$db","$sql",$mysql_id);
$relative_url = 'leden.php';
header("Location: http://".$_SERVER['HTTP_HOST']
.dirname($_SERVER['PHP_SELF'])
."/".$relative_url);
}
else {
ob_end_flush();
?>
<?php
}
?>
ob_start();
?>
<?php
error_reporting(E_ALL);
include("db_rcz.php");
$mysql_id=mysql_connect("$dbhost","$dbuser","$dbpass");
if(isset($_POST['invoeren'])) {
$Geboortedatum= sprintf (
'%02d-%02d-%02d',
$_POST['Jaar'],
$_POST['Maand'],
$_POST['Dag']
);
$Achternaam=$_POST[Achternaam];
$Tussenvoegsel=$_POST[Tussenvoegsel];
$Voornaam=$_POST[Voornaam];
$KNVBnummer=$_POST[KNVBnummer];
$Adres=$_POST[Adres];
$Postcode=$_POST[Postcode];
$Woonplaats=$_POST[Woonplaats];
$Telefoonnummer=$_POST[Telefoonnummer];
$Dag = $_POST['Dag'];
$Maand = $_POST['Maand'];
$Jaar = $_POST['Jaar'];
$Geslacht = $_POST[Geslacht];
$Soort = $_POST[Soort];
$sql=" INSERT into ledenlijst
(Achternaam,
Tussenvoegsel,
Voornaam,
KNVBnumer,
Adres,
Postcode,
Woonplaats,
Telefoonnummer,
Geboortedatum,
Geslacht,
Soort)
VALUES ('$Achternaam',
'$Tussenvoegsel',
'$Voornaam',
'$KNVBnummer',
'$Adres',
'$Postcode'
,'$Woonplaats'
,'$Telefoonnummer'
,'$Geboortedatum',
'$Geslacht',
'$Soort')";
$res=mysql_db_query("$db","$sql",$mysql_id);
$relative_url = 'leden.php';
header("Location: http://".$_SERVER['HTTP_HOST']
.dirname($_SERVER['PHP_SELF'])
."/".$relative_url);
}
else {
ob_end_flush();
?>
<?php
}
?>
Gewijzigd op 01/01/1970 01:00:00 door Peter Arendse
Pas je post even aan en gebruik en tags om je code heen. Om php code zet je uiteraard dit:Gebruik je knop om dit te doen.
SanThe.
De url wordt niet goed opgebouwd: dat haakje achter $_SERVER['PHP_SELF'] moet weg.
zo dus:
Code (php)
1
header("Location: http://".$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']."/".$relative_url);
EDIT:
Oeps, sorry. Je had het wel goed gedaan. Ik had niet goed gekeken.
Gewijzigd op 01/01/1970 01:00:00 door Leen M
Ik heb een groot gedeelte van het script overgenomen uit een script dat ik zakelijk gebruik, en ik ruim een jaar geleden met hulp van jullie allemaal goed werkend heb gekregen, maar dit, veel eenvoudiger ding krijg ik niet aan de gang,pffffffffffff
Iemand nog een idee?
$Achternaam=$_POST[Achternaam];
Verder is het $_POST['Achternaam'] i.p.v. $_POST[Achternaam] dus met enkele quotes.
En dan gaat die direct de database in, zonder enige controle. Dat is dus rijp voor sql-injection.
VALUES ('$Achternaam',
Maak daar minimaal dit van.
VALUES ('" . mysql_real_escape_string($Achternaam) . "',
En dat geldt uiteraard ook voor de rest.
Gewijzigd op 01/01/1970 01:00:00 door - SanThe -
Heb het aleemaal aangepast zo als jij zei, maar nog niets in de db, en na submit vind hij leden.php maar niet?
Komt het soms door de hoofdletters die ik gebruik, nee toch, die voer ik door in het hele script en in de db ook!
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
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
<?php
error_reporting(E_ALL);
include("db_rcz.php");
$mysql_id=mysql_connect("$dbhost","$dbuser","$dbpass");
if(isset($_POST['invoeren'])) {
$Geboortedatum= sprintf (
'%02d-%02d-%02d',
$_POST['Jaar'],
$_POST['Maand'],
$_POST['Dag']
);
$Achternaam=$_POST['Achternaam'];
$Tussenvoegsel=$_POST['Tussenvoegsel'];
$Voornaam=$_POST['Voornaam'];
$KNVBnummer=$_POST['KNVBnummer'];
$Adres=$_POST['Adres'];
$Postcode=$_POST['Postcode'];
$Woonplaats=$_POST['Woonplaats'];
$Telefoonnummer=$_POST['Telefoonnummer'];
$Dag = $_POST['Dag'];
$Maand = $_POST['Maand'];
$Jaar = $_POST['Jaar'];
$Geslacht = $_POST['Geslacht'];
$Soort = $_POST['Soort'];
$sql=" INSERT into ledenlijst
(Achternaam,
Tussenvoegsel,
Voornaam,
KNVBnumer,
Adres,
Postcode,
Woonplaats,
Telefoonnummer,
Geboortedatum,
Geslacht,
Soort)
VALUES ('" . mysql_real_escape_string($Achternaam) . "',
'" . mysql_real_escape_string($Tussenvoegsel) . "',
'" . mysql_real_escape_string($Voornaam) . "',
'" . mysql_real_escape_string($KNVBnummer) . "',
'" . mysql_real_escape_string($Adres) . "',
'" . mysql_real_escape_string($Postcode) . "',
'" . mysql_real_escape_string($Woonplaats) . "',
'" . mysql_real_escape_string($Telefoonnummer) . "',
'" . mysql_real_escape_string($Geboortedatum) . "',
'" . mysql_real_escape_string($Geslacht) . "',
'" . mysql_real_escape_string($Soort) . "')";
$res=mysql_db_query("$db","$sql",$mysql_id);
$relative_url = 'leden.php';
header("Location: http://".$_SERVER['HTTP_HOST']
.dirname($_SERVER['PHP_SELF'])
."/".$relative_url);
}
else {
ob_end_flush();
?>
error_reporting(E_ALL);
include("db_rcz.php");
$mysql_id=mysql_connect("$dbhost","$dbuser","$dbpass");
if(isset($_POST['invoeren'])) {
$Geboortedatum= sprintf (
'%02d-%02d-%02d',
$_POST['Jaar'],
$_POST['Maand'],
$_POST['Dag']
);
$Achternaam=$_POST['Achternaam'];
$Tussenvoegsel=$_POST['Tussenvoegsel'];
$Voornaam=$_POST['Voornaam'];
$KNVBnummer=$_POST['KNVBnummer'];
$Adres=$_POST['Adres'];
$Postcode=$_POST['Postcode'];
$Woonplaats=$_POST['Woonplaats'];
$Telefoonnummer=$_POST['Telefoonnummer'];
$Dag = $_POST['Dag'];
$Maand = $_POST['Maand'];
$Jaar = $_POST['Jaar'];
$Geslacht = $_POST['Geslacht'];
$Soort = $_POST['Soort'];
$sql=" INSERT into ledenlijst
(Achternaam,
Tussenvoegsel,
Voornaam,
KNVBnumer,
Adres,
Postcode,
Woonplaats,
Telefoonnummer,
Geboortedatum,
Geslacht,
Soort)
VALUES ('" . mysql_real_escape_string($Achternaam) . "',
'" . mysql_real_escape_string($Tussenvoegsel) . "',
'" . mysql_real_escape_string($Voornaam) . "',
'" . mysql_real_escape_string($KNVBnummer) . "',
'" . mysql_real_escape_string($Adres) . "',
'" . mysql_real_escape_string($Postcode) . "',
'" . mysql_real_escape_string($Woonplaats) . "',
'" . mysql_real_escape_string($Telefoonnummer) . "',
'" . mysql_real_escape_string($Geboortedatum) . "',
'" . mysql_real_escape_string($Geslacht) . "',
'" . mysql_real_escape_string($Soort) . "')";
$res=mysql_db_query("$db","$sql",$mysql_id);
$relative_url = 'leden.php';
header("Location: http://".$_SERVER['HTTP_HOST']
.dirname($_SERVER['PHP_SELF'])
."/".$relative_url);
}
else {
ob_end_flush();
?>
Gewijzigd op 01/01/1970 01:00:00 door Peter Arendse
Edit: $vars horen niet tussen quotes.
Dus
$mysql_id=mysql_connect("$dbhost","$dbuser","$dbpass");
Wordt
$mysql_id=mysql_connect($dbhost,$dbuser,$dbpass);
Gewijzigd op 01/01/1970 01:00:00 door - SanThe -
Maar daar ben ik weer.
Heb het weer aangepast, maar geen foutmeldingen, maar ook geen records in de db.
Zit er al 4 uur naar te kijken, maar pffffffffff.
Dit is trouwens mijn database:
CREATE TABLE `ledenlijst` (
`ID` int(11) NOT NULL auto_increment,
`Achternaam` varchar(50) NOT NULL,
`Tussenvoegsel` varchar(50) NOT NULL,
`Voornaam` varchar(50) NOT NULL,
`Knvbnummer` varchar(50) NOT NULL,
`Adres` varchar(50) NOT NULL,
`Postcode` varchar(50) NOT NULL,
`Woonplaats` varchar(50) NOT NULL,
`Telefoonnummer` varchar(50) NOT NULL,
`Geboortedatum` date NOT NULL,
`Geslacht` varchar(50) NOT NULL,
`Soort` varchar(50) NOT NULL,
PRIMARY KEY (`ID`)
)
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
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
<?php
error_reporting(E_ALL);
ini_set("display_errors", 1);
include("db_rcz.php");
$mysql_id=mysql_connect($dbhost,$dbuser,$dbpass);
if(isset($_POST['invoeren'])) {
$Geboortedatum= sprintf (
'%02d-%02d-%02d',
$_POST['Jaar'],
$_POST['Maand'],
$_POST['Dag']
);
$Achternaam=$_POST['Achternaam'];
$Tussenvoegsel=$_POST['Tussenvoegsel'];
$Voornaam=$_POST['Voornaam'];
$KNVBnummer=$_POST['KNVBnummer'];
$Adres=$_POST['Adres'];
$Postcode=$_POST['Postcode'];
$Woonplaats=$_POST['Woonplaats'];
$Telefoonnummer=$_POST['Telefoonnummer'];
$Dag = $_POST['Dag'];
$Maand = $_POST['Maand'];
$Jaar = $_POST['Jaar'];
$Geslacht = $_POST['Geslacht'];
$Soort = $_POST['Soort'];
$sql=" INSERT into ledenlijst
(Achternaam,
Tussenvoegsel,
Voornaam,
KNVBnumer,
Adres,
Postcode,
Woonplaats,
Telefoonnummer,
Geboortedatum,
Geslacht,
Soort)
VALUES ('" . mysql_real_escape_string($Achternaam) . "',
'" . mysql_real_escape_string($Tussenvoegsel) . "',
'" . mysql_real_escape_string($Voornaam) . "',
'" . mysql_real_escape_string($KNVBnummer) . "',
'" . mysql_real_escape_string($Adres) . "',
'" . mysql_real_escape_string($Postcode) . "',
'" . mysql_real_escape_string($Woonplaats) . "',
'" . mysql_real_escape_string($Telefoonnummer) . "',
'" . mysql_real_escape_string($Geboortedatum) . "',
'" . mysql_real_escape_string($Geslacht) . "',
'" . mysql_real_escape_string($Soort) . "')";
$res=mysql_db_query("$db","$sql",$mysql_id);
$relative_url = 'leden.php';
header("Location: http://".$_SERVER['HTTP_HOST']
.dirname($_SERVER['PHP_SELF'])
."/".$relative_url);
}
else {
ob_end_flush();
?>
error_reporting(E_ALL);
ini_set("display_errors", 1);
include("db_rcz.php");
$mysql_id=mysql_connect($dbhost,$dbuser,$dbpass);
if(isset($_POST['invoeren'])) {
$Geboortedatum= sprintf (
'%02d-%02d-%02d',
$_POST['Jaar'],
$_POST['Maand'],
$_POST['Dag']
);
$Achternaam=$_POST['Achternaam'];
$Tussenvoegsel=$_POST['Tussenvoegsel'];
$Voornaam=$_POST['Voornaam'];
$KNVBnummer=$_POST['KNVBnummer'];
$Adres=$_POST['Adres'];
$Postcode=$_POST['Postcode'];
$Woonplaats=$_POST['Woonplaats'];
$Telefoonnummer=$_POST['Telefoonnummer'];
$Dag = $_POST['Dag'];
$Maand = $_POST['Maand'];
$Jaar = $_POST['Jaar'];
$Geslacht = $_POST['Geslacht'];
$Soort = $_POST['Soort'];
$sql=" INSERT into ledenlijst
(Achternaam,
Tussenvoegsel,
Voornaam,
KNVBnumer,
Adres,
Postcode,
Woonplaats,
Telefoonnummer,
Geboortedatum,
Geslacht,
Soort)
VALUES ('" . mysql_real_escape_string($Achternaam) . "',
'" . mysql_real_escape_string($Tussenvoegsel) . "',
'" . mysql_real_escape_string($Voornaam) . "',
'" . mysql_real_escape_string($KNVBnummer) . "',
'" . mysql_real_escape_string($Adres) . "',
'" . mysql_real_escape_string($Postcode) . "',
'" . mysql_real_escape_string($Woonplaats) . "',
'" . mysql_real_escape_string($Telefoonnummer) . "',
'" . mysql_real_escape_string($Geboortedatum) . "',
'" . mysql_real_escape_string($Geslacht) . "',
'" . mysql_real_escape_string($Soort) . "')";
$res=mysql_db_query("$db","$sql",$mysql_id);
$relative_url = 'leden.php';
header("Location: http://".$_SERVER['HTTP_HOST']
.dirname($_SERVER['PHP_SELF'])
."/".$relative_url);
}
else {
ob_end_flush();
?>
Gewijzigd op 01/01/1970 01:00:00 door Peter Arendse
Inmiddels heb ik begrepen dat er best wat narigheden in jet script zaten, maar het blijft moeilijk met al die verschillende boeken en verschillende soorten manieren.
Ik heb het script nu werkend, op de datum na, die komt nu als 0000-00-00 in de database terecht, ik snap niet wat ik verkeerd doe.
Graag jullie idee hier over en evnetuele op-aanmerkingen hoe ik het nog beter(niet makkelijker) kan doen.
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
115
116
117
118
119
120
121
122
123
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
<?php
include("db_rcz.php");
if ($mysql_id=mysql_connect($dbhost,$dbuser,$dbpass))
{
mysql_select_db($db) or die(mysql_error());
}
else
{
echo 'Kan geen verbinding maken met de database';
exit;
}
if($_SERVER['REQUEST_METHOD'] == 'POST' && !empty($_POST))
{
$aFouten = array();
$achternaam = $_POST['achternaam'];
$tussenvoegsel = $_POST['tussenvoegsel'];
$voornaam = $_POST['voornaam'];
$knvbnummer = $_POST['knvbnummer'];
$adres = $_POST['adres'];
$postcode = $_POST['postcode'];
$woonplaats = $_POST['woonplaats'];
$telefoonnummer = $_POST['telefoonnummer'];
$dag = $_POST['dag'];
$maand = $_POST['maand'];
$jaar = $_POST['jaar'];
$geslacht = $_POST['geslacht'];
$soort = $_POST['soort'];
$geboortedatum= sprintf (
'%02d-%02d-%02d',
$_POST['jaar'],
$_POST['maand'],
$_POST['dag']
);
if($_POST['achternaam'] == '')
{
$aFouten[] = 'Je hebt geen achternaam ingevuld';
}
if($_POST['voornaam'] == '')
{
$aFouten[] = 'Je hebt geen voornaam ingevuld';
}
if($_POST['knvbnummer'] == '')
{
$aFouten[] = 'Je hebt geen knvbnummer ingevuld';
}
if($_POST['adres'] == '')
{
$aFouten[] = 'Je hebt geen adres ingevuld';
}
if($_POST['postcode'] == '')
{
$aFouten[] = 'Je hebt geen postcode ingevuld';
}
if($_POST['woonplaats'] == '')
{
$aFouten[] = 'Je hebt geen woonplaats ingevuld';
}
if($_POST['telefoonnummer'] == '' || !is_numeric($_POST['telefoonnummer']))
{
$aFouten[] = 'Je hebt een ongeldige telefoonnummer ingevuld';
}
if($_POST['dag'] == '' || !is_numeric($_POST['dag']))
{
$aFouten[] = 'Je hebt een ongeldige dag ingevuld';
}
if($_POST['maand'] == '' || !is_numeric($_POST['maand']))
{
$aFouten[] = 'Je hebt een ongeldige maand ingevuld';
}
if($_POST['jaar'] == '' || !is_numeric($_POST['jaar']))
{
$aFouten[] = 'Je hebt een ongeldige jaar ingevuld';
}
if(count($aFouten) != 0)
{
echo 'De volgende fouten zijn opgetreden: <br /><br />';
for($Fi = 0; $Fi < count($aFouten); $Fi++)
{
echo $aFouten[$Fi].'<br />';
}
echo '<br />Klik <a href="javascript:history.go(-1);">hier</a> om terug te keren';
}
$sql=" INSERT INTO ledenlijst
(achternaam,
tussenvoegsel,
voornaam,
knvbnummer,
adres,
postcode,
woonplaats,
telefoonnummer,
geboortedatum,
geslacht,
soort)
VALUES ('" . mysql_real_escape_string($achternaam) . "',
'" . mysql_real_escape_string($tussenvoegsel) . "',
'" . mysql_real_escape_string($voornaam) . "',
'" . mysql_real_escape_string($knvbnummer) . "',
'" . mysql_real_escape_string($adres) . "',
'" . mysql_real_escape_string($postcode) . "',
'" . mysql_real_escape_string($woonplaats) . "',
'" . mysql_real_escape_string($telefoonnummer) . "',
'" . mysql_real_escape_string($geboortedatum) . "',
'" . mysql_real_escape_string($geslacht) . "',
'" . mysql_real_escape_string($soort) . "')";
$res=mysql_query($sql, $mysql_id) or die(mysql_error());
$relative_url = 'leden.php';
header("Location: http://".$_SERVER['HTTP_HOST']
.dirname($_SERVER['PHP_SELF'])
."/".$relative_url);
}
else {
ob_end_flush();
?>
include("db_rcz.php");
if ($mysql_id=mysql_connect($dbhost,$dbuser,$dbpass))
{
mysql_select_db($db) or die(mysql_error());
}
else
{
echo 'Kan geen verbinding maken met de database';
exit;
}
if($_SERVER['REQUEST_METHOD'] == 'POST' && !empty($_POST))
{
$aFouten = array();
$achternaam = $_POST['achternaam'];
$tussenvoegsel = $_POST['tussenvoegsel'];
$voornaam = $_POST['voornaam'];
$knvbnummer = $_POST['knvbnummer'];
$adres = $_POST['adres'];
$postcode = $_POST['postcode'];
$woonplaats = $_POST['woonplaats'];
$telefoonnummer = $_POST['telefoonnummer'];
$dag = $_POST['dag'];
$maand = $_POST['maand'];
$jaar = $_POST['jaar'];
$geslacht = $_POST['geslacht'];
$soort = $_POST['soort'];
$geboortedatum= sprintf (
'%02d-%02d-%02d',
$_POST['jaar'],
$_POST['maand'],
$_POST['dag']
);
if($_POST['achternaam'] == '')
{
$aFouten[] = 'Je hebt geen achternaam ingevuld';
}
if($_POST['voornaam'] == '')
{
$aFouten[] = 'Je hebt geen voornaam ingevuld';
}
if($_POST['knvbnummer'] == '')
{
$aFouten[] = 'Je hebt geen knvbnummer ingevuld';
}
if($_POST['adres'] == '')
{
$aFouten[] = 'Je hebt geen adres ingevuld';
}
if($_POST['postcode'] == '')
{
$aFouten[] = 'Je hebt geen postcode ingevuld';
}
if($_POST['woonplaats'] == '')
{
$aFouten[] = 'Je hebt geen woonplaats ingevuld';
}
if($_POST['telefoonnummer'] == '' || !is_numeric($_POST['telefoonnummer']))
{
$aFouten[] = 'Je hebt een ongeldige telefoonnummer ingevuld';
}
if($_POST['dag'] == '' || !is_numeric($_POST['dag']))
{
$aFouten[] = 'Je hebt een ongeldige dag ingevuld';
}
if($_POST['maand'] == '' || !is_numeric($_POST['maand']))
{
$aFouten[] = 'Je hebt een ongeldige maand ingevuld';
}
if($_POST['jaar'] == '' || !is_numeric($_POST['jaar']))
{
$aFouten[] = 'Je hebt een ongeldige jaar ingevuld';
}
if(count($aFouten) != 0)
{
echo 'De volgende fouten zijn opgetreden: <br /><br />';
for($Fi = 0; $Fi < count($aFouten); $Fi++)
{
echo $aFouten[$Fi].'<br />';
}
echo '<br />Klik <a href="javascript:history.go(-1);">hier</a> om terug te keren';
}
$sql=" INSERT INTO ledenlijst
(achternaam,
tussenvoegsel,
voornaam,
knvbnummer,
adres,
postcode,
woonplaats,
telefoonnummer,
geboortedatum,
geslacht,
soort)
VALUES ('" . mysql_real_escape_string($achternaam) . "',
'" . mysql_real_escape_string($tussenvoegsel) . "',
'" . mysql_real_escape_string($voornaam) . "',
'" . mysql_real_escape_string($knvbnummer) . "',
'" . mysql_real_escape_string($adres) . "',
'" . mysql_real_escape_string($postcode) . "',
'" . mysql_real_escape_string($woonplaats) . "',
'" . mysql_real_escape_string($telefoonnummer) . "',
'" . mysql_real_escape_string($geboortedatum) . "',
'" . mysql_real_escape_string($geslacht) . "',
'" . mysql_real_escape_string($soort) . "')";
$res=mysql_query($sql, $mysql_id) or die(mysql_error());
$relative_url = 'leden.php';
header("Location: http://".$_SERVER['HTTP_HOST']
.dirname($_SERVER['PHP_SELF'])
."/".$relative_url);
}
else {
ob_end_flush();
?>
Dan krijg je te zien hoe de query er nu uitziet. Dan wordt vaak ook duidelijk wat er fout gaat.
%02d, moet dat bij het jaartal geen 4 karakters zijn?
Ps. Dankzij het brakke MySQL ben je nu al weer uren aan het debuggen, een foute datum moet een foutmelding opleveren en geen corrupte database. Maar ja, MySQL... Ga dit stuk ellende eerst maar even configureren, dan krijg je wat meer foutmeldingen wanneer je wat fout doet: http://wiki.phpfreakz.nl/Werken_met_MySQL#Configuratie. Scheelt je vele uren debuggen.
Gewijzigd op 01/01/1970 01:00:00 door Frank -
Het is gelukt, en het werkt nu allemaal.
Ik heb al even kort naar die link van jou gekeken en ga het straks helemaal doorlezen(hoop wel dat het een beetje in Jip en Janneke taal is, want voor een beginner is dat wel makkelijk).
Is dit nu de obsolute standaard voor een database?
Gewijzigd op 01/01/1970 01:00:00 door Peter Arendse