← Back to team overview

sslug-teknik team mailing list archive

Re: Php og baggrundsbilleder

 

> Jeg har et php-script som indeholder en form med tagget:
>
> <FORM method = POST action="<?php echo $PHP_SELF ?> " >
>
> <BODY>-tagget indeholder bla.a. 'BACKGROUND = read-filer/bkg.jpe'
>
>
> Første gang (a) scriptet indlæses, vises baggrunden korrekt.  Når der
> trykkes 'submit'  på formen (b), vises alt korrekt, bortset fra
> baggrundsbilledet, som ikke vises.
> Når jeg trykker 'vis kilde' i situation b indeholder <BODY>-tagget
> stadig 'BACKGROUND = read-filer/bkg.jpe', men af en eller anden grund
> kan php-scriptet åbenbart ikke finde billedet.
> Hvis <BODY>-tagget indeholder en BGCOLOR, vises denne korrekt i begge
> situationer.
>
> Er der en speciel 'besværgelse' ,-) som skal udføres for at få
> baggrundsbilledet vist i begge situationer?

>ps
>
> 
> en løsning er åbenbart at skrive en absolut sti ala'
> BACKGROUND="http://127.0.0.1/myweb/read-filer/bkg.jpe";, men findes der
> ikke en mere elegant metode?

Det er ikke serveren (php scriptet) der er ansvarlig for at vise et 
baggrundsbillede på en webside, det er din browser. Når browseren parser BODY 
tagen, skal den sende en request til serveren efter billedet, og er ansvarlig 
for at finde ud af at kombinere den rigtige sti, hvis stien er relativ.
Hvis BODY tag er er korrekt, er der ikke problemer der.

Imidlertid har jeg konstateret (jeg skriver perl, ikke php) at hvis jeg 
bruger PATH delen af URL (http://www.some.com?do=dah/PATH_INFO får browserne 
lavet stien forkert. Min løsning har altid været at angive grafikstier 
relativt til www_root, som BACKGROUND="/grafik/nydelig.jpg", og det virker 
altid.

-anders


Follow ups

References