[PHP] Random header bij refresh

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Zakkenwasser
  • Registratie: Februari 2001
  • Niet online
Mijn header geen een no-image kruis :S

Ik heb een map met:
test/img/1.jpg
test/img/2.jpg
test/img/images.php

en een index.php in:
/test/

images.php:
code:
1
2
3
4
5
6
7
8
<?php
Header("Content-type: image/jpg");
Header("Cache-Control: no-cache, must-revalidate"); 
srand((double)microtime()*1000000);
$nr=rand(1,2);
$fn=fopen("./$nr.jpg","r"); 
fpassthru($fn); 
?>


index.php:
code:
1
<div id="logo"><?php include ("img/images.php") ?></div>


toch schijnt het niet te werken :S

PSP 1000 @ 6.60 Pro C2 [+256GB]
PSVita @ Henkaku Enso [+256GB]
3DS @ Luma (B9S) [+160GB]
Nintendo Switch 3.0.1 [+256GB]


Acties:
  • 0 Henk 'm!

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

MrJey schreef op zondag 10 augustus 2008 @ 09:20:
code:
1
<div id="logo"><?php include ("img/images.php") ?></div>
Ehm, als je images.php een plaatje terug geeft (in binary vorm ;) ) dan lijkt het me niet verstandig om hem zo in je html te frotten.


HTML:
1
<div id="logo"><img src="img/images.php" alt="plaatje"></div>

Acties:
  • 0 Henk 'm!

  • StevenK
  • Registratie: Februari 2001
  • Laatst online: 20:05
Je probeert je header te zenden nadat je al HTML hebt verzonden.

Was advocaat maar vindt het juridische nog steeds leuk


Acties:
  • 0 Henk 'm!

  • Zakkenwasser
  • Registratie: Februari 2001
  • Niet online
Erkens schreef op zondag 10 augustus 2008 @ 09:25:
[...]

Ehm, als je images.php een plaatje terug geeft (in binary vorm ;) ) dan lijkt het me niet verstandig om hem zo in je html te frotten.


HTML:
1
<div id="logo"><img src="img/images.php" alt="plaatje"></div>
that did the trick, dankje!

PSP 1000 @ 6.60 Pro C2 [+256GB]
PSVita @ Henkaku Enso [+256GB]
3DS @ Luma (B9S) [+160GB]
Nintendo Switch 3.0.1 [+256GB]


Acties:
  • 0 Henk 'm!

  • Patriot
  • Registratie: December 2004
  • Laatst online: 19:24

Patriot

Fulltime #whatpulsert

MrJey schreef op zondag 10 augustus 2008 @ 09:59:
[...]


that did the trick, dankje!
Snap je ook waarom dat wél werkt? Is misschien wel handig?

Acties:
  • 0 Henk 'm!

  • Zakkenwasser
  • Registratie: Februari 2001
  • Niet online
Patriot schreef op zondag 10 augustus 2008 @ 15:30:
[...]


Snap je ook waarom dat wél werkt? Is misschien wel handig?
Ja, ik had er overheen gekeken, een plaatje moet altijd voorzien zijn van het <img scr="" /> tag, en aangezien het phpscript alleen de plaatjes doorstuurd naar de pagina, is het niet een direct script, maar een plaatje wat gekozen wordt.

Includen werkt alleen met directe code.

Ben nieuw met php :)

PSP 1000 @ 6.60 Pro C2 [+256GB]
PSVita @ Henkaku Enso [+256GB]
3DS @ Luma (B9S) [+160GB]
Nintendo Switch 3.0.1 [+256GB]


Acties:
  • 0 Henk 'm!

  • Mike2k
  • Registratie: Mei 2002
  • Laatst online: 22-08 11:59

Mike2k

Zone grote vuurbal jonge! BAM!

Nee.........
Je probeert je header te zenden nadat je al HTML hebt verzonden.
Daarom werkte het niet...Lees dit wellicht eens:http://www.phpfreaks.com/forums/index.php/topic,37442.0.html

Wat het betekent is dit:
Je kan maar een keer een header verzenden naar de webbrowser van de client.
Deze wordt automatisch aangemaakt en verzonden op het moment dat jij "iets" naar de browser toe stuurt zoals een element (div, table, span, hr, br, enz) of plain tekst.
Met PHP kan je die headers aanpassen zoals je ook deed in je script. alleen dit gebeurde er:

-> stuur headers naar browser
-> maak div logo aan
-> start php interpeter
-> include file image.php
-> pas de headers aan
-> verstuur headers naar browser

PHP: Error, headers already sent in line yadayada. Output started at line yadayada

[ Voor 61% gewijzigd door Mike2k op 11-08-2008 09:51 ]

You definitely rate about a 9.0 on my weird-shit-o-meter
Chuck Norris doesn't dial the wrong number. You answer the wrong phone.


Acties:
  • 0 Henk 'm!

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

Fastex: sorry, maar dat die headers al verstuurd waren is niet de oorzaak van het initiele probleem van MrJey ;)
Dat was een gevolg van het feit dat hij in de HTML een image (binary) include ipv linkte via de daarvoor bedoelde HTML elementen ;)

Acties:
  • 0 Henk 'm!

  • Mike2k
  • Registratie: Mei 2002
  • Laatst online: 22-08 11:59

Mike2k

Zone grote vuurbal jonge! BAM!

@erkens: heb je ook weer gelijk in inderdaad. Met de initieele code stuurt ie alleen een plaatje naar de browser zonder te vertellen wat de browser er mee moet doen.

Maar hij zou sowieso een header error moeten krijgen...

You definitely rate about a 9.0 on my weird-shit-o-meter
Chuck Norris doesn't dial the wrong number. You answer the wrong phone.


Acties:
  • 0 Henk 'm!

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

Natuurlijk zou hij die error moeten zien, maar sommige mensen developpen op een productie server waar errors onderdrukt worden :X en dan zie je die error dus niet :)

Acties:
  • 0 Henk 'm!

  • sky-
  • Registratie: November 2005
  • Niet online

sky-

qn nna 👌

Maar je hebt nog altijd error_reporting, waarmee je dat dus wel kan aanzetten :).

PHP:
1
2
3
<?php
error_reporting(E_ALL);
?>

[ Voor 27% gewijzigd door sky- op 11-08-2008 14:01 ]

don't be afraid of machines, be afraid of the people who build and train them.


Acties:
  • 0 Henk 'm!

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

sky- schreef op maandag 11 augustus 2008 @ 14:00:
Maar je hebt nog altijd error_reporting, waarmee je dat dus wel kan aanzzetten :).
En natuurlijk:
PHP:
1
ini_set("display_errors", true)

.... anders zie je nog niks ;)

Acties:
  • 0 Henk 'm!

  • Cartman!
  • Registratie: April 2000
  • Niet online
Erkens, daar heb je nog niks aan als output_buffering standaard aanstaat, dan voert ie netjes de redirect uit zonder dat je iets van errors ziet staan (ook met display_errors aan en ingesteld op E_ALL).

Acties:
  • 0 Henk 'm!

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

Cartman! schreef op maandag 11 augustus 2008 @ 14:28:
Erkens, daar heb je nog niks aan als output_buffering standaard aanstaat, dan voert ie netjes de redirect uit zonder dat je iets van errors ziet staan (ook met display_errors aan en ingesteld op E_ALL).
Welke redirect :?

Als je output_buffering aan hebt staan dan zal je ook geen error krijgen mbt headers die al geplaatst zijn. Want de output is dan immers gebuffered ;)

[ Voor 4% gewijzigd door Erkens op 11-08-2008 14:32 ]


Acties:
  • 0 Henk 'm!

  • Cartman!
  • Registratie: April 2000
  • Niet online
Ik zat in mn hoofd met een redirect ja..stom :+ heb daar op een server laatst enorm mee zitten kloten dat ik maar geen errors kreeg mbt. headerproblemen omdat output_buffering aanstond, vandaar ;)
Pagina: 1