geeft standaard de foutmelding velden invullen
hoi hoi..
Ben bezig om een script te schrijven maar wil niet echt lukken..
Bij toevoegen heb probeer ik checks in te bouwen. maar als ik dan erna toe ga zonder ik nog iets heb ingevuld komt die al met de melding dat ik niets heb ingevuld..
iemand een oplossing?
Ben bezig om een script te schrijven maar wil niet echt lukken..
Bij toevoegen heb probeer ik checks in te bouwen. maar als ik dan erna toe ga zonder ik nog iets heb ingevuld komt die al met de melding dat ik niets heb ingevuld..
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
include('variabelen.php');
{
if($_SERVER['REQUEST_METHOD'] == 'POST' && !empty($_POST))
$aErrors = array();
if(empty($_POST['titel'])){
$aErrors[] ='- U bent vergeten om titel in te vullen';
}
if(empty($_POST['door'])){
$aErrors[] ='- U bent vergeten om doorin te vullen';
}
if(count($aErrors) == 0){
// geen fouten, verwerk het formulier, plaats hier je code
addslashes(htmlspecialchars($_POST['titel']));
addslashes(htmlspecialchars($_POST['artiest']));
addslashes(htmlspecialchars($_POST['sleevenr']));
addslashes(htmlspecialchars($_POST['trefwoorden']));
addslashes(htmlspecialchars($_POST['door']));
$query="INSERT INTO multimedia (titel, artiest, genre, datum, trefwoorden, minuten, sleevenr , jaar, door) VALUES (
'" . $_POST['titel'] . "',
'" . $_POST['artiest'] . "',
'" . $_POST['genre'] . "',
'" . date("Y-m-d H:i:s") . "',
'" . $_POST['trefwoorden'] . "',
'" . $_POST['minuten'] . "',
'" . $_POST['sleevenr'] . "',
'" . $_POST['jaar'] . "',
'" . $_POST['door'] . "')";
mysql_query($query) or die (mysql_error());
?>
<SCRIPT language="JavaScript">alert("De DVD is Succesvol toegevoegd")</SCRIPT>
<?php
}
else {
echo '<ul class="errors">'.PHP_EOL;
foreach ($aErrors as $sError) {
echo '<li>'.$sError.'</li>'.PHP_EOL;
}
echo '</ul>'.PHP_EOL;
}
}
?>
include('variabelen.php');
{
if($_SERVER['REQUEST_METHOD'] == 'POST' && !empty($_POST))
$aErrors = array();
if(empty($_POST['titel'])){
$aErrors[] ='- U bent vergeten om titel in te vullen';
}
if(empty($_POST['door'])){
$aErrors[] ='- U bent vergeten om doorin te vullen';
}
if(count($aErrors) == 0){
// geen fouten, verwerk het formulier, plaats hier je code
addslashes(htmlspecialchars($_POST['titel']));
addslashes(htmlspecialchars($_POST['artiest']));
addslashes(htmlspecialchars($_POST['sleevenr']));
addslashes(htmlspecialchars($_POST['trefwoorden']));
addslashes(htmlspecialchars($_POST['door']));
$query="INSERT INTO multimedia (titel, artiest, genre, datum, trefwoorden, minuten, sleevenr , jaar, door) VALUES (
'" . $_POST['titel'] . "',
'" . $_POST['artiest'] . "',
'" . $_POST['genre'] . "',
'" . date("Y-m-d H:i:s") . "',
'" . $_POST['trefwoorden'] . "',
'" . $_POST['minuten'] . "',
'" . $_POST['sleevenr'] . "',
'" . $_POST['jaar'] . "',
'" . $_POST['door'] . "')";
mysql_query($query) or die (mysql_error());
?>
<SCRIPT language="JavaScript">alert("De DVD is Succesvol toegevoegd")</SCRIPT>
<?php
}
else {
echo '<ul class="errors">'.PHP_EOL;
foreach ($aErrors as $sError) {
echo '<li>'.$sError.'</li>'.PHP_EOL;
}
echo '</ul>'.PHP_EOL;
}
}
?>
iemand een oplossing?
Aan het einde van regel 4 moet sowieso een accolade openen staan. Er is nog meer fout, maar dat is de eerste.
Er klopt weinig van je script :/
Een { na je include.
Geen { na de controle of er een formulier gepost is.
Geen foutcontrole op je query.
gebruik voor het inserten van gebruikersdata mysql_real_escape_string.
Een { na je include.
Geen { na de controle of er een formulier gepost is.
Geen foutcontrole op je query.
gebruik voor het inserten van gebruikersdata mysql_real_escape_string.
'Erik:
Er klopt weinig van je script :/
Geen { na de controle of er een formulier gepost is.
Geen { na de controle of er een formulier gepost is.
waar moet ik die zetten..
en heb de post in:
veranderd..
en regel 4 { toegevoegd
en in regel 3 wegehaald
maar werkt nog steeds niet
Gewijzigd op 01/01/1970 01:00:00 door Hugo L
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
ini_set ('display_errors', 1);
error_reporting (E_ALL);
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
// hier je formuliercontrole
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<!--
HIER JE FORMULIER
-->
</body>
</html>
ini_set ('display_errors', 1);
error_reporting (E_ALL);
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
// hier je formuliercontrole
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<!--
HIER JE FORMULIER
-->
</body>
</html>
@Jan
Mag ik je hartelijk bedanken!
het werkt! :)
kan ik weer verder gaan stoeien ermee :)
Mag ik je hartelijk bedanken!
het werkt! :)
kan ik weer verder gaan stoeien ermee :)
Nog wat verbeteringen in je script:
Nog een vraag: wat wil je met minuten en jaren als je al een datum hebt?
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
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
<?php
$aErrors = array();
$aRequired = array ('titel', 'door');
if($_SERVER['REQUEST_METHOD'] == 'POST') {
foreach ($aRequired as $val) {
if (empty ($_POST[$val])) {
array_push ($aErrors, 'U bent vergeten ' . $val . ' in te vullen');
}
}
}
if (empty ($aErrors)) {
$sql = "
INSERT INTO multimedia
(
titel,
artiest,
genre,
datum,
trefwoorden,
minuten,
sleevenr,
jaar,
door
)
VALUES
(
'" . mysql_real_escape_string ($_POST['titel']) . "',
'" . mysql_real_escape_string ($_POST['artiest']) . "',
'" . mysql_real_escape_string ($_POST['genre']) . "',
NOW(),
'" . mysql_real_escape_string ($_POST['trefwoorden']) . "',
'" . mysql_real_escape_string ($_POST['minuten']) . "',
'" . mysql_real_escape_string ($_POST['sleevenr']) . "',
'" . mysql_real_escape_string ($_POST['jaar']) . "',
'" . mysql_real_escape_string ($_POST['door']) . "'
)
";
}
else {
// error laten zien
}
?>
$aErrors = array();
$aRequired = array ('titel', 'door');
if($_SERVER['REQUEST_METHOD'] == 'POST') {
foreach ($aRequired as $val) {
if (empty ($_POST[$val])) {
array_push ($aErrors, 'U bent vergeten ' . $val . ' in te vullen');
}
}
}
if (empty ($aErrors)) {
$sql = "
INSERT INTO multimedia
(
titel,
artiest,
genre,
datum,
trefwoorden,
minuten,
sleevenr,
jaar,
door
)
VALUES
(
'" . mysql_real_escape_string ($_POST['titel']) . "',
'" . mysql_real_escape_string ($_POST['artiest']) . "',
'" . mysql_real_escape_string ($_POST['genre']) . "',
NOW(),
'" . mysql_real_escape_string ($_POST['trefwoorden']) . "',
'" . mysql_real_escape_string ($_POST['minuten']) . "',
'" . mysql_real_escape_string ($_POST['sleevenr']) . "',
'" . mysql_real_escape_string ($_POST['jaar']) . "',
'" . mysql_real_escape_string ($_POST['door']) . "'
)
";
}
else {
// error laten zien
}
?>
Nog een vraag: wat wil je met minuten en jaren als je al een datum hebt?
bebdankt!
de bedoeling van de datum is:
het kunnen zien wanneer ik een dvd aan mijn collectie heb toegevoegd.
als ik je script gebruik krijg ik de volgende notice:
Notice: Undefined index: titel in C:\xampp\htdocs\dvd\toevoegen.php on line 29 (volgens voorbeeld dus 27)
en dat t/m 35..
de bedoeling van de datum is:
het kunnen zien wanneer ik een dvd aan mijn collectie heb toegevoegd.
als ik je script gebruik krijg ik de volgende notice:
Notice: Undefined index: titel in C:\xampp\htdocs\dvd\toevoegen.php on line 29 (volgens voorbeeld dus 27)
en dat t/m 35..
Ik vroeg niet naar de bedoeling van je datum, ik vroeg naar de bedoeling van die extra velden "minuten" en "jaren"?
Klopt, hij hoort zo:
Klopt, hij hoort zo:
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
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
<?php
$aErrors = array();
$aRequired = array ('titel', 'door');
if($_SERVER['REQUEST_METHOD'] == 'POST') {
foreach ($aRequired as $val) {
if (empty ($_POST[$val])) {
array_push ($aErrors, 'U bent vergeten ' . $val . ' in te vullen');
}
}
if (empty ($aErrors)) {
$sql = "
INSERT INTO multimedia
(
titel,
artiest,
genre,
datum,
trefwoorden,
minuten,
sleevenr,
jaar,
door
)
VALUES
(
'" . mysql_real_escape_string ($_POST['titel']) . "',
'" . mysql_real_escape_string ($_POST['artiest']) . "',
'" . mysql_real_escape_string ($_POST['genre']) . "',
NOW(),
'" . mysql_real_escape_string ($_POST['trefwoorden']) . "',
'" . mysql_real_escape_string ($_POST['minuten']) . "',
'" . mysql_real_escape_string ($_POST['sleevenr']) . "',
'" . mysql_real_escape_string ($_POST['jaar']) . "',
'" . mysql_real_escape_string ($_POST['door']) . "'
)
";
}
else {
// error laten zien
}
}
?>
$aErrors = array();
$aRequired = array ('titel', 'door');
if($_SERVER['REQUEST_METHOD'] == 'POST') {
foreach ($aRequired as $val) {
if (empty ($_POST[$val])) {
array_push ($aErrors, 'U bent vergeten ' . $val . ' in te vullen');
}
}
if (empty ($aErrors)) {
$sql = "
INSERT INTO multimedia
(
titel,
artiest,
genre,
datum,
trefwoorden,
minuten,
sleevenr,
jaar,
door
)
VALUES
(
'" . mysql_real_escape_string ($_POST['titel']) . "',
'" . mysql_real_escape_string ($_POST['artiest']) . "',
'" . mysql_real_escape_string ($_POST['genre']) . "',
NOW(),
'" . mysql_real_escape_string ($_POST['trefwoorden']) . "',
'" . mysql_real_escape_string ($_POST['minuten']) . "',
'" . mysql_real_escape_string ($_POST['sleevenr']) . "',
'" . mysql_real_escape_string ($_POST['jaar']) . "',
'" . mysql_real_escape_string ($_POST['door']) . "'
)
";
}
else {
// error laten zien
}
}
?>
Hij werkt niet :S..
Geen foutmeldingen..
maar hij voegt hem niet toe aan de database..
als ik de sql echo en dna in mysql gooi pakt die hem wel..
Minuten is voor het aan minuten hoelang de dvd duurt.
Jaar is voor welk jaar de dvd is uitgekomen...
Geen foutmeldingen..
maar hij voegt hem niet toe aan de database..
als ik de sql echo en dna in mysql gooi pakt die hem wel..
Minuten is voor het aan minuten hoelang de dvd duurt.
Jaar is voor welk jaar de dvd is uitgekomen...
De code van Jan voert dan ook nergens een query uit en controleert ook nergens of de query is gelukt. Er ontbreekt dus nog een stuk code, dat mag je zelf even bouwen.
Ik zie ook nergens mysql_query($sql); staan...
Dan is het logisch dat er niks in de DB komt.
Dan is het logisch dat er niks in de DB komt.
Edit:
pgFrank was me weer eens voor :).
Gewijzigd op 01/01/1970 01:00:00 door Jelle Posthuma
oja sorry mijn fout..
hij werkt nou iig perfect..
mag ik jullie wederom hartelijk bedanken!
hij werkt nou iig perfect..
mag ik jullie wederom hartelijk bedanken!




