Avatar billede birgittejensen Nybegynder
25. september 2003 - 18:14 Der er 10 kommentarer og
1 løsning

Skiftende signaturer igen igen

Speedy gav mit et lille script den anden dag, som kan bruges til automatisk at skifte signaturer på fx et forum.
Sådan som det er lige nu skifter det randomly imellem billederne .. hvordan får jeg det til at skifte i rækkefælge, så billede 1 kommer først .. så billede 2 osv.

Jeg går ud fra, at det er random_url der skal skiftes ud med et eller andet, men jeg er ikke så god til php at jeg kan regne det ud lol Jeg prøvede med bare $url);, og det gik ikke så godt :D


<?
    srand((float) microtime() * 1000);

    $images[] = "http://url.com/1.jpg";
    $images[] = "http://url.com/2.jpg";
    $images[] = "http://url.com/3.jpg";
   
    $random_url = $images[array_rand($images)];

    header("location: " . $random_url);
?>
Avatar billede jakoba Nybegynder
25. september 2003 - 18:26 #1
Det er faktist et pænt stort problem du opstiller der. For at gøre det skal du:
1) identificere og genkende de brugere der kommer og kikker på din side.
  Ellers ville 3 brugere der kom efter tur jo altid hver altid få vist det samme billede.
2) huske hvilket billede hver af dem blev vist sidste gang.

  Det kunne fx gøres med en database på serveren hvor du gemmer data for alle besøgende. men det er et pænt stort arbejde både for dig og for din server.

  Så hvis det bare er et "Det kunne være rart hvis ..." ønske så vil jeg anbefale at du glemmer det.

mvh JakobA
Avatar billede birgittejensen Nybegynder
25. september 2003 - 18:33 #2
hmmm det lyder som lidt af et projekt lol Kan man ikke bare få den til at starte fra en ende af uafhængigt af hvem der kigger? Så nogle vil jo selvfølgelig komme ind et eller andet sted midt eller sidst i "fremvisningen" .. men det gør heller ikke så meget. Bare den starter ved 1 og slutter ved 3 (fx)
Avatar billede jakoba Nybegynder
25. september 2003 - 18:51 #3
Jo det kan gøre med en enkelt lille fil på serveren:

<?
    srand((float) microtime() * 1000);

    $images[] = "http://url.com/1.jpg";
    $images[] = "http://url.com/2.jpg";
    $images[] = "http://url.com/3.jpg";

    $sekvens_fil = fopen( "navnPaaFilen.txt", "r+" );
                // åben for læse og skrive
    $nr = fread( $sekvens_fil, 1024 );
    rewind( $sekvens_fil );
    fwrite( $sekvens_fil, ($nr+1) % count($images) );
                // sæt filen til at pege på næste billede
    fclose( $sekvens_fil );
                // filen bør lukkes hurtigt så andre brugere kan komme til

    $random_url = $images[array_rand($images)];

    header( "location: " . $images[$nr] );
?>

mvh JakobA
Avatar billede jakoba Nybegynder
25. september 2003 - 18:53 #4
Ups. jeg glemte af tjerne linien:
    $random_url = $images[array_rand($images)];
den behøves ikke mere.
Avatar billede birgittejensen Nybegynder
25. september 2003 - 19:44 #5
Skal jeg så kun bruge den eller begge to?
Avatar billede jakoba Nybegynder
25. september 2003 - 19:49 #6
kun den. det er hele scriptet ( med en linie formeget :-))
Avatar billede birgittejensen Nybegynder
25. september 2003 - 20:01 #7
Ok .. jeg er ikke så klog her *gg* Er det her alt, hvad jeg behøver at gøre, eller er der andet i coden jeg skal ændre? Jeg paster det ind i notepad og gemmer det som birgitte.php, uploader det til min server, og putter det ind i img tags'ne på det pågældende forum, og så virker det ikke lol Har det noget at sige, om det er på engelsk eller dansk?


<?
    srand((float) microtime() * 1000);

    $images[] = "http://www.url.com/sig/1.jpg";
    $images[] = "http://www.url.com/sig/2.jpg";
    $images[] = "http://www.url.com/sig/3.jpg";
    $images[] = "http://www.url.com/sig/4.jpg";
    $images[] = "http://www.url.com/sig/5.jpg";
    $images[] = "http://www.url.com/sig/6.jpg";
    $images[] = "http://www.url.com/sig/7.jpg";

    $sekvens_fil = fopen( "navnPaaFilen.txt", "r+" );
                // åben for læse og skrive
    $nr = fread( $sekvens_fil, 1024 );
    rewind( $sekvens_fil );
    fwrite( $sekvens_fil, ($nr+1) % count($images) );
                // sæt filen til at pege på næste billede
    fclose( $sekvens_fil );
                // filen bør lukkes hurtigt så andre

brugere kan komme til


    header( "location: " . $images[$nr] );
?>
Avatar billede jakoba Nybegynder
25. september 2003 - 20:10 #8
Det der nok er galt er at du måske ikke har tilladelse til at opretten en fil i den mappe (samme mappe som du uploade scriptet til)

lav en lille fil "navnPaaFilen.txt" med kun et enkelt gogstav i (cifferet 0)
og upload så den fil til din mappe.

du skal også lige have samlet den kommentar sammen til een linie igen:
                // filen bør lukkes hurtigt så andre brugere kan komme til

Og muligvis akal du bruge dit FTP program til at gøre den lille fil skrivbar.
Avatar billede birgittejensen Nybegynder
25. september 2003 - 20:15 #9
Jeg har  masser af tilladelser lol Skal jeg ikke lave koden som et php dokument? Jeg er meget forvirret lige nu lol Vi er enige om, at den første kode deroppe .. den jeg puttede i mit oprindelige spørgsmål, den har vi glemt alt om ikk'?
Avatar billede jakoba Nybegynder
25. september 2003 - 20:39 #10
denne kode
<?
    srand((float) microtime() * 1000);

    $images[] = "http://www.url.com/sig/1.jpg";
    $images[] = "http://www.url.com/sig/2.jpg";
    $images[] = "http://www.url.com/sig/3.jpg";
    $images[] = "http://www.url.com/sig/4.jpg";
    $images[] = "http://www.url.com/sig/5.jpg";
    $images[] = "http://www.url.com/sig/6.jpg";
    $images[] = "http://www.url.com/sig/7.jpg";

    $sekvens_fil = fopen( "navnPaaFilen.txt", "r+" );
                // åben for læse og skrive
    $nr = fread( $sekvens_fil, 1024 );
    rewind( $sekvens_fil );
    fwrite( $sekvens_fil, ($nr+1) % count($images) );
                // sæt filen til at pege på næste billede
    fclose( $sekvens_fil );
                // filen bør lukkes hurtigt så andre brugere kan komme til

    header( "location: " . $images[$nr] );
?>
skal være et php dokument med efternavne .php (og bruges i dine <img kommandoer som du allerede gør.

den lille fil er bare en fil der hedder .txt til efternavn. den indeholder ingen kode så den skal ikke være et php dokument.

mvh JakobA
Avatar billede birgittejensen Nybegynder
25. september 2003 - 21:03 #11
ahhhhhhhh NU virker det :D Tusind tak for al din hjælp og tid :o)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester