Autor Zpráva
SEID
Profil *
Prosim vas, da sa nejako vytvorit napriklad to, ze ak nejaky citatel klikne na odkaz v podobe obrazku, presmeruje ho na x stranku... ak by sa nahodou vratil a stlacil ten isty odkaz podla ip by zaznamenalo ze uz tu bol a presmerovalo ho na stranku y? tym istym odkazom v podobe obrazku
nemeja
Profil
Někam si uložte, zda již stránku navštívil, např. DB, ale podle mě se lépe hodí SESSION nebo cookies, a podle toho includujte danou stránku

stranka.html
<a href="script.php" title=""><img src="obrazek.jpg" alt="popisek"></a>
script.php
<?php
session_start();
if(isset($_SESSION['navstivil'])){
  include("y.html");
} else {
  include("x.html");
  $_SESSION['navstivil'] = true;
}
opravena závorka
SEID
Profil *
Dobry vecer, dakujem vam velmi pekne, ale v oblasti session sa nejako nevyznam.. Co to v tomto scripte v kratkosti znamena? Dakujem


Este podotazka, script musi byt na danej stranke odkazujuceho obrazka, alebo moze byt umiestneni aj na inom hostingu.. Z nejakeho dovodu tento script nemozem nahrat na host obrazka
nemeja
Profil
Zapne SESSION, poté kontroluje, jestli je uložena SESSION navstivil, pokud ano (znamená to, že uživatel již navštívil předchozí stránku) načte stránku Y, pokud ne, načte stránku X a nastaví SESSION navstivil pro příští kontrolu.
Script nemusí být na stejné doméně, pak stačí jenom přenastavit odkaz na <a href="http://nejakadomena.tld/script.php" title=""><img src="obrazek.jpg" alt="popisek"></a>. Nicméně mě, jako uživatele, by to zmátlo a stránky, které by mě jentak pro přečtení příspěvku přesměrovaly jinam, bych opustil.
SEID
Profil *
dobry den skusal som to v praxi a po stlaceni obrazka mi to hodilo toto:

Parse error: syntax error, unexpected '{' in /data/web/virtuals/50986/virtual/www/script.php on line 5

co mam zle? :/
han5vk
Profil *
Nemejovi chýba v kóde jedna zátvorka v podmienke.

if(isset($_SESSION['navstivil'])) {
SEID
Profil *
skusil som, hodilo nasledovnu chybu :/

Warning: include(x.html) [function.include]: failed to open stream: No such file or directory in /data/web/virtuals/50986/virtual/www/skript.php on line 11

Warning: include(x.html) [function.include]: failed to open stream: No such file or directory in /data/web/virtuals/50986/virtual/www/skript.php on line 11

Warning: include() [function.include]: Failed opening 'x.html' for inclusion (include_path='.:/data/web/virtuals/50986/virtual') in /data/web/virtuals/50986/virtual/www/skript.php on line 11


hop pardon, zle skopirovane,,, toto mi vyhodilo po dosadeni url


Warning: include() [function.include]: http:// wrapper is disabled in the server configuration by allow_url_include=0 in /data/web/virtuals/50986/virtual/www/ahoj.php on line 7

Warning: include(http://pokec.azet.sk/) [function.include]: failed to open stream: no suitable wrapper could be found in /data/web/virtuals/50986/virtual/www/ahoj.php on line 7

Warning: include() [function.include]: Failed opening 'http://pokec.azet.sk/' for inclusion (include_path='.:/data/web/virtuals/50986/virtual') in /data/web/virtuals/50986/virtual/www/ahoj.php on line 7
han5vk
Profil *
Podľa mňa server nemá povolené includovanie cudzích webov cez absolútne adresy (http://). Prečo sa to snažíš vlastne includovať? Keď chceš človeka poslať na pokec, použi presmerovanie, napr. cez header("Location: http://pokec.azet.sk/"); Ak chceš includovať stránku zo svojho webu, použi relatívne adresy, napr.: "/www/vitaj.php" a podobne.
SEID
Profil *
pokec, bola prva vec co ma napadla, nebudem smerovat na pokec, len jednoducho potrebujem, aby sa pri prvom raze zobrazila stranka ina, ako v druhom pripade, mozno keby sa vyuziva cookies ako vravel v druhom prispevku nemeja...

ak by to islo nejako lahsie, tak kludne :)
han5vk
Profil *
Tu nejde vôbec o cookies ani session. Ide o to kde to chceš smerovať a načo. Ak chceš zobraziť stránku svoju, tak to includuj. Ak chceš človeka presmerovať na cudziu stránku, použi header. Neviem čo chceš dosiahnuť vlastne, tak ti neviem presne poradiť. Neviem si predstaviť načo potrebuješ includovať cudziu stránku. Z tvojho prvého príspevku vyplýva, že potrebuješ niečo takéto:

1, človek príde na stránku
2, ak na odkaz ešte neklikol, odkaz ho presmeruje ho napr. na Google
3, ak na odkaz už klikol /cookie, session/, odkaz ho presmeruje ho napríklad na Facebook

Ak to potrebuješ len takto smerovať, tak ti stačí po kliknutí na odkaz zavolať header("Location: http://strankaY/") či header("Location: http//strankaX/"). Pričom to overenie spravíš nemejovým spôsobom so SESSION, alebo použiješ koláčiky/Cookies/ :)
SEID
Profil *
dobre, rozumiem, ale aby som to nemal take jednoduche, stranka v ktorej teraz robim (webnode) nepodporuje ftp ani nijake scripty... ale postup ste pochopil velmi presne...
v podstate vase 3 kroky vystihli co to ma presne urobit, akurat mam komplikacie s webnode strankou :/ prosim nepitajte sa ma preco webnode :)

popisem to presnejsie co to ma urobit:

niekto na stranke webnode, stlaci odkaz.. zobrazit by sa mu mala stranka s tlacidlom OK (to nebude nikde smerovat a nebude mu pridilene ziadna funkcia- ani to vam neviem odvodnit, nebol to moj napad) tym, ze niekto stlacil uz raz na webnode stranke na odkaz, moze tym padom stlacit este raz a presmeruje ho na pozadovanu stranku Y...

nieco v tomto zmysle, ani mne to nedava vyznam, ale pozaduje sa to odomna.. problem je vsak vo webnode, ze nemozem pouzivat ziadne scripty


vedeli by ste mi lepsie vysvetlit ten header, je to super napad, keby na webnode stranke odkazem na iny web kde je podpora ftp, tam to bude v pohode urobit, ale neviem si predstavit, ako header vyuzit...
a este ma napadla jedna vec...

Dalo by sa to spravit tak, ze na webnode stranke niekdo klikne na odkaz, otvori sa mu stranka s headerom, kde spusti prvu automaticky a druhu povedzme o 10 sek?
han5vk
Profil
Nemusíš mi vykať ;)

Ak je to webnode, tak header bude problém, pretože nepodporuje PHP.

1,
Takže, ak tomu správne rozumiem, človek klikne na webnode na odkaz, zobrazí sa mi tá stránka s nič nerobiacim tlačítkom OK. Čo sa deje teraz? Keď človek klikne znova na ten prvý odkaz, tak ho to pošle inde ako na stránku s tlačítkom OK?

2,
Ten posledný nápad: Bolo to myslené tak, že človek na webnode klikne na odkaz, zobrazí sa mu OK a po 10 sek ho to presmeruje automaticky na tú inú stránku? Ak áno, tak toto sa dá spraviť v HTML meta tagom (ale webnode to musí ajtak skomplikovať tým, že bude treba stiahnuť šablónu, upraviť, a nahrať nazad).

Takže ktoré z toho?
Záleží čo to má vlastne celé robiť.
SEID
Profil *
veď ty mi normálne rozumieš, to sa nestáva často pri mojích pochodoch myslenia :)

viem, viem a nechcem to ani komplikovať so sťahovaním a nahrávaním šablón.
Z webnode ma presmeruje napr. na web vytvorený v ic.cz, čo podporuje FTP a teda stránku s tlačidlom OK môžem nakodiť tam a tam by sa aj automatický spustilo po 10sek presmerovanie na iny web :) úplne jednoduché vysvetlenie a nebudeme to komplikovať so session :) a ešte 10 sek, dáme sek 5.. vedeli by sme to takto spraviť?
han5vk
Profil
Nevadi, ze ta stranka s OK tlacitkom bude vyzerat inak ako webnode? Tak ako si to teraz popisal, napises ten odkaz z webnode na tu vlastnu stranku inde, teda napr. To ic.cz, a tam si do html hlavicky napises metatag
<meta http-equiv="refresh" content="5;url=http://stranka-na-presmerovanie/">
to cislo v content je pocet sekund, ktore to pocka pred presmerovanim. Ak na tom druhom webe mas php, da sa pouzit header. Snad to je to co potrebujes. Pripadne by sa to dalo cele obist javascriptom
SEID
Profil *
funguje ďakujem, veľmi pekne :) a ešte sa spýtam, či nie je nejaký script, ktorý by po akomkoľvek kliknutí bez ohľadu nato kam, by sa dalo presmerovať na nejaku stranku

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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