Gå til innhold

endre tekst som skal vises ved reload


Anbefalte innlegg

Skrevet (endret)

Jobber med en side for skolekantina, der det skal stå info om varene, når den er stengt osv.

 

Men vi har også noen sponsorer som vil ha litt reklame på siden. Kan noen hjelpe meg med å lage et script som endrer sponsor som vises ved reload. (Litt dårlig forklart tror jeg)

 

Tenkte da på noe som dette:

Kantina er sponset av: Tine (link til Tine)

Ved reload byttes teksten ut med:

Kantina er sponset av: Bama (link til Bama)

 

Noen som kan hjelpe meg med dette?

Må/burde fnke uten database.

 

Er det mulig å skrive koden til hver sponsor i en fil, for så å velge en random fil ved reload?

 

Takker for svar

Endret av mrbjoern
Videoannonse
Annonse
Skrevet (endret)

Yup, det du kan gjøre, er å legge til navn og link i en tekstfil.

 

Bama***http://bama.no***

navn***link***

 

så legger du dette i randomsponsor.php

 

<?php
$fil = file("sponsorer.txt");
$nummer = (rand(1, count($fil)))-1;

foreach($fil as $sponsor) {
if ($sponsor == $nummer) {
$sponsor = explode('***', $sponsor);
$navn = $sponsor[0];
$link = $sponsor[1];
echo $navn . ' <a href="' . $link . '">' . $link . '</a>';
//eller
// echo '<a href="' . $link . '">' . $navn . '</a>';
}}
?>

 

Edit; LOL ikke hør på meg.

Endret av Ståle
Skrevet

Fikk det til å funke, nesten ivertfall.

Vis jeg legger til flere sponsorer i listen, går noe galt. Alle sponsorene kommer etter hverandre, og neste gang jeg trykker på reload kommer det ingen sponsorer.

Skrevet (endret)
Yup, det du kan gjøre, er å legge til navn og link i en tekstfil.

 

Bama***http://bama.no***

navn***link***

 

så legger du dette i randomsponsor.php

 

 

<?php
$fil = file("sponsorer.txt");
$nummer = (rand(1, count($fil)))-1;

foreach($fil as $sponsor) {
if ($sponsor == $nummer) {
$sponsor = explode('***', $sponsor);
$navn = $sponsor[0];
$link = $sponsor[1];
echo $navn . ' <a href="' . $link . '">' . $link . '</a>';
//eller
// echo '<a href="' . $link . '">' . $navn . '</a>';
}}
?>

 

7665027[/snapback]

Hvorfor i alle dager foreach? :confused: Uannsett, problemet her er "if ($sponsor == $nummer) {". Først og fremst, $sponsor er en streng og strenger bør man aldri sammenligne v.hj.a ==. Det andre problemet er at $nummer er et tall og har dermed absolutt ingenting med $sponsor å gjøre. Tilslutt undrer jeg meg _veldig_ på hvorfor du i det heltatt looper her :huh:

 

Dette burde holde:

<?php
$fil = file("sponsorer.txt");
$sponsor = array_rand($fil);
$sponsor = explode('***', $sponsor);
$navn = $sponsor[0];
$link = $sponsor[1];
echo $navn . ' <a href="' . $link . '">' . $link . '</a>';
//eller
// echo '<a href="' . $link . '">' . $navn . '</a>';
?>

 

Redigering: Kom på at vi har en fin funksjon som heter array_rand :)

Endret av Ernie
Skrevet (endret)

<?php
$fil = file("sponsorer.txt");
$sponsor = array_rand($fil);
$sponsor = explode('***', $fil[$sponsor]);
$navn = $sponsor[0];
$link = $sponsor[1];
echo $navn . ' <a href="' . $link . '">' . $link . '</a>';
//eller
// echo '<a href="' . $link . '">' . $navn . '</a>';
?>

 

Ernie har misforstått den fine funksjonen array_rand, som returnerer en random key fra array'et - ikke det arrayet du er på jakt etter.

 

For rettferdig fordeling kunne du jo ha lagt til et 3. felt som viser hvor ofte annonsen er blitt vist/viser den sponsoren som er vist minst.

Endret av Kagee
Skrevet

Hva med denne?

<?php
$sponsorer[0]['navn'] = 'Tine';
$sponsorer[0]['url'] = 'htpt://tine.no';
$sponsorer[1]['navn'] = 'Bama';
$sponsorer[1]['url'] = 'http://bama.no';

$id_rand = array_rand($sponsorer);

echo "Kantina er sponset av: <a href='" . $sponsorer[$id_rand]['url'] . "'>" . $sponsorer[$id_rand]['navn'] . "</a>";
?>

Godt mulig det ikke er dette du ønsket, men syns selv det er lettere å jobbe rett i et array, istede for å bruke explode og andre saker mot en tekstfil.

Utestet.

Skrevet

@ M4rTiN

 

Takk :D

Det er ikke mange sponsorene det er snakk om, så den lille ekstra jobben tar ikke så lang tid.

 

btw: Takk til dere andre også :)

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...