[PHP] Image weergeven vanuit een blob *

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • OVERLORD_1982
  • Registratie: Juni 2001
  • Laatst online: 21-06 10:31
Ik wil dus graag een plaatje weergeven vanuit een database.

Ik heb hier al heel wat topics over gelezen, echter werd in geen van alle mijn probleem beschreven.
Uit de topics blijkt juist dat mijn methode goed is, maar ik zie echt iets over het hoofd.
Ik denk zelf dat het fout gaat bij het aanroepen.

Op pagina 1 roep ik het plaatje aan:
code:
1
[img]"include/image.php?imageid=3"[/img]


Op pagina 2 verwerk ik de aanvraag:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
error_reporting(E_ALL);

include("function.php");
Connect ();
if (!empty($_GET['imageid'])) {  
    $query = "SELECT type,length,content 
        FROM imagess 
        WHERE id='" . $_GET[imageid] . "'";  
    $result = mysql_query($query) or Die(mysql_error());  
    while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {  
        Header("Content-Length: " . $row['length'] . "\nContent-Type: " . $row['type']);  
        echo $row['content'];  
    }  
}
?> 


Dit levert echter niets op. Ik heb zelf het idee dat image.php niet eens word gerund, want als ik bijvoorbeeld de connectie met de database weghaal, volgt er geen error.

Ik draai PHP 5.0.3 op IIS 6.0

Iemand enig idee?

[ Voor 9% gewijzigd door OVERLORD_1982 op 18-04-2005 11:08 ]


Acties:
  • 0 Henk 'm!

  • sjroorda
  • Registratie: December 2001
  • Laatst online: 20:03
Wat krijg je te zien als je direct het plaatje in je browser probeert te openen? (include/image.php?imageid=3). Denk dat er output voor zit, waardoor de browser het plaatje niet rendert.

Acties:
  • 0 Henk 'm!

  • Salandur
  • Registratie: Mei 2003
  • Laatst online: 14:41

Salandur

Software Engineer

voer image.php eens los uit, dan krijg je waarschijnlijk wel de waarschuwing te zien, omdat een browser een foute image probeert te renderen...

Assumptions are the mother of all fuck ups | iRacing Profiel


Acties:
  • 0 Henk 'm!

  • OVERLORD_1982
  • Registratie: Juni 2001
  • Laatst online: 21-06 10:31
Die was ik inderdaad ook al tegen gekomen.
Als ik hem rechtstreeks aanroep, krijg ik ook gewoon het kruisje :(

Acties:
  • 0 Henk 'm!

  • Radiant
  • Registratie: Juli 2003
  • Niet online

Radiant

Certified MS Bob Administrator

Dan moet je eventjes het content type weghalen, dan zie je gewoon de output.

Acties:
  • 0 Henk 'm!

  • OVERLORD_1982
  • Registratie: Juni 2001
  • Laatst online: 21-06 10:31
Salandur schreef op maandag 18 april 2005 @ 10:40:
voer image.php eens los uit, dan krijg je waarschijnlijk wel de waarschuwing te zien, omdat een browser een foute image probeert te renderen...
Als ik image.php los uitvoer, en alleen even imageid specificeer, krijg ik keurig het plaatje.

Acties:
  • 0 Henk 'm!

  • sjroorda
  • Registratie: December 2001
  • Laatst online: 20:03
Wat is de inhoud van $query? (in beide gevallen, dus met de $_GET en de directe imageid zoals je net zei)

[ Voor 58% gewijzigd door sjroorda op 18-04-2005 10:45 ]


Acties:
  • 0 Henk 'm!

  • OVERLORD_1982
  • Registratie: Juni 2001
  • Laatst online: 21-06 10:31
Radiant schreef op maandag 18 april 2005 @ 10:43:
Dan moet je eventjes het content type weghalen, dan zie je gewoon de output.
Zelfs dan gebeurt er niets, het lijkt er echt op dat image.php helemaal niet word uitgevoerd.

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Ten eerste: waarom die while? Je krijgt toch maar één record terug? En ten tweede sta je open voor SQL injectie. Doet je image het trouwens wel als je error_reporting op E_NONE zet?

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • OVERLORD_1982
  • Registratie: Juni 2001
  • Laatst online: 21-06 10:31
sjroorda schreef op maandag 18 april 2005 @ 10:45:
Wat is de inhoud van $query? (in beide gevallen, dus met de $_GET en de directe imageid zoals je net zei)
Ik krijg niets terug van image.php, dus de $_GET kan ik niet achterhalen, echter word er de zelfde query uitgevoerd als ik hem rechtstreeks benader en dan komt er het volgende uit:
$row['type'] = image/pjpeg
$row['length'] = 28342
$row['content'] = een heleboel tekentjes :)

Acties:
  • 0 Henk 'm!

  • OVERLORD_1982
  • Registratie: Juni 2001
  • Laatst online: 21-06 10:31
-NMe- schreef op maandag 18 april 2005 @ 10:49:
Ten eerste: waarom die while? Je krijgt toch maar één record terug? En ten tweede sta je open voor SQL injectie. Doet je image het trouwens wel als je error_reporting op E_NONE zet?
In eerste instantie stond de error reporting alleen op warnings, deze heb ik juist even op E_ALL gezet om te kijken of ik een foutmelding kon krijgen.

Wat betreft de while lus..... je hebt gelijk, die heb ik niet nodig, maar maakt voor het probleem volgens mij niet uit.

Kan je misschien je SQL injectie toelichten????

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

OVERLORD_1982 schreef op maandag 18 april 2005 @ 10:55:
Kan je misschien je SQL injectie toelichten????
Ik heb even niet al teveel tijd, maar [google="sql injection"] moet je ook wel kunnen helpen. :)

Waarom gebruik je eigenlijk print_r om de content af te drukken? Het is toch geen array? Gebruik eens gewoon echo?

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • OVERLORD_1982
  • Registratie: Juni 2001
  • Laatst online: 21-06 10:31
-NMe- schreef op maandag 18 april 2005 @ 10:57:
[...]

Ik heb even niet al teveel tijd, maar [google="sql injection"] moet je ook wel kunnen helpen. :)

Waarom gebruik je eigenlijk print_r om de content af te drukken? Het is toch geen array? Gebruik eens gewoon echo?
Ik ga even kijken naar SQL injectie, wat betreft de print_r deze haalde ik uit een andere topic, hij stond gewoon op echo.
Onder het motto "proberen kan nooit kwaad" :)

Acties:
  • 0 Henk 'm!

  • OVERLORD_1982
  • Registratie: Juni 2001
  • Laatst online: 21-06 10:31
Dammit I feel stupid.

Het functioneerd nu, had nogal een hele domme fout gemaakt.

Ik had gister om een error te forceren in de query SELECT bla, bla2, bla3 FROM imagess gezet, ik was alleen even vergeten dit terug te zetten naar images.

één ieder bedankt voor de moeite (ik ga mij verdiepen in SQL injection en mij de rest van deze dag schamen :o )

Acties:
  • 0 Henk 'm!

  • Salandur
  • Registratie: Mei 2003
  • Laatst online: 14:41

Salandur

Software Engineer

OVERLORD_1982 schreef op maandag 18 april 2005 @ 10:43:
[...]

Als ik image.php los uitvoer, en alleen even imageid specificeer, krijg ik keurig het plaatje.
In dat geval kan ik alleen maar concluderen dat je aanroep in je html fout is, hij kan het bestand dus niet vinden vanuit je pagina.
[img]"<pad[/img]/include/image.php?imageid=blabla">

Assumptions are the mother of all fuck ups | iRacing Profiel


Acties:
  • 0 Henk 'm!

  • KneoK
  • Registratie: December 2001
  • Laatst online: 16:48

KneoK

Not in a million lightyears

Salandur schreef op maandag 18 april 2005 @ 11:25:
[...]

In dat geval kan ik alleen maar concluderen dat je aanroep in je html fout is, hij kan het bestand dus niet vinden vanuit je pagina.
[img]"<pad[/img]/include/image.php?imageid=blabla">
Kijk voor de gein eens naar het bericht boven je ;)

Acties:
  • 0 Henk 'm!

  • Salandur
  • Registratie: Mei 2003
  • Laatst online: 14:41

Salandur

Software Engineer

BioWEB schreef op maandag 18 april 2005 @ 16:54:
[...]

Kijk voor de gein eens naar het bericht boven je ;)
oeps

Assumptions are the mother of all fuck ups | iRacing Profiel

Pagina: 1