evero* Skrevet 7. november 2007 Del Skrevet 7. november 2007 Hei Lurte på om noe ser en enkel php-løsning på følgende sak: skal vise en random jpg fil (toppgrafikk på siden) nye toppgrafikker blir lagt til fortløpende, så php-scriptet må forholde seg dynamisk til utvalget (må altså kunne lese fra en mappe) ønsker å begrense det slik at scripet IKKE henter inn ny toppgrafikk for hver sidevisning, samme toppgrafikk skal vises for hele besøket. Altså at en bruker php session på et vis.. helt genialt om noen ser en grei løsning på dette! tror ikke det er så mye php som skal til, men jeg har ikke fått det til på egenhånd.. Lenke til kommentar
itsmebth Skrevet 7. november 2007 Del Skrevet 7. november 2007 (endret) if(!isset($_SESSION['header'])){ $images = glob('img/header/*.jpg'); $_SESSION['img'] = $images[array_rand($images)]; } Endret 7. november 2007 av itsmebth Lenke til kommentar
evero* Skrevet 8. november 2007 Forfatter Del Skrevet 8. november 2007 Takk for raskt svar! Det så jo latterlig enkelt ut, men jeg får det ikke helt til å kjøre.. Skal koden gi en ferdig output med referanse til bilde? altså "bilde.jpg" ? Eller må man kalle opp en variabel eller noe? Altså ser min ikke-fungerende randomimage.php testside slik ut: <html> <head> <title>Tittel</title> </head> <body> <p>hei og hå</p> <img src="<?php if(!isset($_SESSION['toppgrafikk'])) { $images = glob('../bilder/*.jpg'); $_SESSION['img'] = $images[array_rand($images)]; } ?>"/> </body> </html> Lenke til kommentar
Sjark Skrevet 8. november 2007 Del Skrevet 8. november 2007 <html> <head> <title>Tittel</title> </head> <body> <p>hei og hå</p> <img src="<?php if(!isset($_SESSION['toppgrafikk'])) { $images = glob('../bilder/*.jpg'); $_SESSION['img'] = $images[array_rand($images)]; echo $_SESSION['img']; } else { echo $_SESSION['img']; } ?>"/> </body> </html> Den tror jeg skal fungere Lenke til kommentar
evero* Skrevet 8. november 2007 Forfatter Del Skrevet 8. november 2007 <html> <head> <title>Tittel</title> </head> <body> <p>hei og hå</p> <img src="<?php if(!isset($_SESSION['toppgrafikk'])) { $images = glob('../bilder/*.jpg'); $_SESSION['img'] = $images[array_rand($images)]; echo $_SESSION['img']; } else { echo $_SESSION['img']; } ?>"/> </body> </html> Den tror jeg skal fungere Veldig nærme nå Men noe gjør at session info ikke bevares. Altså vises random image uansett, ved samme sesjon også (trykker f5 så kommer et annet bilde) - Så noe stemmer fortsatt ikke helt..? Lenke til kommentar
Sjark Skrevet 8. november 2007 Del Skrevet 8. november 2007 <html> <head> <title>Tittel</title> </head> <body> <p>hei og hå</p> <img src="<?php if(!isset($_SESSION['img'])) { $images = glob('../bilder/*.jpg'); $_SESSION['img'] = $images[array_rand($images)]; echo $_SESSION['img']; } else { echo $_SESSION['img']; } ?>"/> </body> </html> Sånn, nå skal det fungere, bare jeg som ikke leste skikkelig igjennom scriptet før jeg svarte Lenke til kommentar
evero* Skrevet 8. november 2007 Forfatter Del Skrevet 8. november 2007 <html> <head> <title>Tittel</title> </head> <body> <p>hei og hå</p> <img src="<?php if(!isset($_SESSION['img'])) { $images = glob('../bilder/*.jpg'); $_SESSION['img'] = $images[array_rand($images)]; echo $_SESSION['img']; } else { echo $_SESSION['img']; } ?>"/> </body> </html> Sånn, nå skal det fungere, bare jeg som ikke leste skikkelig igjennom scriptet før jeg svarte Takk for korreksjon, dessverre fungerer det fortsatt ikke helt :S Tilsynelatende samme problem som sist, den kommer opp med nytt random bilde uanset.. Noen idé? Lenke til kommentar
Sjark Skrevet 8. november 2007 Del Skrevet 8. november 2007 tror jeg ser det, legg til <?php session_start(); ?> øverst i scriptet, over <html> Lenke til kommentar
evero* Skrevet 8. november 2007 Forfatter Del Skrevet 8. november 2007 tror jeg ser det, legg til <?php session_start(); ?> øverst i scriptet, over <html> Ah, that's it! Nå fungerer det perfekt! Takk for hjelpen alle Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå