insert into databse werkt niet
Hallo beste mensen!
ik had een dag vrij en dacht ik ga weer eens een keer php leren... ik heb een boek en wat tuts van het net en ik ben heel de dag lkkr bezig MAAR!
ik ben al een paar uur aan het uitzoeken waarom dit script niets in de database zet... ik krijg wel de melding dat het gelukt is :(
<script>
</script>
Toevoeging op 15/03/2013 18:28:15:
ik had een dag vrij en dacht ik ga weer eens een keer php leren... ik heb een boek en wat tuts van het net en ik ben heel de dag lkkr bezig MAAR!
ik ben al een paar uur aan het uitzoeken waarom dit script niets in de database zet... ik krijg wel de melding dat het gelukt is :(
<script>
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
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
<?php
//Defineer functie
function error($link)
{
header('Refresh: 3; url=' . $link.php . '');
}
if($_SERVER['REQUEST_METHOD'] == 'POST'){ // Controle of er op de knop is geklikt.
include_once 'config/connect.php'; // Connectie db.
//Data veilig maken voor sql injectie d.m.v. mysql_real.....
$titel = mysql_real_escape_string($_POST['titel']);
$datum = mysql_real_escape_string($_POST['datum']);
$provincies = mysql_real_escape_string($_POST['provincies']);
$plaats = mysql_real_escape_string($_POST['plaats']);
$soort = mysql_real_escape_string($_POST['soort']);
$deuropen = mysql_real_escape_string($_POST['deuropen']);
$deurdicht = mysql_real_escape_string($_POST['deurdicht']);
$opentot = mysql_real_escape_string($_POST['opentot']);
mysql_query ("INSERT INTO events (titel,datum,provincies,plaats,soort,deuropen,deurdicht,opentot) VALUES ('". $titel ."','". $datum ."','". $provincies ."','". $plaats ."','". $soort ."', '".$deuropen."''". $deurdicht ."','". $opentot ."')"); // Gebruiker in db plaatsen.
header('Refresh: 4; url=upload_event.php');
exit ('gelukt!!.');
}
?>
//Defineer functie
function error($link)
{
header('Refresh: 3; url=' . $link.php . '');
}
if($_SERVER['REQUEST_METHOD'] == 'POST'){ // Controle of er op de knop is geklikt.
include_once 'config/connect.php'; // Connectie db.
//Data veilig maken voor sql injectie d.m.v. mysql_real.....
$titel = mysql_real_escape_string($_POST['titel']);
$datum = mysql_real_escape_string($_POST['datum']);
$provincies = mysql_real_escape_string($_POST['provincies']);
$plaats = mysql_real_escape_string($_POST['plaats']);
$soort = mysql_real_escape_string($_POST['soort']);
$deuropen = mysql_real_escape_string($_POST['deuropen']);
$deurdicht = mysql_real_escape_string($_POST['deurdicht']);
$opentot = mysql_real_escape_string($_POST['opentot']);
mysql_query ("INSERT INTO events (titel,datum,provincies,plaats,soort,deuropen,deurdicht,opentot) VALUES ('". $titel ."','". $datum ."','". $provincies ."','". $plaats ."','". $soort ."', '".$deuropen."''". $deurdicht ."','". $opentot ."')"); // Gebruiker in db plaatsen.
header('Refresh: 4; url=upload_event.php');
exit ('gelukt!!.');
}
?>
</script>
Toevoeging op 15/03/2013 18:28:15:
Gewijzigd op 15/03/2013 18:39:53 door Ray de graaf
Maak allereerst een beschrijvende titel van je topic, dit is natuurlijk bagger...
Wouter J op 15/03/2013 18:29:44:
Maak allereerst een beschrijvende titel van je topic, dit is natuurlijk bagger...
done!
Logisch dat je een melding krijgt dat het gelukt is als het formulier gepost is krijg je die melding, bouw eerst is een foutafhandeling in. Tutorials kun je hier vinden op de site.
ik heb hem al met foutafhandeling maar die had ik er even tussen uitgehaald omdat hij de database niet vulde.. met afhandeling heb ik hem zo: (en dan nog een aantal voor de andere posts
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
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
<?php
//Defineer functie
function error($link)
{
header('Refresh: 3; url=' . $link.php . '');
}
if($_SERVER['REQUEST_METHOD'] == 'POST'){ // Controle of er op de knop is geklikt.
include_once 'config/connect.php'; // Connectie db.
//Data veilig maken voor sql injectie d.m.v. mysql_real.....
$titel = mysql_real_escape_string($_POST['titel']);
$datum = mysql_real_escape_string($_POST['datum']);
$provincies = mysql_real_escape_string($_POST['provincies']);
$locatie = mysql_real_escape_string($_POST['locatie']);
$plaats = mysql_real_escape_string($_POST['plaats']);
$soort = mysql_real_escape_string($_POST['soort']);
$deuropen = mysql_real_escape_string($_POST['deuropen']);
$deurdicht = mysql_real_escape_string($_POST['deurdicht']);
$opentot = mysql_real_escape_string($_POST['opentot']);
//velden controleren
$errors = array();
if(strlen($titel) < 2) {
array_push($errors, "Je hebt geen of een te korte titel ingevuld");
}
if(strlen($naam) > 30) {
array_push($errors, "Je hebt een te lange titel ingevuld");
}
//kijken of er een naam is ingevuld, zo nee onderbreek het proces, anders ga verder
if(count($errors) >0){
foreach($errors as $error){
echo $error;
}
}
} else {
mysql_query ("INSERT INTO events (titel,datum,provincies,locatie,plaats,soort,deuropen,deurdicht,opentot) VALUES ('". $titel ."','". $datum ."','". $provincies ."','". $locatie ."','". $plaats ."','". $soort ."', '".$deuropen."''". $deurdicht ."','". $opentot ."')"); // Gebruiker in db plaatsen.
header('Refresh: 4; url=upload_event.php');
exit ('Gelukt.');
}
?>
//Defineer functie
function error($link)
{
header('Refresh: 3; url=' . $link.php . '');
}
if($_SERVER['REQUEST_METHOD'] == 'POST'){ // Controle of er op de knop is geklikt.
include_once 'config/connect.php'; // Connectie db.
//Data veilig maken voor sql injectie d.m.v. mysql_real.....
$titel = mysql_real_escape_string($_POST['titel']);
$datum = mysql_real_escape_string($_POST['datum']);
$provincies = mysql_real_escape_string($_POST['provincies']);
$locatie = mysql_real_escape_string($_POST['locatie']);
$plaats = mysql_real_escape_string($_POST['plaats']);
$soort = mysql_real_escape_string($_POST['soort']);
$deuropen = mysql_real_escape_string($_POST['deuropen']);
$deurdicht = mysql_real_escape_string($_POST['deurdicht']);
$opentot = mysql_real_escape_string($_POST['opentot']);
//velden controleren
$errors = array();
if(strlen($titel) < 2) {
array_push($errors, "Je hebt geen of een te korte titel ingevuld");
}
if(strlen($naam) > 30) {
array_push($errors, "Je hebt een te lange titel ingevuld");
}
//kijken of er een naam is ingevuld, zo nee onderbreek het proces, anders ga verder
if(count($errors) >0){
foreach($errors as $error){
echo $error;
}
}
} else {
mysql_query ("INSERT INTO events (titel,datum,provincies,locatie,plaats,soort,deuropen,deurdicht,opentot) VALUES ('". $titel ."','". $datum ."','". $provincies ."','". $locatie ."','". $plaats ."','". $soort ."', '".$deuropen."''". $deurdicht ."','". $opentot ."')"); // Gebruiker in db plaatsen.
header('Refresh: 4; url=upload_event.php');
exit ('Gelukt.');
}
?>
Gewijzigd op 15/03/2013 19:53:59 door ray de graaf
Zo'n foutafhandeling bedoel ik niet, maar om je een beetje op de goede weg te helpen gebruik dit is:
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
$query = mysql_query ("INSERT INTO events (titel,datum,provincies,locatie,plaats,soort,deuropen,deurdicht,opentot) VALUES ('". $titel ."','". $datum ."','". $provincies ."','". $locatie ."','". $plaats ."','". $soort ."', '".$deuropen."''". $deurdicht ."','". $opentot ."')"); // Gebruiker in db plaatsen.
if(!$query) {
echo "Error: " . mysql_error();
}
?>
$query = mysql_query ("INSERT INTO events (titel,datum,provincies,locatie,plaats,soort,deuropen,deurdicht,opentot) VALUES ('". $titel ."','". $datum ."','". $provincies ."','". $locatie ."','". $plaats ."','". $soort ."', '".$deuropen."''". $deurdicht ."','". $opentot ."')"); // Gebruiker in db plaatsen.
if(!$query) {
echo "Error: " . mysql_error();
}
?>
ik zit denk ik nu wat meer in de richting maar krijg alleen de echo die ik juist niet wil hebben. nog een tip in de richting?
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
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
<?php
//Defineer functie
function error($link)
{
header('Refresh: 3; url=' . $link.php . '');
}
if($_SERVER['REQUEST_METHOD'] == 'POST'){ // Controle of er op de knop is geklikt.
include_once 'config/connect.php'; // Connectie db.
//Data veilig maken voor sql injectie d.m.v. mysql_real.....
$titel = mysql_real_escape_string($_POST['titel']);
$datum = mysql_real_escape_string($_POST['datum']);
$provincies = mysql_real_escape_string($_POST['provincies']);
$locatie = mysql_real_escape_string($_POST['locatie']);
$plaats = mysql_real_escape_string($_POST['plaats']);
$soort = mysql_real_escape_string($_POST['soort']);
$deuropen = mysql_real_escape_string($_POST['deuropen']);
$deurdicht = mysql_real_escape_string($_POST['deurdicht']);
$opentot = mysql_real_escape_string($_POST['opentot']);
$sql= ("INSERT INTO events (titel,datum,provincies,locatie,plaats,soort,deuropen,deurdicht,opentot) VALUES ('". $titel ."','". $datum ."','". $provincies ."','". $locatie ."','". $plaats ."','". $soort ."', '".$deuropen."''". $deurdicht ."','". $opentot ."')"); // Gebruiker in db plaatsen.
if (!mysql_query($sql)) {//voer de code uit
echo "uitvoeren van de query $sql is mislukt!"; //goed uitgevoerd?
}
else {
echo "het is glukt!";
}
//header('Refresh: 4; url=upload_event.php');
// exit ('Gelukt.');
}
?>
//Defineer functie
function error($link)
{
header('Refresh: 3; url=' . $link.php . '');
}
if($_SERVER['REQUEST_METHOD'] == 'POST'){ // Controle of er op de knop is geklikt.
include_once 'config/connect.php'; // Connectie db.
//Data veilig maken voor sql injectie d.m.v. mysql_real.....
$titel = mysql_real_escape_string($_POST['titel']);
$datum = mysql_real_escape_string($_POST['datum']);
$provincies = mysql_real_escape_string($_POST['provincies']);
$locatie = mysql_real_escape_string($_POST['locatie']);
$plaats = mysql_real_escape_string($_POST['plaats']);
$soort = mysql_real_escape_string($_POST['soort']);
$deuropen = mysql_real_escape_string($_POST['deuropen']);
$deurdicht = mysql_real_escape_string($_POST['deurdicht']);
$opentot = mysql_real_escape_string($_POST['opentot']);
$sql= ("INSERT INTO events (titel,datum,provincies,locatie,plaats,soort,deuropen,deurdicht,opentot) VALUES ('". $titel ."','". $datum ."','". $provincies ."','". $locatie ."','". $plaats ."','". $soort ."', '".$deuropen."''". $deurdicht ."','". $opentot ."')"); // Gebruiker in db plaatsen.
if (!mysql_query($sql)) {//voer de code uit
echo "uitvoeren van de query $sql is mislukt!"; //goed uitgevoerd?
}
else {
echo "het is glukt!";
}
//header('Refresh: 4; url=upload_event.php');
// exit ('Gelukt.');
}
?>
Waarom gebruik je geen mysql_error() zoals in mijn code? Dan kun je juist zien waarom hij niks in de database zet.
Wesley PHP op 15/03/2013 20:19:38:
Waarom gebruik je geen mysql_error() zoals in mijn code? Dan kun je juist zien waarom hij niks in de database zet.
dat had ik wel toen kreeg ik ook errors en vanuit daar heb ik dit weer in mijn boek gevonden. ik zal het er nog eens in doen het het bekijken
Toevoeging op 15/03/2013 20:30:18:
Ray de graaf op 15/03/2013 20:26:07:
dat had ik wel toen kreeg ik ook errors en vanuit daar heb ik dit weer in mijn boek gevonden. ik zal het er nog eens in doen het het bekijken
dit is de error met jouw code
Notice: Undefined variable: query in D:\xampp\htdocs\www\upload_eventv.php on line 29
Error: Column count doesn't match value count at row 1
Wesley PHP op 15/03/2013 20:19:38:
Waarom gebruik je geen mysql_error() zoals in mijn code? Dan kun je juist zien waarom hij niks in de database zet.
dat had ik wel toen kreeg ik ook errors en vanuit daar heb ik dit weer in mijn boek gevonden. ik zal het er nog eens in doen het het bekijken
dit is de error met jouw code
Notice: Undefined variable: query in D:\xampp\htdocs\www\upload_eventv.php on line 29
Error: Column count doesn't match value count at row 1
Notice: Undefined variable: query in D:\xampp\htdocs\www\upload_eventv.php on line 29 -> Hij zegt dat de variabele query niet bestaat, waarschijnlijk had je hem $sql genoemd?
En Column count doesn't match value count at row 1 -> '".$deuropen."''". $deurdicht ."' Je bent hier een komma vergeten.
En Column count doesn't match value count at row 1 -> '".$deuropen."''". $deurdicht ."' Je bent hier een komma vergeten.
gebruik pdo of mysqli, de mysql extensie wordt inmiddels al tig jaren niet meer aan ontwikkeld en zal binnenkort ook depracated zijn.
De foutmelding houd in dat de waarde die je wilt toevoegen aan de tabel niet gelijk is aan de ingestelde waarde in mysql en de waarde die jij wilt toevoegen.
De foutmelding houd in dat de waarde die je wilt toevoegen aan de tabel niet gelijk is aan de ingestelde waarde in mysql en de waarde die jij wilt toevoegen.
het is gelukt! na een halve dag
$query = mysql_query ("INSERT INTO events (titel,datum,provincies,locatie,plaats,soort,deuropen,deurdicht,opentot) VALUES ('". $titel ."','". $datum ."','". $provincies ."','". $locatie ."','". $plaats ."','". $soort ."', '".$deuropen."','". $deurdicht ."','". $opentot ."')"); // Gebruiker in db plaatsen.
if(!$query) {
echo "Error: " . mysql_error();
}
dat was alles! maar zonder hulp was ik er nooit gekomen!
bedankt!
$query = mysql_query ("INSERT INTO events (titel,datum,provincies,locatie,plaats,soort,deuropen,deurdicht,opentot) VALUES ('". $titel ."','". $datum ."','". $provincies ."','". $locatie ."','". $plaats ."','". $soort ."', '".$deuropen."','". $deurdicht ."','". $opentot ."')"); // Gebruiker in db plaatsen.
if(!$query) {
echo "Error: " . mysql_error();
}
dat was alles! maar zonder hulp was ik er nooit gekomen!
bedankt!




