Random image bij refresh pagina

Pagina: 1
Acties:
  • 440 views

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
ik ben op zoek naar een (eenvoudig) script om een random banner weer te geven wanneer je een andere pagina laadt of de pagina refreshed. Zodat je bij elke andere pagina een nieuwe header krijgt.

voorbeeldje: www.nietrelevant.nl

Ik werk zelf in PHP (xhtml uitgewerkte pagina) in combi met ingebouwde css. de header staat in een div als onderdeel van een container.

Ik heb google er op nagezocht, maar die komen met vrij uitgebreide php codes aan waar ik niet wijs uit kom (ik wil de code zelf begrijpen) en waarbij je een extra file zou moeten hebben, daarbij kan ik ook nergens vinden waar ik de codes moet plaatsen.

heeft iemand een idee?

[ Voor 1% gewijzigd door RobIII op 29-12-2009 12:14 ]


Acties:
  • 0 Henk 'm!

  • LeVortex
  • Registratie: Augustus 2006
  • Laatst online: 08:12
Hier staan een paar oplossingen :+ nieuw plaatje na refresh

Deze werkt zowiezo, is wel clientside

JavaScript:
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
 <script language="Javascript" type="text/javascript"><!-- 
   function image() { }; 
   image = new image();
   number = 0; 
   // imageArray
   image[number++] = "<img src='images/1.gif' border='0'>"
   image[number++] = "<img src='images/2.gif' border='0'>"
   image[number++] = "<img src='images/3.gif' border='0'>"
   image[number++] = "<img src='images/4.gif' border='0'>"
   image[number++] = "<img src='images/5.gif' border='0'>"
   image[number++] = "<img src='images/6.gif' border='0'>"
   image[number++] = "<img src='images/7.gif' border='0'>"
   image[number++] = "<img src='images/8.gif' border='0'>"
   image[number++] = "<img src='images/9.gif' border='0'>"
   image[number++] = "<img src='images/10.gif' border='0'>"
   image[number++] = "<img src='images/11.gif' border='0'>"
   image[number++] = "<img src='images/12.gif' border='0'>"
   image[number++] = "<img src='images/13.gif' border='0'>"
   image[number++] = "<img src='images/14.gif' border='0'>"
   image[number++] = "<img src='images/15.gif' border='0'>"
   image[number++] = "<img src='images/16.gif' border='0'>"
   image[number++] = "<img src='images/17.gif' border='0'>"
   image[number++] = "<img src='images/18.gif' border='0'>"
   image[number++] = "<img src='images/19.gif' border='0'>"
   increment = Math.floor(Math.random() * number);  document.write(image[increment]); 
   //-->
   </script> 


deze oplossing is met php: http://ma.tt/scripts/randomimage/ alleen ben ik daar niet zo goed in, misschien snap jij het script

Verder staan er in het topic bovenaan gegeven nog een paar oplossingen

[ Voor 7% gewijzigd door LeVortex op 29-12-2009 11:31 ]


Acties:
  • 0 Henk 'm!

  • Black Hawk
  • Registratie: Oktober 2003
  • Laatst online: 08-01 21:48
Kun je niet met een random nummer werken?

Bijv. je hebt afbeelding_01.jpg t/m afbeelding_20.jpg, en je laat PHP random een getal tussen de 1 en 20 bedenken, en vervolgens toon je dat plaatje? (evt. houdt je in je PHP sessie de laatste x getoonde afbeeldingen bij, zodat ze niet na 1 of 2 keer dezelfde te zien krijgen.

edit:
LeVortex was me al voor met random... :)

[ Voor 8% gewijzigd door Black Hawk op 29-12-2009 11:29 ]

Wie nooit tijd heeft, kan er niet mee omgaan.


Acties:
  • 0 Henk 'm!

  • OkkE
  • Registratie: Oktober 2000
  • Laatst online: 04-09 08:16

OkkE

CSS influencer :+

Dit is toch wel basis kennis, if you ask me. Het kan, zoals Black Hawk al zegt, met 1 regeltje code. Het enige dat je wil is een random bestandsnaam, wat kan met een random nummer (basis PHP).

“The best way to get the right answer on the Internet is not to ask a question, it's to post the wrong answer.”
QA Engineer walks into a bar. Orders a beer. Orders 0 beers. Orders 999999999 beers. Orders a lizard. Orders -1 beers.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
ik vond in het aangegeven topic dit script

code:
1
<img src="images/<?=rand(1, 19)?>.gif" alt="">


deze heb ik aangepast naar
code:
1
<img src="images/<?=rand(1, 9)?>.gif" alt="">

Dit omdat ik maar 9 afbeeldingen heb op dit moment.

Helaas werkt de code niet. De afbeeldingen staan allen in de map images en zijn genummerd van 1 t/m 9

Dit zou in php moeten werken.

klein vraagje tussendoor: ik heb een webserver op mijn pc draaien, maar ik krijg het niet voor elkaar om php paginas weer te geven in IE of FF om het even te testen.

Acties:
  • 0 Henk 'm!

  • Mr_x007
  • Registratie: Oktober 2001
  • Laatst online: 07:28
Black Hawk schreef op dinsdag 29 december 2009 @ 11:28:
Kun je niet met een random nummer werken?

Bijv. je hebt afbeelding_01.jpg t/m afbeelding_20.jpg, en je laat PHP random een getal tussen de 1 en 20 bedenken, en vervolgens toon je dat plaatje? (evt. houdt je in je PHP sessie de laatste x getoonde afbeeldingen bij, zodat ze niet na 1 of 2 keer dezelfde te zien krijgen.

edit:
LeVortex was me al voor met random... :)
Zo iets of als je het iets netter wil doen prop je de namen van de plaatjes in een array, check in de code het aantal items in de array en neem een random nummer uit.

Acties:
  • 0 Henk 'm!

  • OkkE
  • Registratie: Oktober 2000
  • Laatst online: 04-09 08:16

OkkE

CSS influencer :+

Doen de images het wel als je ze gewoon via je browser opend? Doen ze het wanneer je ze met HTML op je pagina zet (zonder PHP)? Wat is de broncode van je pagina, wordt PHP wel uitgevoerd?

Lijkt er sowieso op dat je lokale webserver dus geen PHP ondersteuning heeft... Probeer anders eens WAMP.

--- edit ---

@Black Hawk;

Wat hij doet kan ook, en vind ik persoonlijk netter. Alleen het random-nummer via PHP printen en verder alles gewoon HTML laten.

[ Voor 19% gewijzigd door OkkE op 29-12-2009 11:57 ]

“The best way to get the right answer on the Internet is not to ask a question, it's to post the wrong answer.”
QA Engineer walks into a bar. Orders a beer. Orders 0 beers. Orders 999999999 beers. Orders a lizard. Orders -1 beers.


Acties:
  • 0 Henk 'm!

  • Black Hawk
  • Registratie: Oktober 2003
  • Laatst online: 08-01 21:48
Je bedoelt waarschijnlijk dit ;)
PHP:
1
2
3
<?php
  echo "<img src='images/" . rand(1, 9) . ".gif' alt='random header'>";
?>

[ Voor 1% gewijzigd door Black Hawk op 29-12-2009 11:52 . Reden: quotes veranderd ]

Wie nooit tijd heeft, kan er niet mee omgaan.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
OkkE schreef op dinsdag 29 december 2009 @ 11:50:
Doen de images het wel als je ze gewoon via je browser opend? Doen ze het wanneer je ze met HTML op je pagina zet (zonder PHP)? Wat is de broncode van je pagina, wordt PHP wel uitgevoerd?

Lijkt er sowieso op dat je lokale webserver dus geen PHP ondersteuning heeft... Probeer anders eens WAMP.
Ik krijg m bij firefox wel zichtbaar, maar ook daar werkt de code niet. Ik draai XAMPP trouwens.

Images doen het als ik ze gewoon als html code neerzet.

dit is de broncode met een afbeelding die via normale html wordt weergegeven, daaronder staat nog steeds de code zoals ik hem heb toegevoegd en niet werkt.

code:
1
2
3
<div id="header">
<img src="images/1.jpg" alt="1head">
<img src="images/<?=rand(1, 9)?>.jpg" alt=""></div>


aangezien ik in een php pagina werk, moet ik dan ook aangeven dat er een stukje php code komt?

Acties:
  • 0 Henk 'm!

Verwijderd

<img src="images/<? $a = glob("images/*.jpg"); echo $a[ array_rand( $a ) ]; ?>" alt=""></div>

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Verwijderd schreef op dinsdag 29 december 2009 @ 12:00:
<img src="images/<? $a = glob("images/*.jpg"); echo $a[ array_rand( $a ) ]; ?>" alt=""></div>
Ik krijg bij zowel bovenstaande code als deze code:

code:
1
2
3
 <?php 
  echo "<img src='images/" . rand(1, 9) . ".gif' alt='random header'>"; 
?>


alles wat na de eerste > staat gewoon als tekst te zien, en geen afbeelding.

Ik ben nogal een leek hoor, dus wellicht doe ik wat fout, zelfs met copy-paste en testen. wellicht wordt geen php aangesproken, maar eens overnieuw installeren.

Acties:
  • 0 Henk 'm!

  • LeVortex
  • Registratie: Augustus 2006
  • Laatst online: 08:12
het zijn wel jpg? of gifs? dat moet natuurlijk ook kloppen

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
LeVortex schreef op dinsdag 29 december 2009 @ 12:04:
het zijn wel jpg? of gifs? dat moet natuurlijk ook kloppen
jpg, wat ik ook steeds gebruik :) (code copieren en dan .gif dus gewoon veranderen naar .jpg)

Acties:
  • 0 Henk 'm!

  • OkkE
  • Registratie: Oktober 2000
  • Laatst online: 04-09 08:16

OkkE

CSS influencer :+

Laten we vooral met zijn allen zomaar willekeurig stukjes "code" posten, zonder verder uitleg of wat dan ook. Daar heeft de topicstarter ook echt iets aan. :{

Probeer dit stukje code eens:

PHP:
1
2
3
4
5
6
<?php
$nr = rand(1,9);
echo '<h1>'.$nr.'</h1>';
echo '<img src="image/'.$nr.'.gif">';
echo '<img src="image/1.gif">';
?>


De eerste regel geeft aan dat we starten met PHP, de laatste geeft aan dat we stoppen. Op de tweede regel ($nr ...) maken we een variabele die het random nummer bevat. De eerste regel met "echo" zou het nummer in een <h1> op het scherm moeten printen (dit is een test of het wel goed werkt). De tweede regel met "echo" zou je random afbeelding moeten printen. De laatse "echo" zou gewoon de eerste afbeelding (1.gif) moeten tonen.

“The best way to get the right answer on the Internet is not to ask a question, it's to post the wrong answer.”
QA Engineer walks into a bar. Orders a beer. Orders 0 beers. Orders 999999999 beers. Orders a lizard. Orders -1 beers.


Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Waar hoort mijn topic?
WEB >> PRG
Verwijderd schreef op dinsdag 29 december 2009 @ 11:22:
ik ben op zoek naar een (eenvoudig) script
Dit is gewoon een scriptrequest en dat staan we hier niet toe. Googlen kun je prima zelf. Verder verwachten we wel een klein beetje basiskennis hier in de Devschuur. Heb je die niet, geen probleem. Zo zijn we allemaal ooit begonnen. Maar neem dan even een tutorial door oid want dit is gewoon basic programmeerwerk (en installatie stuff, mocht je PHP nog niet (goed) werken).

Verder is het wellicht handig Debuggen: Hoe doe ik dat? even door te nemen.

[ Voor 78% gewijzigd door RobIII op 29-12-2009 12:16 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
OkkE schreef op dinsdag 29 december 2009 @ 12:10:
Laten we vooral met zijn allen zomaar willekeurig stukjes "code" posten, zonder verder uitleg of wat dan ook. Daar heeft de topicstarter ook echt iets aan. :{

Probeer dit stukje code eens:

PHP:
1
2
3
4
5
6
<?php
$nr = rand(1,9);
echo '<h1>'.$nr.'</h1>';
echo '<img src="image/'.$nr.'.gif">';
echo '<img src="image/1.gif">';
?>


De eerste regel geeft aan dat we starten met PHP, de laatste geeft aan dat we stoppen. Op de tweede regel ($nr ...) maken we een variabele die het random nummer bevat. De eerste regel met "echo" zou het nummer in een <h1> op het scherm moeten printen (dit is een test of het wel goed werkt). De tweede regel met "echo" zou je random afbeelding moeten printen. De laatse "echo" zou gewoon de eerste afbeelding (1.gif) moeten tonen.
Ik begrijp hoe de code werkt, maar ik krijg hem niet aan de praat. Ik heb php opnieuw geinstalleert, maar nog steeds werkt deze niet

Acties:
  • 0 Henk 'm!

  • bakakaizoku
  • Registratie: Januari 2002
  • Laatst online: 17-09 10:27
Het lijkt er gewoon meer op dat er geen php wordt geparsed, gezien
Verwijderd schreef op dinsdag 29 december 2009 @ 11:56:
dit is de broncode met een afbeelding die via normale html wordt weergegeven, daaronder staat nog steeds de code zoals ik hem heb toegevoegd en niet werkt.
1) Is het wel een php bestand? geen .php.html of .html ?
2) Staat httpd.conf wel goed ingesteld dat hij php bestanden parsed als php bestanden zijnde?

PSN: bakakaizoku - WoW: Thiccblonde (GM of Phoenix Ascension) @ Twisting-Nether


Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Zie RobIII in "Random image bij refresh pagina"
Maar er werd al ge-tussen-post voor ik het slotje kon zetten :P
Verwijderd schreef op dinsdag 29 december 2009 @ 12:15:
[...]


Ik begrijp hoe de code werkt, maar ik krijg hem niet aan de praat. Ik heb php opnieuw geinstalleert, maar nog steeds werkt deze niet
Als je dan eens begint met aan te geven wat er niet werkt. "Het werkt niet" is totaal nutteloos als je niet de juiste details erbij vermeldt voor ons.

Verder is het probleem geheid inderdaad dat je PHP niet goed hebt geïnstalleerd of uberhaupt geen gebruik maakt van een webserver als Apache/IIS/whatever. Begin eerst maar eens met de handleiding van PHP/XAMPP door te nemen om de installatie ervan in orde te krijgen.

[ Voor 9% gewijzigd door RobIII op 29-12-2009 12:38 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij

Pagina: 1

Dit topic is gesloten.