Gegevens uit de database halen lukt niet.
Patrick Niezen schreef op 08.04.2008 14:48:
Dat betekend dat:
Dus $_GET['id'] bestaat niet, of het is geen digit. Wat is de URL die jij aanroept voor deze webpagina/script?
Edit: Goed gezien SanThe, ik las d'r overheen...
Dus $_GET['id'] bestaat niet, of het is geen digit. Wat is de URL die jij aanroept voor deze webpagina/script?
Edit: Goed gezien SanThe, ik las d'r overheen...
Ik heb een contentscript. Hiervoor gebruik ik op de homepage het volgende:
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
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
<?php
include("./config.php");
$home_content = 'Welkom ';
$datum = ' datum ';
$sql_menu = "
SELECT
paginaid,
titel,
" . $datum . " AS datum_nl
FROM
content
ORDER BY
volgordeid DESC
";
if (! $res_menu = mysql_query($sql_menu))
{
$menu = 'Fout bij het ophalen van de gegevens uit de database! Dit is de gebruikte query: <br /><pre> ' . $sql_menu . '</pre><br />En dit is de fout: <br />' . mysql_error();
}
else
{
if (mysql_num_rows($res_menu) > 0)
{
$menu_items = array();
while ($rij_menu = mysql_fetch_assoc($res_menu))
{
$menu_items[] = $rij_menu;
}
$menu = '<ul>';
foreach ($menu_items as $item)
{
$menu .= '<li><a href="?id=' . $item['paginaid'] . '">' . $item['titel'] . '</a></li>' . "\r\n";
}
$menu .= '</ul>';
}
else
{
$menu = '<em>Nog geen titels toegevoegd. </em>';
}
}
if (!empty($_GET['id']))
{
if (!ctype_digit($_GET['id']))
{
$content = $home_content;
}
else
{
$sql_content = "
SELECT
titel,
" . $datum . " as datum_nl,
content
FROM
content
WHERE
paginaid = " . mysql_real_escape_string($_GET['id']) . "
LIMIT 1
";
if (! $res_content = mysql_query($sql_content))
{
$content = 'Fout bij het ophalen van de gegevens uit de database! Dit is de gebruikte query: <br /><pre> ' . $sql_content . '</pre><br />En dit is de fout: <br />' . mysql_error();
}
else
{
if (mysql_num_rows($res_content) > 0)
{
$rij_content = mysql_fetch_assoc($res_content);
$content = '
<p>
</p>
<div id="bericht">
' . $rij_content['content'] . '
</div>
';
}
else
{
$content = 'Bericht niet gevonden. ';
}
}
}
}
else
{
$content = $home_content;
}
?>
include("./config.php");
$home_content = 'Welkom ';
$datum = ' datum ';
$sql_menu = "
SELECT
paginaid,
titel,
" . $datum . " AS datum_nl
FROM
content
ORDER BY
volgordeid DESC
";
if (! $res_menu = mysql_query($sql_menu))
{
$menu = 'Fout bij het ophalen van de gegevens uit de database! Dit is de gebruikte query: <br /><pre> ' . $sql_menu . '</pre><br />En dit is de fout: <br />' . mysql_error();
}
else
{
if (mysql_num_rows($res_menu) > 0)
{
$menu_items = array();
while ($rij_menu = mysql_fetch_assoc($res_menu))
{
$menu_items[] = $rij_menu;
}
$menu = '<ul>';
foreach ($menu_items as $item)
{
$menu .= '<li><a href="?id=' . $item['paginaid'] . '">' . $item['titel'] . '</a></li>' . "\r\n";
}
$menu .= '</ul>';
}
else
{
$menu = '<em>Nog geen titels toegevoegd. </em>';
}
}
if (!empty($_GET['id']))
{
if (!ctype_digit($_GET['id']))
{
$content = $home_content;
}
else
{
$sql_content = "
SELECT
titel,
" . $datum . " as datum_nl,
content
FROM
content
WHERE
paginaid = " . mysql_real_escape_string($_GET['id']) . "
LIMIT 1
";
if (! $res_content = mysql_query($sql_content))
{
$content = 'Fout bij het ophalen van de gegevens uit de database! Dit is de gebruikte query: <br /><pre> ' . $sql_content . '</pre><br />En dit is de fout: <br />' . mysql_error();
}
else
{
if (mysql_num_rows($res_content) > 0)
{
$rij_content = mysql_fetch_assoc($res_content);
$content = '
<p>
</p>
<div id="bericht">
' . $rij_content['content'] . '
</div>
';
}
else
{
$content = 'Bericht niet gevonden. ';
}
}
}
}
else
{
$content = $home_content;
}
?>
Maar nu heb ik telkens een leeg vlak over aan de rechterkant. Dus als ik op een link klik van het menu (bovenin), dan opent hij dit in de content aan de linkerkant. In de content bevinden zich allerlei kleine plaatjes. Wanneer ik op een klein plaatje klik dan opent hij dit in een iframe aan de rechterkant. Alleen is de rechterkant nog leeg wanneer ik nog geen klein plaatje aangeklikt heb. Nu is mijn intentie met dit script om daar per link een standaard tekst neer te plaatsen. maar op een of ander manier vindt hij de pagina id niet.
Gewijzigd op 01/01/1970 01:00:00 door Paul IJmker
Patrick Niezen schreef op 08.04.2008 14:51:
Je kunt uitsluiten (op dit moment) dat er fouten zijn met je database en/of query. Hij komt namelijk niet eens die eerste if()-lus door! Dus de aanroep van de webpagina is gewoon verkeerd. Wat is nu de URL die je gebruikt dan?
Dat zou in de richting van: http://localhost/index.php?id=95
moeten zijn...
Dat zou in de richting van: http://localhost/index.php?id=95
moeten zijn...
Zie de link : http://www.webthesign.nl/test/?id=102
Ik heb geen ervaring met iframes, maar het lijkt mij dat je het id (GET-waarde) daar ook moet aan meegeven... hij werkt overigens wel in het kleine linker vlak (de non-iframe). Probeer eens je iframe de ?id mee te geven.
Sowieso gebruik geen iframes. Kijk eens naar include(). Via CSS kun je dan een scrollbar geven aan de div waarin de pagina's geladen worden.
P.S.: Volgens mij doet hij het nu...
Patrick Niezen schreef op 08.04.2008 15:35:
Ik heb geen ervaring met iframes, maar het lijkt mij dat je het id (GET-waarde) daar ook moet aan meegeven... hij werkt overigens wel in het kleine linker vlak (de non-iframe). Probeer eens je iframe de ?id mee te geven.
Zonder Iframe werkt het wel. mmmmm. Maar nu heb ik het probleem dat mijn plaatje niet weer wordt gegeven in het menu rechts. Met iframe werkte dat wel. Heb jij misschien een oplossing dat wanneer ik op het plaatje links klik (kleine plaatje) dat die vergroot wordt in de content rechts?
Djemo schreef op 08.04.2008 15:40:
Ten eerste wil een leeg berichten ID niet meteen zeggen dat je haxort. Je kunt ook zonder GET 'id' binnenkomen op de website, wat het meest aannemelijk is.
Sowieso gebruik geen iframes. Kijk eens naar include(). Via CSS kun je dan een scrollbar geven aan de div waarin de pagina's geladen worden.
P.S.: Volgens mij doet hij het nu...
Sowieso gebruik geen iframes. Kijk eens naar include(). Via CSS kun je dan een scrollbar geven aan de div waarin de pagina's geladen worden.
P.S.: Volgens mij doet hij het nu...
Hij doet het nu wel, alleen wanneer ik op een klein plaatje klik, moet deze geopend worden aan de rechterkant. Is daar een makkelijke oplossing voor?
Djemo schreef op 08.04.2008 15:40:
Ten eerste wil een leeg berichten ID niet meteen zeggen dat je haxort. Je kunt ook zonder GET 'id' binnenkomen op de website, wat het meest aannemelijk is.
Mja klopt, maar toen ik die code schreef was de website nog niet gelinkt en wist ik het doel dus ook niet (ik ging er dus van uit dat er altijd een id werdt opgegeven).
Dat je afbeelding het niet doet met include komt misschien door het pad naar de afbeelding (staat je iframe source in een andere map?).
Patrick Niezen schreef op 08.04.2008 15:46:
Mja klopt, maar toen ik die code schreef was de website nog niet gelinkt en wist ik het doel dus ook niet (ik ging er dus van uit dat er altijd een id werdt opgegeven).
Dat je afbeelding het niet doet met include komt misschien door het pad naar de afbeelding (staat je iframe source in een andere map?).
Djemo schreef op 08.04.2008 15:40:
Ten eerste wil een leeg berichten ID niet meteen zeggen dat je haxort. Je kunt ook zonder GET 'id' binnenkomen op de website, wat het meest aannemelijk is.
Mja klopt, maar toen ik die code schreef was de website nog niet gelinkt en wist ik het doel dus ook niet (ik ging er dus van uit dat er altijd een id werdt opgegeven).
Dat je afbeelding het niet doet met include komt misschien door het pad naar de afbeelding (staat je iframe source in een andere map?).
Iframe is er helemaal uitgegooid. Dit gebruik ik niet meer omdat anders dit niet werkt. Maar wanneer ik op het kleine plaatje klik onder de optie bruidfoto's dan opende hij het plaatje eerder in een iframe. Alleen nu opent hij het plaatje in een nieuw venster. Hoe kan ik het zo uitvoeren dat wanneer ik op het kleine plaatje klik de vergrote versie wordt weergegeven in het rechtervenster waar nu dus in dit geval '3' staat. Dit is ook tevens mijn laatste vraag, want dan kan ik weer verder.