PDA

Bekijk Volledige Versie : vreemd php http_referer probleem



RvB
12/05/05, 17:42
De volgende code zou bij een rechtstreekse oproep het plaatje bb_na.png moeten laten zien die in de directory images staat. De demo op een andere server werkt maar op mijn server niet. De code maakt deel uit van meerdere modules die gewoon werken maar de plaatjes worden niet getoond. Wat is er fout?

De php code:


<?php
error_reporting(E_ALL);
include_once('scripts/pagerank.class.php');
include_once('scripts/mysql.connect.php');
$db = New MyConnect();
$pagerank = new PageRank($_SERVER['HTTP_REFERER'], 'img', 'bb');
// header('Content-Type: image/png');
echo $_SERVER['HTTP_REFERER'];
if (file_exists('./images/'.$pagerank->style.'_'.trim($pagerank->pr).'.png') && isset($_SERVER['HTTP_REFERER'])) {
echo "stuff"; // $img = imagecreatefrompng('./images/'.$pagerank->style.'_'.trim($pagerank->pr).'.png');
$pagerank->storeData();
} else {
echo "no stuff";
// $img = imagecreatefrompng('./images/bb_na.png');
}
// imagepng($img);
?>



De foutmelding:

Notice: Undefined index: HTTP_REFERER in /home/****/public_html/image.php on line 6
8 7 8 7 8 8 7 8 8 7 8 7 7 8 9
Notice: Undefined index: HTTP_REFERER in /home/****/public_html/image.php on line 8
no stuff

WH-Tim
12/05/05, 17:55
heb je de includes al eens nagekeken?

V. Kleijnendorst
12/05/05, 17:56
<pre>
<?php
print_r($_SERVER);
?>
</pre>


$_SERVER['HTTP_REFERER'] bestaat natuurlijk alleen als er geklikt wordt op een link en de browser (of firewall) dit niet blokkeert.
Altijd eerst checken of deze bestaat dus voordat je er iets mee gaat doen.

RvB
12/05/05, 18:14
Precies, de referer zal leeg zijn maar dan moet je dus dat plaatje zien wat dus een vraagteken is. Op de demo server werkt het wel en krijg je met een rechstreekse benadering het vraagteken te zien maar op onze server dus niet en krijgen we de error.

V. Kleijnendorst
12/05/05, 18:29
Maar je controleert niet of de variabele bestaat. Op de andere server staat de error_reporting waarschijnlijk gewoon op een lager level. Neemt niet weg dat het fout is.

RvB
12/05/05, 18:48
Met error_reporting op 0 krijg ik natuurlijk

8 7 8 7 8 8 7 8 8 7 8 7 7 8 9
no stuff

Ik wil gewoon het plaatje met het vraagteken zien en dat dit niet gebeurd zal een bepaalde server instelling zijn maar welke... :(

V. Kleijnendorst
12/05/05, 18:54
Je hebt hier de header weg gecomment. Heb je die online ook gecomment?

RvB
12/05/05, 18:55
Nee, dit is de volledige code van het php bestand wat ik rechtstreeks aanroep..

V. Kleijnendorst
12/05/05, 19:10
Euh, huh?

Je hebt hier een header() functie weggecomment. Dan is het toch logisch dat je script geen plaatje weergeeft?!

RvB
12/05/05, 19:35
Bovenstaande code is actual.
Wat moet ik dan aanpassen?

marcellino
05/11/06, 18:00
Hallo, ik las je probleem met het script en aangezien ik precies hetzelfde met mijn server heb.
Ben ik nu heel benieuwd of je de oplossing had gevonden, ik dacht namelijk dat het te maken heeft met de nieuwe php4 die het op een of andere manier niet kan verwerken.