werkt dit
als de datum is verstreken word de database automatisch geleegd en zal gastenboek worden weergegeven
Probeer het zou ik zeggen :)
Nee dat werkt niet tenzij je een array element hebt dat NOW() heet
TRUNCATE gebruik je hooguit om testdata weg te gooien, verder gebruik je dit nooit en te nimmer. Wanneer dit in een PHP-script staat, ben je fout bezig, neem je onnodig veel risico's. Het is een hele rare en onveilige constructie.
ik krijg een foutmelding:
Notice: Undefined variable: var_duur in /home/weesenbeek/domains/weesenbeek.nl/public_html/gastenboek/index.php on line 1187668352
het gaat erom dat de waardes als het geplande onderhoud is verlopen verwijderd worden zodat je doorverwezen word naar de uiteindelijke pagina
index.php
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
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
<?php virtual('/gastenboek/Connections/gastenboek.php');
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
$theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
$theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}
}
mysql_select_db($database_gastenboek, $gastenboek);
$query_onderhoud = "SELECT DATEDIFF(eind,NOW())AS verschil FROM Adminonderhoud ORDER BY id DESC";
$onderhoud = mysql_query($query_onderhoud, $gastenboek) or die(mysql_error());
$row_onderhoud = mysql_fetch_assoc($onderhoud);
$totalRows_onderhoud = mysql_num_rows($onderhoud);
mysql_select_db($database_gastenboek, $gastenboek);
$query_duur = "SELECT * FROM Adminonderhoud ORDER BY id DESC";
$duur = mysql_query($query_duur, $gastenboek) or die(mysql_error());
$row_duur = mysql_fetch_assoc($duur);
$totalRows_duur = mysql_num_rows($duur);
mysql_select_db($database_gastenboek, $gastenboek);
$query_now = "SELECT NOW() FROM Adminonderhoud ORDER BY id DESC";
$now = mysql_query($query_now, $gastenboek) or die(mysql_error());
$row_now = mysql_fetch_assoc($now);
$totalRows_now = mysql_num_rows($now);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.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>
<?php
// Turn off all error reporting
error_reporting(1);
// Report simple running errors
error_reporting(E_ERROR | E_WARNING | E_PARSE);
// Reporting E_NOTICE can be good too (to report uninitialized
// variables or catch variable name misspellings ...)
error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);
// Report all errors except E_NOTICE
// This is the default value set in php.ini
error_reporting(E_ALL ^ E_NOTICE);
// Report all PHP errors (bitwise 63 may be used in PHP 3)
error_reporting(E_ALL);
// Same as error_reporting(E_ALL);
ini_set('error_reporting', E_ALL);
?>
<?php
if($var_duur['eind'] > $row_now['NOW()']){
include('gastenboek.php');
if ($sql = 'TRUNCATE TABLE `Adminonderhoud`'){
}else{
include('onderhoud.php');
}
}
?>
<?php
mysql_free_result($onderhoud);
mysql_free_result($duur);
mysql_free_result($now);
?>
</body>
</html>
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
$theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
$theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}
}
mysql_select_db($database_gastenboek, $gastenboek);
$query_onderhoud = "SELECT DATEDIFF(eind,NOW())AS verschil FROM Adminonderhoud ORDER BY id DESC";
$onderhoud = mysql_query($query_onderhoud, $gastenboek) or die(mysql_error());
$row_onderhoud = mysql_fetch_assoc($onderhoud);
$totalRows_onderhoud = mysql_num_rows($onderhoud);
mysql_select_db($database_gastenboek, $gastenboek);
$query_duur = "SELECT * FROM Adminonderhoud ORDER BY id DESC";
$duur = mysql_query($query_duur, $gastenboek) or die(mysql_error());
$row_duur = mysql_fetch_assoc($duur);
$totalRows_duur = mysql_num_rows($duur);
mysql_select_db($database_gastenboek, $gastenboek);
$query_now = "SELECT NOW() FROM Adminonderhoud ORDER BY id DESC";
$now = mysql_query($query_now, $gastenboek) or die(mysql_error());
$row_now = mysql_fetch_assoc($now);
$totalRows_now = mysql_num_rows($now);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.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>
<?php
// Turn off all error reporting
error_reporting(1);
// Report simple running errors
error_reporting(E_ERROR | E_WARNING | E_PARSE);
// Reporting E_NOTICE can be good too (to report uninitialized
// variables or catch variable name misspellings ...)
error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);
// Report all errors except E_NOTICE
// This is the default value set in php.ini
error_reporting(E_ALL ^ E_NOTICE);
// Report all PHP errors (bitwise 63 may be used in PHP 3)
error_reporting(E_ALL);
// Same as error_reporting(E_ALL);
ini_set('error_reporting', E_ALL);
?>
<?php
if($var_duur['eind'] > $row_now['NOW()']){
include('gastenboek.php');
if ($sql = 'TRUNCATE TABLE `Adminonderhoud`'){
}else{
include('onderhoud.php');
}
}
?>
<?php
mysql_free_result($onderhoud);
mysql_free_result($duur);
mysql_free_result($now);
?>
</body>
</html>
3 queries op dezelfde tabel lijkt me evenmin nodig, vraag gewoon in 1x de benodigde data op en klaar ben je.
TRUNCATE, zoals gemeld, die gooi je weg. Daar wil je echt geen risico's mee nemen.
Quote:
Dan zorg je dat je ergens een status aanpast, die je ergens in de database hebt opgeslagen. Met een simpele UPDATE-query is dat eenvoudig en zonder onnodige risico's te realiseren.het gaat erom dat de waardes als het geplande onderhoud is verlopen verwijderd worden zodat je doorverwezen word naar de uiteindelijke pagina
Edit: met andere woorden: Pas zowel de database als het script als de achterliggende logica aan. Bovenstaande aanpak is vragen om (grote) problemen.
Gewijzigd op 01/01/1970 01:00:00 door Frank -
Jacco schreef op 21.12.2007 14:40:
Nee dat werkt niet tenzij je een array element hebt dat NOW() heet
En dit geeft altijd true.
elseif ($sql = 'TRUNCATE TABLE `Admin_onderhoud`';)
Gewijzigd op 01/01/1970 01:00:00 door - -
Notice: Undefined variable: var_tijd in /home/weesenbeek/domains/weesenbeek.nl/public_html/gastenboek/index.php on line 1187668352
mysql_select_db($database_gastenboek, $gastenboek);
$query_tijd = "SELECT * FROM Adminonderhoud ORDER BY id DESC";
$tijd = mysql_query($query_tijd, $gastenboek) or die(mysql_error());
$row_tijd = mysql_fetch_assoc($tijd);
$totalRows_tijd = mysql_num_rows($tijd);
maar verder werkt het al wel eventjes nalopen het gastenboek word al weergegeven als de datum is verstreken
Niet-gedefineerde variabele, een variabele die niet bestaat ga jij wel gebruiken. Dat gaat dus fout.
Quote:
Lijkt me vrij duidelijk: 'Ongedefinieerde variabele var_tijd'. Oftewel $var_tijd gebruik je ergens terwijl de variabele niet bestaat...Undefined variable: var_tijd
Code (php)
alle benodigde bestanden staan in de zelfde map hoe kan ik dit oplossen
Krijg je een foutmelding?
zo ziet de pagina gastenboek.php eruit
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
// Turn off all error reporting
error_reporting(0);
// Report simple running errors
error_reporting(E_ERROR | E_WARNING | E_PARSE);
// Reporting E_NOTICE can be good too (to report uninitialized
// variables or catch variable name misspellings ...)
error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);
// Report all errors except E_NOTICE
// This is the default value set in php.ini
error_reporting(E_ALL ^ E_NOTICE);
// Report all PHP errors (bitwise 63 may be used in PHP 3)
error_reporting(E_ALL);
// Same as error_reporting(E_ALL);
ini_set('error_reporting', E_ALL);
?>
<body>
gastenboek
</body>
</html>
[\code]
// Turn off all error reporting
error_reporting(0);
// Report simple running errors
error_reporting(E_ERROR | E_WARNING | E_PARSE);
// Reporting E_NOTICE can be good too (to report uninitialized
// variables or catch variable name misspellings ...)
error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);
// Report all errors except E_NOTICE
// This is the default value set in php.ini
error_reporting(E_ALL ^ E_NOTICE);
// Report all PHP errors (bitwise 63 may be used in PHP 3)
error_reporting(E_ALL);
// Same as error_reporting(E_ALL);
ini_set('error_reporting', E_ALL);
?>
<body>
gastenboek
</body>
</html>
[\code]
Gewijzigd op 01/01/1970 01:00:00 door willem van weesenbeek
En het zijn voorbeelden voor verschillende instellingen! 1x error_reporting zonder die ini_set is meer dan voldoende...
Gewijzigd op 01/01/1970 01:00:00 door Joren de Wit
De rest doet niks, staat alleen maar een beetje in de weg en zorgt voor onduidelijkheid. Kortom, kies 1 instelling en gooi de rest weg.
heb ik gedaan
En dan nu verder. Nog steeds een lege pagina? Als je gastenboek.php include kan dat niet, want dan wordt sowieso die html geëchoed. Weet je dus wel zeker dat gastenboek.php geinclude wordt?
ja als ik in de code onderhoud.php en gastenboek.php omdraai geeft hij gastenboek weer.