Autor Zpráva
delabela
Profil *
Má představa:

Stránka, kde je určitý obsah a po kliknutí na příslušný odkaz, třeba "jít dál" by se zobrazila další stránka, ale to tak, že by se zobrazila naprosto náhodně, z nějakého předem nastaveného seznamu odkazů, kam by se dotyčný "uživatel" měl dostat. Ničím neřizené, vše čistě na náhodu.

Jak to udělat? Přes script? Nějaká databáze odkazů? Existuje nějaký jednoduchý a zároveň elegantní způsob na něco takového?
juriad
Profil
Vše záleží na tom, jakým způsobem budeš mít reprezentovaný seznam těch odkazů.
Dále záleží na tom, zda odkaz <a href="...">Jít dál</a> má mít přímo adresu cílové stránky, nebo se odkazovat obecně vždy třeba na nahodna-stranka.php, která uživatele na náhodnou stránku přesměruje.
delabela
Profil *
Pokud správně chápu otázku, tak má odpověd je, že každá následující stránka by měla mít samostatný odkaz. Řekněme, uživatel příjde na stránku www.cokoliv.cz a zde se objeví nějaký obsah, který ho vybídne pokračovat dál a to tlačítkem například "jít dál" ... když na ono tlačítko klikne tak se z předem vytvořeného seznamu odkazů zobrazí náhodná stránka s vlastním odkazem (www.cokoliv.cz/blabla) a kde by bylo znovu tlačítko "jít dál", díky kterému by se po jeho kliknutí znovu zobrazila další náhodně vybraná stránka (www.cokoliv.cz/hafhaf) a tak pořád dokola ......

Prostě, aby vždy, při kliknutí na daný odkaz "jít dál" se náhodně objevila stránka nová a to z předem daného seznamu stránek, například:

cokoliv.cz/blabla
cokoliv.cz/hafhaf
cokoliv.cz/mrkmrk
cokoliv.cz/vrkvrk

atd ...

víc pochopitelněji to napsat asi nedokážu:)
Marschmallow
Profil
delabela:
Juriad to druhým způsobem myslel asi takhle:
1.) Na stránce 1. bude odkaz jít dále, ten bude odkazovat na soubor nahoda.php
2.) V souboru nahoda.php budou zapsané všechny stránky, na které chceš odkazovat
3.) Soubor nahoda.php si sám vybere jednu z těch zapsaných stránek a tu Ti otevře. Pokaždé jinak

Takhle jsi to delabela chtěl/a ?
Chro
Profil
Ještě by se mělo ošetřit, aby se pro každého návštěvníka nezobrazoval minulý a předminulý odkaz, což si vynutí ukládat tuto informaci do cookie.
delabela
Profil *
Marschmallow:

Ano, děkuji, přesně takhle si to Delabela přeje, aby to fungovalo:)


Chro:

Samozřejmně, ale to mi příjde zatím podružné, pokud by těch odkazů bylo třeba 100 a více a tudíž šance otevření vícero stránek po sobě, by bylo malé ..

Aktuálně mi jde čiště o ten princip a způsob, jak na to ....
Chro
Profil
Mělo by se to udělat pořádně napoprvé. Nejlepší nápad je odkazovat na skript do samostatné stránky (nahoda.php), kde se vše "uvaří" do několika milisekund a přesměruje se na cílovou stránku (kvůli údržbě, změnám). Skript by měl také před přesměrováním zkontrolovat, zda cílová stránka obsahuje odkaz Jît dál na nahoda.php, pokud ne, doplnit ho do souboru na konec stránky. Dělat to ručně by byla otrava.
delabela
Profil *
Chro: No jo a jak teda na to?
Chro
Profil
No napsat skript přece. ;) Já se teď budu dívat na zápas ČR vs. Kanada ve sledge hokeji. Možná večer něco ubastlím, je to na více řádků, pokud se ovšem nenajde jiný kavalír silnic. :) Je třeba napsat, jestli máš ty náhodné stránky (soubory) v nějakém adresáři, v kořenu webu, atp.
delabela
Profil *
Kdyby si byl zrovna ty tím "Kavalírem silnic" (cože?), tak bych ti byl samozřejmně velice vděčný a až bych jednou psal své memoáry, tak bych tě v nich jistě zmínil!

A asi nevím, jak svojí otázku myslíš, ale moje naivní představa je asi taková, že:

Budu mít nějaký obří seznam href odkazů, které vnořím vždy do každé jednolivé stránce (a nebo by ně přímo odkazoval ten script na každé stránce a ty odkazy by si tahal z nějakého externího souboru/tabulky) a z té by si posléze ten script náhodně vybíral jednotlivé stránky, které by zrovna otřevřel:) ... toť má představa.
Chro
Profil
Soubor stranky.txt umísti do kořene webu a jednotlivé stránky do něj piš bez domény od kořene webu bez počátečního lomítka na nové řádky, př.
kontakt/index.php
blabla/index.html
slozka/slozka/seznam.html
blabla.php
Soubor nahoda.php s obsahem níže vlož taky do kořene webu. Pokud nějaká stránka neobsahuje odkaz Jít dál, skript ho do stránky (souboru) automaticky natrvalo vloží před tag </body>, ten by měla každá stránka obsahovat.
<?php
$domena = 'www.mojedomena.cz/';
$stranky = file('stranky.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
$pocet = count($stranky) - 1;
if (isset($_COOKIE['cisla']) && substr_count($_COOKIE['cisla'], ',') === 1)
{
$cisla = explode(',', $_COOKIE['cisla']);
$cislo1 = (int) $cisla[0];
$cislo2 = (int) $cisla[1];
}
else
{
$cislo1 = rand(0, $pocet);
$cislo2 = rand(0, $pocet);
}
while(TRUE)
{
$nahodne = rand(0, $pocet);
if ($nahodne !== $cislo1 && $nahodne !== $cislo2)
{
break;
}
}
setcookie('cisla', $nahodne.','.$cislo1, time() + 60 * 60 * 24 * 365);
$stranka = $stranky[$nahodne];
$odkaz = '<a href="/nahoda.php">';
$kod = file_get_contents($stranka);
if (strpos($kod, $odkaz) === FALSE)
{
$kod = str_replace('</body>', '<div class="">'.$odkaz."Jít dál</a></div>/n</body>", $kod);
file_put_contents($stranka, $kod, LOCK_EX);
}
header('Location: http://'.$domena.$stranka);
exit;
?>
peta
Profil
delabela: Co treba pouzit priklady na jpw?
Výpis náhodného přísloví - nahodna volba
Přechod na jinou stránku selectem - prechod na jinou stranku

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: