Slumpvalda citat?

Tråden skapades och har fått 15 svar. Det senaste inlägget skrevs .
1
  • Medlem
  • Uddevalla
  • 2006-09-30 15:33

Hej! Jag har en hemsida där jag vill att slumpvis valda citat skall dyka upp i den vänstra "framen" varje gång man klickar på en av navigationsknapparna.
Är det någon som vet hur jag skall bära mig åt?
Jag har knåpat ihop sidan med dreamweaver och har mycket lite kunskap om hemsidetillverkning.

Sidan är: http://www.chokladeriet.se

Har du php på din server kan du tex använda detta lilla script:

<?php

  $quotes[] = 'citat 1';
  $quotes[] = 'citat 2';
  $quotes[] = 'etc...';

  srand ((double) microtime() * 1000000);
  $random_number = rand(0,count($quotes)-1);

  echo ($quotes[$random_number]);

?>

Prova genom att göra en ny php-sida i dreamweaver, klista in ovanstående kod i kod-fönstret, och spara sidan som nåt.php

  • Medlem
  • Uddevalla
  • 2006-09-30 18:59

Allt är gjort i html! Jag vet inte ens vad php är.
Går det blanda php och html på sidan?
Thomas

  • Medlem
  • Neverland
  • 2006-09-30 19:30

Ja, det går. Se bara till att sidan får suffix .php istället för .html

Annars kan du använda javascript på din html-sida. Googla efter ”javascript random quote” så får du ganska många träffar.

  • Oregistrerad
  • 2006-10-04 21:26

Nu är det ju inte så enkelt att det bara är att byta namn på filen från .html till .php. Det krävs att PHP finns installerat på webbservern också.

  • Medlem
  • Uddevalla
  • 2006-10-05 12:52

Nu har jag hittat ett script som ger mig slumpvis valda ordspråk, men det funkar inte riktigt som jag vill..
När jag navigerar på hemsidan vill jag att ordspråket byts varje gång man klickar på en länk.
Jag lägger scriptet här och blir väldigt glad om någon kan hjälpa mig:-)

Thomas

<SCRIPT LANGUAGE="JavaScript">
//store the quotations in arrays

quotes = new Array(9);
authors = new Array(9);
quotes[0] = "Ingen annanstans har naturen koncentrerat ett sådant överflöd av de mest värdefulla födoämnena på ett så litet utrymme som kakaobönan.";
authors[0] = "Alexander von Humboldt, 1796-1859";
quotes[1] = "Choklad är inte bara gott, det är också som ett balsam för munnen. Det är nyttigt för alla körtlar och vätskor och ger god hälsa. Det är därför som alla som dricker det får en angenäm andedräkt.";
authors[1] = "Dr S Blancardi, Amsterdam 1705";
quotes[2] = "För en del är det blommor som talar kärlekens språk, men för andra är det choklad som fläktar liv i elden.";
authors[2] = "Rebecca J. Pate";
quotes[3] = "Tänka fritt är stort, men tänka choklad är än större.";
authors[3] = "Okänd";
quotes[4] = "Choklad får annars normala människor att smälta ner i underliga extatiska tillstånd.";
authors[4] = "John West";
quotes[5] = "Matlagning är ett av livets glädjeämnen. Choklad är ett av livets nöjen.";
authors[5] = "Sara Perry";
quotes[6] = "Sötsaker gjorda av choklad är de bästa. Söta och mörka, smälter de på våra tungor och dröjer sig kvar i våra munnar med en utsökt varm krämighet som består av en del smak och en del minne.";
authors[6] = "Mary Goodbody";
quotes[7] = "Nio av tio gillar choklad. Och den tionde ljuger alltid.";
authors[7] = "John G. Tullius";
quotes[8] = "Bra choklad gör dig inte illamående. Du blir inte ens fet. Se på mig, och jag äter det varje dag.";
authors[8] = "Robert Linxie, fransk chocolatier";
quotes[9] = "Den är syndigt, oanständigt fyllig och frestande, men varenda sked är himmelsk, och det är det chokladfromage ska vara.";
authors[9] = "Julia Child";

//calculate a random index
index = Math.floor(Math.random() * quotes.length);

//display the quotation
document.write("<DL>\n");
document.write("<DT>" + "\"" + quotes[index] + "\"\n");
document.write("<DD>" + "-- " + authors[index] + "\n");
document.write("</DL>\n");

//done
</SCRIPT>

  • Oregistrerad
  • 2006-10-05 13:28

Testa att lägga till detta i slutet av ditt script (innan //done):

window.top.frames['framenamnet_som_ska_uppdateras'].location.reload();

Glöm inte att byta ut "framenamnet_som_ska_uppdateras" mot det verkliga namnet på din frame.

  • Medlem
  • Uddevalla
  • 2006-10-05 16:01
Ursprungligen av Valentino:

Testa att lägga till detta i slutet av ditt script (innan //done):

window.top.frames['framenamnet_som_ska_uppdateras'].location.reload();

Glöm inte att byta ut "framenamnet_som_ska_uppdateras" mot det verkliga namnet på din frame.

Jag har lagt in: window.top.frames[left.html].location.reload();
detta gör dock ingen skillnad.
Navigeringsknapparna ligger i samma frame som ord språken skall dyka upp på. Denna frame heter left.html

funderar vidare och hoppas på ytterligare hjälp:-)

  • Medlem
  • Karlstad
  • 2006-10-05 13:39

Det här gratisskriptet som egentligen är för bilder funkar lika bra för textfiler om jag inte minns fel: http://automaticlabs.com/products/rotator
Man bara släpper det i samma (en speciell) folder där man också lägger in textfilerna med citat, åsså länkar man till själva skriptet. Då leverera skriptet slumpmässigt nya textfiler.

  • Oregistrerad
  • 2006-10-05 16:21

Det är inte namnet på filen som ska in där, utan namnet på framen i framesetet.

Exempel:

<frameset>
<frame src="left.html" name="left">
</frameset>

  • Medlem
  • Uddevalla
  • 2006-10-05 20:01
Ursprungligen av Valentino:

Det är inte namnet på filen som ska in där, utan namnet på framen i framesetet.

Exempel:

<frameset>
<frame src="left.html" name="left">
</frameset>

Nu blir jag alldeles förvirrad i min okunskap...
framen heter leftFrame och jag lade in den. Hela framen uppdateras hela tiden, varje sekund, istället för att uppdateras när man klickar.

Thomas

Senast redigerat 2006-10-05 20:35
  • Oregistrerad
  • 2006-10-05 20:40

Hmm... har jag missuppfattat allting? Kanske jag som inte läst tillräckligt. Kommer den där koden, som jag gav dig, att ligga i samma frame som den som uppdateras? Då får du ta bort den koden jag gav dig och istället se till att länkarna får utformningen:

<a href="xxxxx.html" onClick="window.top.frames['framenamnet_som_ska_uppdateras'].location.reload();">Länktext</a>

Det är lite svårt att skapa något, när jag inte riktigt vet hur sidan ser ut. Men testa att göra en händelsehanterare, i det här fallet en onClick, på länken.

  • Medlem
  • Uddevalla
  • 2006-10-05 21:07

Tyvärr hänger jag nog inte riktigt med, du kan se min sida på www.chokladeriet.se
Det är tänkt att citaten skall dyka upp mellan "nya datum provningar" och "senast uppdaterad" och att de skall förnyas varje gång man klickar sig vidare på hemsidan.

jag är väldigt tacksam för all hjälp.
Thomas

  • Oregistrerad
  • 2006-10-05 21:23

Jag har aldrig riktigt förstått poängen med frames, men det hör väl inte hit. Nu ska vi göra det bästa av situationen.

Gör så här, om du vill få ett nytt citat varje gång någon klickar på en länk, att du lägger till följande kod i varje länk:
onClick="window.top.frames['leftFrame'].location.reload();"

Länken som idag heter HEM, bör i så fall se ut så här i koden.

<a href="topframe.html" target="mainFrame" onClick="window.top.frames['leftFrame'].location.reload();">Hem</a>

Blev det klarare?

  • Medlem
  • Uddevalla
  • 2006-10-05 21:41

Nu är jag med och det funkar!
Jag har suttit hemma och gjort sidan utan förkunskaper och frames föll sig naturligt just då.
Tack för hjälpen!
Thomas

  • Oregistrerad
  • 2006-10-05 22:02

Kanon!

1
Bevaka tråden