Gastenboek werkt niet.
Hallo, ik ben met met eerste PHP gastenboek bezig, en nu heb ik een probleem bij het bekijken van het gastenboek.
Ik krijg namelijk de foutmelding; Fatal error: Call to a member function showDate() on a non-object
Kan iemand mij vertellen wat er fout is:
Ik krijg namelijk de foutmelding; Fatal error: Call to a member function showDate() on a non-object
Kan iemand mij vertellen wat er fout is:
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
124
125
126
127
128
129
130
131
132
133
134
135
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
124
125
126
127
128
129
130
131
132
133
134
135
<?php
include("header.php");
$page = $_GET['page'];
$order= $_GET['order'];
// Validate browser input ------------------------------------------------------------
if (is_numeric($page) == false)
{
echo "<font color=\"red\">Non Numeric Page Number</font>";
include("footer.php");
exit;
}
if (!($order == "asc" || $order == "desc"))
{
echo "<font color=\"red\">Entry order can only be 'asc' or 'desc'</font>";
include("footer.php");
exit;
}
// -----------------------------------------------------------------------------------
if ($page == "") { $page = 1; }
$fwd = $page - 1;
$rwd = $page +1;
// Setting the default values for number of records per page -------------------------
$perpage = 10;
//$filename = "list.php";
// Reading in all the records, putting each guestbook entry in one Array Element -----
$filename = "list.txt";
$handle = fopen($filename, "r");
if (filesize($filename) == 0){ // mpg are there any entries to display
print "There are currently no entries to display"; // mpg no inform user
}
else
{
$datain = fread($handle, filesize($filename));
fclose($handle);
$out = explode("<!-- E -->", $datain);
$outCount = count($out) - 1;
$j = $outCount-1;
if ($order == "desc")
{
for ($i=0; $i<=$outCount; $i++)
{
$lines[$j] = unserialize($out[$i]);
$j = $j - 1;
}
}
else
{
for ($i=0; $i<=$outCount; $i++)
{
$lines[$i] = unserialize($out[$i]);
}
}
// Counting the total number of entries (lines) in the data text file ----------------
$result = count($lines);
$count = $result-1;
//echo $count."<br>";
// Caclulate how many pages there are ----------------------------------------
if ($count == 0) { $totalpages = 0; }
else { $totalpages = intval(($count - 1) / $perpage) + 1; }
$page = $totalpages - ($page - 1);
$end = $count - (($totalpages - $page) * $perpage);
$start = $end - ($perpage - 1); if ($start < 1) { $start = 1; }
//$end = ($perpage * $page) - 1;
//$start = $end - $perpage;
if ($start < 0) { $start = 0; }
//for ($i = $end; $i>=($start-1); $i--)
//for ($i = 0; $i<$outCount; $i++)
//for ($i=$start-1; $i<$end; $i++)
for ($i=$end-1; $i>$start-2; $i--)
{
//echo $i."<br>end-".$end."-start-".$start;
echo "<table bgcolor=#EFEFEF bordercolor=#C0C0C0 border=1 width=500 cellspacing=0 cellpadding=10><tr><td background=\"images/toolbar.jpg\" height=\"20\"></td></tr><tr><td>";
echo "<b>$listDatetxt: </b>";
$lines[$i]->showDate();
echo "<br><b>$listnametxt: </b>";
$lines[$i]->showFrom();
echo "<br><b>$listemailtxt: </b><a href=\"mailto:";
$lines[$i]->showEmail();
echo "\">";
$lines[$i]->showEmail();
echo "</a><br><br><b>$listMessagetxt: </b>";
$lines[$i]->showMessage();
echo "</td></tr></table><br>";
}
echo "<center>";
// Creating the Forward and Backward links -------------------------------------
if ($fwd > 0 && $rwd > 0 && $rwd<$totalpages+1)
{
echo "<br><a href=\"list.php?page=$fwd&order=$order\"><<</a>";
echo "<a href=\"list.php?page=$rwd&order=$order\">>></a><br>";
}
else if ($fwd == 0)
{ echo "<a href=\"list.php?page=$rwd&order=$order\">>></a><br>"; }
else if ($rwd == 0)
{ echo "<br><a href=\"list.php?page=$fwd&order=$order\"><<</a>"; }
else if ($rwd == $totalpages+1)
{ echo "<a href=\"list.php?page=$fwd&order=$order\"><<</a><br>"; }
for ($i = 1; $i<=$totalpages; $i++)
{
echo " <b>[ <a href=\"list.php?page=$i&order=$order\"><b>$i</b></a> ]</b> ";
}
echo "</center>";
} // mpg end if
include("footer.php");
?>
include("header.php");
$page = $_GET['page'];
$order= $_GET['order'];
// Validate browser input ------------------------------------------------------------
if (is_numeric($page) == false)
{
echo "<font color=\"red\">Non Numeric Page Number</font>";
include("footer.php");
exit;
}
if (!($order == "asc" || $order == "desc"))
{
echo "<font color=\"red\">Entry order can only be 'asc' or 'desc'</font>";
include("footer.php");
exit;
}
// -----------------------------------------------------------------------------------
if ($page == "") { $page = 1; }
$fwd = $page - 1;
$rwd = $page +1;
// Setting the default values for number of records per page -------------------------
$perpage = 10;
//$filename = "list.php";
// Reading in all the records, putting each guestbook entry in one Array Element -----
$filename = "list.txt";
$handle = fopen($filename, "r");
if (filesize($filename) == 0){ // mpg are there any entries to display
print "There are currently no entries to display"; // mpg no inform user
}
else
{
$datain = fread($handle, filesize($filename));
fclose($handle);
$out = explode("<!-- E -->", $datain);
$outCount = count($out) - 1;
$j = $outCount-1;
if ($order == "desc")
{
for ($i=0; $i<=$outCount; $i++)
{
$lines[$j] = unserialize($out[$i]);
$j = $j - 1;
}
}
else
{
for ($i=0; $i<=$outCount; $i++)
{
$lines[$i] = unserialize($out[$i]);
}
}
// Counting the total number of entries (lines) in the data text file ----------------
$result = count($lines);
$count = $result-1;
//echo $count."<br>";
// Caclulate how many pages there are ----------------------------------------
if ($count == 0) { $totalpages = 0; }
else { $totalpages = intval(($count - 1) / $perpage) + 1; }
$page = $totalpages - ($page - 1);
$end = $count - (($totalpages - $page) * $perpage);
$start = $end - ($perpage - 1); if ($start < 1) { $start = 1; }
//$end = ($perpage * $page) - 1;
//$start = $end - $perpage;
if ($start < 0) { $start = 0; }
//for ($i = $end; $i>=($start-1); $i--)
//for ($i = 0; $i<$outCount; $i++)
//for ($i=$start-1; $i<$end; $i++)
for ($i=$end-1; $i>$start-2; $i--)
{
//echo $i."<br>end-".$end."-start-".$start;
echo "<table bgcolor=#EFEFEF bordercolor=#C0C0C0 border=1 width=500 cellspacing=0 cellpadding=10><tr><td background=\"images/toolbar.jpg\" height=\"20\"></td></tr><tr><td>";
echo "<b>$listDatetxt: </b>";
$lines[$i]->showDate();
echo "<br><b>$listnametxt: </b>";
$lines[$i]->showFrom();
echo "<br><b>$listemailtxt: </b><a href=\"mailto:";
$lines[$i]->showEmail();
echo "\">";
$lines[$i]->showEmail();
echo "</a><br><br><b>$listMessagetxt: </b>";
$lines[$i]->showMessage();
echo "</td></tr></table><br>";
}
echo "<center>";
// Creating the Forward and Backward links -------------------------------------
if ($fwd > 0 && $rwd > 0 && $rwd<$totalpages+1)
{
echo "<br><a href=\"list.php?page=$fwd&order=$order\"><<</a>";
echo "<a href=\"list.php?page=$rwd&order=$order\">>></a><br>";
}
else if ($fwd == 0)
{ echo "<a href=\"list.php?page=$rwd&order=$order\">>></a><br>"; }
else if ($rwd == 0)
{ echo "<br><a href=\"list.php?page=$fwd&order=$order\"><<</a>"; }
else if ($rwd == $totalpages+1)
{ echo "<a href=\"list.php?page=$fwd&order=$order\"><<</a><br>"; }
for ($i = 1; $i<=$totalpages; $i++)
{
echo " <b>[ <a href=\"list.php?page=$i&order=$order\"><b>$i</b></a> ]</b> ";
}
echo "</center>";
} // mpg end if
include("footer.php");
?>
Gesponsorde koppelingen:
De functie showDate() bestaat niet of kent PHP niet.
Heb je ergens een document met functies staan?
-- EDIT --
En als ik het zo ff snel zie heb je ook scripts van internet gebruikt, dit geeft niet. Maar PROBEER (mits je dit kan) het zelf te doen, en bouw het script steeds verder uit naar jou wensen.
Heb je ergens een document met functies staan?
-- EDIT --
En als ik het zo ff snel zie heb je ook scripts van internet gebruikt, dit geeft niet. Maar PROBEER (mits je dit kan) het zelf te doen, en bouw het script steeds verder uit naar jou wensen.
Gewijzigd op 20/01/2012 14:43:17 door Rick de Graaff
Ja die heb ik. Moet ik hier iets in veranderen/wijzigen?
Toevoeging op 20/01/2012 14:52:05:
Ja klopt, maar ik ben net begonnen met PHP, dus om het een beetje onder de knie te krijgen, probeer het eerst met internet scripts.
Toevoeging op 20/01/2012 14:52:05:
Rick de Graaff op 20/01/2012 14:41:45:
De functie showDate() bestaat niet of kent PHP niet.
Heb je ergens een document met functies staan?
-- EDIT --
En als ik het zo ff snel zie heb je ook scripts van internet gebruikt, dit geeft niet. Maar PROBEER (mits je dit kan) het zelf te doen, en bouw het script steeds verder uit naar jou wensen.
Heb je ergens een document met functies staan?
-- EDIT --
En als ik het zo ff snel zie heb je ook scripts van internet gebruikt, dit geeft niet. Maar PROBEER (mits je dit kan) het zelf te doen, en bouw het script steeds verder uit naar jou wensen.
Ja klopt, maar ik ben net begonnen met PHP, dus om het een beetje onder de knie te krijgen, probeer het eerst met internet scripts.
Gewijzigd op 20/01/2012 14:50:24 door Nick Bierman
Ik veronderstel dat je in je for-loop niet de juiste condities hebt, waardoor minstens 1 element wordt aangesproken dat niet bestaat.
for ($i=$end-1; $i>$start-2; $i--)
Kan jij hier zelf aan uit?
Wat ik zou aanraden: herdefinieer $end en $start.
wijzig je berekening, zodat je tot dit komt:
for ($i=$end; $i >= $start; $i--)
Ik denk dat het duidelijker zou worden.
for ($i=$end-1; $i>$start-2; $i--)
Kan jij hier zelf aan uit?
Wat ik zou aanraden: herdefinieer $end en $start.
wijzig je berekening, zodat je tot dit komt:
for ($i=$end; $i >= $start; $i--)
Ik denk dat het duidelijker zou worden.



