[PHP] Weergeven foto bij bijbehorend ID werkt niet

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • MaZo
  • Registratie: Mei 2002
  • Niet online
Hoi,

Ik heb een probleem met het weergeven van een foto nadat er op de thumbnail is geklikt. Het zit zo:
Ik roep een foto aan nadat er op een thumbnail wordt geklikt. De foto wordt aangeroepen als xl.php?id=...
Mijn xl.php ziet er als volgt uit:
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
<?
include("config.php");
include("functies.php");

print "<?xml version=\"1.0\" encoding=\"utf-8\"?>"
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="nl">

<head>
<title>Weblog</title>
</head>

<body>
<?
$list = mysql_fetch_object($query)) {
$select = "SELECT foto FROM weblog_berichten WHERE id = '".$_GET['id']."'"; 
$query = mysql_query($select)or die(mysql_error());

echo "<div class=\"foto\">".afbeelding("fotos/".$list->foto."", $_GET['id'])."</div>";
?>
</body>

</html>
Het probleem is echter dat er niks anders wordt weergegeven dan een lege pagina. In de source van die pagina is zelfs niet eens het door mij aangegeven DOCTYPE te vinden. Oftewel, er gaat iets fout.

Wat info:
  • De naam van de foto (bijvoorbeeld blabla.jpg) staat in de kolom "foto" in de tabel "weblog_berichten" van mijn database.
  • ".afbeelding." verwijst naar een functie (function afbeelding($url, $id)) welke in functies.php staat. Aan de functie ligt het niet, die werkt perfect. Wellicht is het de aanroeping?
Ik heb al van alles geprobeerd, maar ik kom er niet uit. Iemand hier die mij misschien kan helpen?

Acties:
  • 0 Henk 'm!

Verwijderd

php error handling staat niet aan?

ik zie bijvoorbeeld dat { niet word afgesloten.

Acties:
  • 0 Henk 'm!

  • MaZo
  • Registratie: Mei 2002
  • Niet online
Krijg nou wat, wat die } daar nou doet.

Ik ga weer even pielen, bedankt voor de tip! :)

Acties:
  • 0 Henk 'm!

  • darkrain
  • Registratie: Augustus 2001
  • Nu online

darkrain

Moderator Discord

Geniet

De volgorde waarin je zaken uitvoert is ook niet helemaal wat het moet zijn volgens mij.
Mysql_fetch_object moet je na mysql_query uitvoeren met als parameter de uitkomst van mysql_query.

Verder staan er zo hier en daar wat haakjes teveel of te weinig.

Misschien een goed idee om:
PHP:
1
error_reporting(E_ALL);

bovenaan je code te zetten.

[ Voor 34% gewijzigd door darkrain op 27-02-2005 20:18 ]

Tweakers Discord


Acties:
  • 0 Henk 'm!

Verwijderd

; na eerst print zie ik ook niet

edit
verder geen verstand van xml, maar volgensmij is de eerste print-functie je header (of niet?) en dan moet het volgensmij dit zijn (header niet goed, dan ook geen output):[php]
print "xml version=\"1.0\" encoding=\"utf-8\""; [/php]
is dus niet zo :P

[ Voor 91% gewijzigd door Verwijderd op 27-02-2005 20:24 ]


Acties:
  • 0 Henk 'm!

  • MaZo
  • Registratie: Mei 2002
  • Niet online
Ja, ik kwam er tevens achter dat m'n hele query string niet klopte.
Heb wat dingen aangepast en het draait nu als een trein.

Overigens is de header prima, althans dat vindt de W3C validator. ;)

Acties:
  • 0 Henk 'm!

  • OkkE
  • Registratie: Oktober 2000
  • Laatst online: 04-09 08:16

OkkE

CSS influencer :+

Ik zou ook even je $_GET['id'] checken voor je hem in je query gebruikt, niet echt veilig op de manier die je hierboven post.. Al was het maar dat je zoiets deed:

PHP:
1
2
3
4
$id = intval( $_GET['id'] );
$select = "SELECT `foto` FROM `weblog_berichten` WHERE `id` = " . $id;
// Of zoals ik dan vaak doe:
$select = sprintf( "SELECT `foto` FROM `weblog_berichten` WHERE `id` = %d", $id );

“The best way to get the right answer on the Internet is not to ask a question, it's to post the wrong answer.”
QA Engineer walks into a bar. Orders a beer. Orders 0 beers. Orders 999999999 beers. Orders a lizard. Orders -1 beers.


Acties:
  • 0 Henk 'm!

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

MaZo schreef op maandag 28 februari 2005 @ 16:49:
Ja, ik kwam er tevens achter dat m'n hele query string niet klopte.
Heb wat dingen aangepast en het draait nu als een trein.

Overigens is de header prima, althans dat vindt de W3C validator. ;)
Maar niet nodig. Character-encoding zal je webserver als het goed is wel meesturen (hoewel ik wel even zou controleren of die ook UTF-8 aangeeft). Ik mis wel een content-type header ( application/xhtml+xml om precies te zijn) aangezien je XHTML 1.1 gebruikt en je dat eigenlijk niet als text/html zou moeten versturen (IE gebruikers hebben dan dus gewoon pech)

Intentionally left blank


Acties:
  • 0 Henk 'm!

  • MaZo
  • Registratie: Mei 2002
  • Niet online
Hmm, ben idd de content-type header vergeten, thx voor de tip.
In m'n site zelf heb ik dit wel allemaal, omdat het hier echter puur ging om een pagina die een image laadt ben ik wat laks geweest lol.
Pagina: 1