Hoe doe ik dat? modify header information

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Ventilatiesysteem Productontwikkelaar HBO WO Verwa

Samengevat: Zij bieden flexibele ventilatiematerialen, geluidsdempers, rookgasafvoer producten en industrieslangen. Ben jij een technisch productontwikkelaar? Heb jij ervaring met het ontwikkelen van nieuwe producten? Vaste baan: Technisch Productontwikkelaar HBO WO €3.000 - €4.000 Zij bieden een variëteit aan flexibele ventilatiematerialen, geluiddempers, rookgasafvoer producten, industrieslangen en ventilatieslangen voor de scheepsbouw. Met slimme en innovatieve materialen zorgen wij voor een gezonde en frisse leefomgeving. Deze werkgever is een organisatie die volop in ontwikkeling is met hardwerkende collega's. Dit geeft goede ontwikkelingsmogelijkheden. De branche van dit bedrijf is Techniek en Engineering. Functie: Voor de vacature als Technisch Productontwikkelaar Ede Gld HBO WO ga

Bekijk vacature »

Mrhocoma

mrhocoma

29/05/2005 17:12:00
Quote Anchor link
Heb een leuk script gevonden dat bij elke page refresh een andere foto op het scherm zet. Het script zelf, werkt prima, echter nu wil ik het op een andere pagina ïncluden"en dan krijg ik de melding:

Warning: Cannot modify header information - headers already sent by (output started at .... , wat dit inhoud is ook duidelijk (inmiddels).

Maar wat ik nu nog niet voor elkaar krijg/ snap is hoe kan ik de include .php zo aanpassen dat ik deze melding niet meer krijg en het beoogde effect,
namelijk een plaatje tonen in een tabel(cel) op de index.php pagina goed gaat... Wie heeft er een oplossing voor me??

Het script van de .php die ik wil includen is als volgt:


Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
<?php
$folder
= "../mapmetfotoos/"; // hier de map met foto's opgeven  
 
$extList = array();  
$extList['gif'] = 'image/gif';  
$extList['jpg'] = 'image/jpeg';  
$extList['jpeg'] = 'image/jpeg';  
$extList['png'] = 'image/png';  
 
 
$img = null;  
 
 
if (substr($folder,-1) != '/') {  
$folder = $folder.'/';  
}
  
 
 
if (isset($_GET['img'])) {  
$imageInfo = pathinfo($_GET['img']);  
if (  
isset( $extList[ strtolower( $imageInfo['extension'] ) ] ) &&  
file_exists( $folder.$imageInfo['basename'] )  
) {
  
$img = $folder.$imageInfo['basename'];  
}  
}
else {  
$fileList = array();  
$handle = opendir($folder);  
while ( false !== ( $file = readdir($handle) ) ) {  
$file_info = pathinfo($file);  
if (  
isset( $extList[ strtolower( $file_info['extension'] ) ] )  
) {
  
$fileList[] = $file;  
}  
}
  
closedir($handle);  
 
 
if (count($fileList) > 0) {  
$imageNumber = time() % count($fileList);  
$img = $folder.$fileList[$imageNumber];  
}  
}
  
if ($img!=null) {  
$imageInfo = pathinfo($img);  
$contentType = 'Content-type:'.$extList[$imageInfo['extension'] ];  
header($contentType); readfile($img);  
}
else {  
if ( function_exists('imagecreate') ) {header ("Content-type: image/png");  
$im = @imagecreate (50, 50)  
or die ("Cannot initialize new GD image stream");  
$background_color = imagecolorallocate ($im, 255, 255, 255);  
$text_color = imagecolorallocate ($im, 0,0,0);  
imagestring ($im, 2, 5, 5, "IMAGE ERROR", $text_color);  
imagepng ($im);  
imagedestroy($im);  
}  
}
  
?>
 
PHP hulp

PHP hulp

29/04/2024 01:13:30
 

29/05/2005 17:48:00
Quote Anchor link
Lees de PHP Faq van PHPHulp
[faq]2[/faq] lees je wat er verkeerd gaat
 
Mrhocoma

mrhocoma

29/05/2005 21:18:00
Quote Anchor link
Webmakerij:
Lees de PHP Faq van PHPHulp
[faq]2[/faq] lees je wat er verkeerd gaat


Dat had ik al gedaan (zie in mijn vraag..) Maar ik weet niet goed hoe ik in mijn script (geleend) het probleem kan oplossen. Ik heb geprobeerd het te laten werken zonder het stuk waar waar Header staat maar dat werkte niet..(lukte mij niet) Ben nog echt een newbie.. dus, thats why.... Het script hebv ik wel werkend als stand alone php pagina.
 
Hipska BE

Hipska BE

29/05/2005 21:32:00
Quote Anchor link
dit script mag niet voor een html code staan in je andere pagina, dus VOOR alle <html>...

//EDIT: of was het voor alle <head>... enfin, kijk eens of dat het geval is
Gewijzigd op 29/05/2005 21:33:00 door Hipska BE
 
Willem Jan Z

Willem Jan Z

29/05/2005 23:06:00
Quote Anchor link
Er mag helemaal geen output zijn voor header Hipska!
Ook geen spatie voor < ? of iets dergelijks..

Een mogelijkheid is om de headers te vervangen door:

<meta http-equiv="refresh" conten="0;url=pagina.php">

(Tuurlijk echoën in PHP, of buiten PHP zetten...
 
Mrhocoma

mrhocoma

30/05/2005 10:46:00
Quote Anchor link
RE: Hipska : als ik dat doe heb ik niks aan dit script?
RE: Jan willem: snap ik niet echt? Kun je dat wat duidelijker maken aan de hand van een voorbeeld??

Het punt is dat ik een pagina opmaak heb, welke is gemaakt in Dreamweaver, waarbij ik in een bepaalde cel dit script wil includen. De pagina is opgebouwd met slices via Photoshop.

Als ik zoals hierboven aangegeven, de include boven/ buiten het <HTML> gedeelte zet krijg ik wel de foto's te zien maar de rest van de pagina niet...

Je kon toch PHP overal in je HTML zetten (of heb ik het verkeerd begrepen?).
Het kan natuurlijk zijn dat ik nu iets wil doen wat helemaal niet kan? Maar hoe kun je het dan wel aanpakken? Of hebben jullie een betere oplossing waarmee dit kan...
 
Jelmer -

Jelmer -

30/05/2005 16:32:00
Quote Anchor link
Headers worden voor alle output verzonden, dus, als je ergens output geeft (bijvoorbeeld in code voor je </php) dan kunnen de headers niet meer als eerst verzonden worden, want er is al wat verzonden.

Ook een oplossing is output-buffering. Verder, veel plezier op php.net, voorbeelden zoeken (zijn er zat, en leer je ook nog wat)
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.