Autor Zpráva
TrueFriend
Profil
Ahoj. Prosím lze nějak získat URL odkazu ze stránky FRAME2 po nějaké časové době jinou stránkou FRAME1 a na této stránce FRAME1 zobrazit ten odkaz v proměnné ?
Samozřejmě předpokladem je, že budu mít rámy FRAME, se kterými bych pracoval.

Příklad:
Budu mít dva rámy TOP a MAIN, v rámu TOP budu mít odkaz, který se otevře v rámu MAIN. Ten však obsahuje patametry, které upraví její URL třeba na "script.php?refresh=30&user=navstevnik"
a já bych chtěl tím rámem TOP zobrazit návštěvníkovi tu změněnou URL rámu MAIN.
tiso
Profil
Framy a PHP pokope? Načo? Využi potenciál PHP a zruš framy (pomocou include)
TrueFriend
Profil
dobře tedy, použiji funkci include.... ale jak dostanu tu URL ??? nenapadá mne jak použít funkci include na to, abych načetl vygenerovaný odkaz.
Obráceně to chápu... vygenerovat odkaz, a pak ho načíst přes include-to chápu, to jde, ale pokud jde načíst vygenerovaný odkaz formou include do proměnné, tak to mi zatím uniká.

Nebo žeby to šlo přece?Jak?
tiso
Profil
Tak sa mi zdá že nerozumieš ako som to myslel: http://polopate.jakpsatweb.cz/index.php?page=include

Čo sa týka url, tak Ťa zaujíma superglobálne pole $_SERVER, napríklad $_SERVER["REQUEST_URI"]
Joker
Profil
Podle mě nelze v PHP získat adresu načtenou v jiném rámu. Možná tak Javascriptem, ale ani tak si nejsem jistý.
TrueFriend
Profil
tiso
to je dobrá volba díky zkusím. Ale přesto, uvítal bych spíše způsob, který by zkrze toto neobtěžoval PHP... z důvodu, že nechci toto zpracovávat serverem z důvodu bezpěčnosti, ale na straně klienta...

Jak napsal Joker tak třeba pomocí Javascriptu pokud to jde. Problém u zpracování tohoto dotazu pomocí PHP se mi už několikrát stalo, že se dotazy "zkřížili" a zobrazí se cizí URL uživatelům, co nemaj s tím nic společného.

Pokud v jednu chvíli vykonává script funkci INCLUDE pro jednoho klienta, tak než dojde k výpisu té URL, tak se může stát že se tato URL zobrazí jinému klientovi, který zadal serveru stajnou funkci.
Sice by se to stávat nemělo, protože jsou vykonávány operace v jednotlivých vláknech pro jednotlivé požadavky návštěvníků, ale už jsem se s tím v praxi setkal. Zejména na chatech co začínaj, kdy uživateli naskočila URL úplně někoho jiného...
teď se to už řeší přes HTTP Request, tak je to zabezpěčené, že se na ověření pravosti uživatele podílí i sám uživatel (prohlížeč, apod.). Proto bych zde chtěl zpracování formou include vynechat.

Samozřejmě k tomuto "křížení" dochází, pokud tento script vykonává 500 a více požadavků najednou... ale žádný uživatel by se neměl dostat na odkaz někoho cizího... i kdyby to měl být jeden ze sta uživatelů.

Proto bych to rád řešil například tím javascriptem, nebo čímkoli ze strany uživatele, nikoliv aby server vybíral a zpracovával co odešlě uživateli.
tiso
Profil
TrueFriend
Ja som to písal v inom význame: Framy sú minulosťou a ak máš na stránke php tak nevidím ich opodstatnenosť (až na stránku s chatom, ale i to sa dá robiť inak)

Pokiaľ máš také problémy ako píšeš tak je jasné že máš bordel v návrhu a treba to celé prekopať... Ak máš icq, tak napíš číslo, keď nemáš, tak skús od začiatku čo to má celé robiť a ako to máš riešené...
TrueFriend
Profil
jde jen o to, aby uživatel viděl celou svou stránku vagenerovanou chatem na jiné stránce...
Tak mne napadlo to řešit tak, že se bude načítat nějakou proměnnou... jen jsem nepochopil jak.

udělal jsem chat... ten udělá postupně po přihlášení URL ve tvaru...
chat.php?refresh=30&user=navstevnik ...

a naprogramoval jsem to tak, že jsem chtěl udělat jakousi "šablonu" pro ten dokument, která by pak jen místo znaků doplnila při volání do TOPframe tu šablonu ... myslel jsem, žeby to těžil z POST, z formuláře, ale to nejde.

Scripty:
sablona.txt
Uživatel: <? echo $user;?>, Refresh, který máte nastaven: <? echo $refresh;?> vteřin.

filtr.php - měl by načíst šablonu a na místa v šabloně dosadit hodnoty
<?php
$string = file_get_contents("sablona.txt");
$mujcil = sprintf($string, $_POST['jmeno'], $_POST['refresh']);
$fa = fopen("topframe.php", "w");
fwrite($fa, "$mujcil");
fclose($fa);
?>

Ale vymyká se to smyslům... šlo jen o pokus, zdali by to šlo takto, ale nešlo... je mi jasný, že je to blbost.
Vím, že se to dá řešit session, ale už to takhle řešit nechci...

Proto bych to chtěl řešit jen pomocí "grabnutí" URL, myslím žeby to bylo jednodušší a určitě bezpečnější.
Jen nevím jak na to... :(
tiso
Profil
Stále nerozumiem o čo Ti ide...
TrueFriend
Profil
Co jsem popisoval, tak bylo co jsem zkoušel.. jak jsem řešil ten problém (zbytečně moc složitě).
Chtěl jsem získat funkci POST, pro dokument třetí strany, ale to je bez šance... a tím předat parametry třetímu scriptu, který by ty hodnoty z formuláře zpracoval. Ale to už jsem vypustil... ani pomocí sessoin to nechci řešit.

Teď to tedy chci řešit jednodušeji... a to tak, že bych chtěl získat (grabnout) URL samotného chatu, a tu hodnotu pak vypsat na jiné stránce (v jiném frame).

To je celé... jen nevím jak na to:(
tiso
Profil
Aké adresy majú jednotlivé časti toho chatu? (main, jednotlivé framy) Skús popísať ako sa postupne menia a v akej situácii sa nachádzaš a čo chceš spraviť...
TrueFriend
Profil
Udělla jsem to tak, že mají tři framy.
Chatovací okno, pak dole lišta se zadáním uživatele a na pravé straně ovládací prvky pro uživatele.
Nevím jak moc je důležité jaké framy, ale teď řeším jen tu URL.

Je to jako by se zadal název www.seznam.cz a pak se automaticky změnila URL z www.seznam.cz na www.seznam.cz/dny.php?den=pondeli

například z nějakého skrytéhu input pole, které se samo odešle (GET) při automatickém reloadu stránky.


A teď jde o to, jak získat tu změněnou adresu, aby se dala zobrazit v jiném frame.
TrueFriend
Profil
Když bych měl na jednoduchém příkladu frame MAIN a TOP, tak ve frame MAIN by byl ten chat, co by měl tu URL www.seznam.cz/dny.php?den=pondeli
a pak by se zobrazil ten odkaz na tu stránku ve frame MAIN v php ve frame TOP ...
tiso
Profil
Na toto sa ťažko niečo vymýšľa... session, cookie, db, priamo to asi nepôjde... Musíš totiž jednoznačne identifikovať počítač pripojeného usera, v 2 nezávislých skriptoch...
TrueFriend
Profil
to máš pravdu...

protože pak tu URL bych rád převedl do proměnný... takže s tím script vlastně musí nějak pracovat... :(

tak jsem v háji :(
tiso
Profil
Takto to dopadne keď tvrdohlavo trváš na tom čo áno a čo nie... Rámy áno, session nie...
TrueFriend
Profil
Proč každý využívá jedny funkce?
Sice jsou nejrozšířenější, ale přeci existují alternativy.

Šlo by to klidně řešit i takhle:

chat.php?user=ja&refresh=30

<?php

if (isset($_GET['user']))
echo 'Proměnná user = ',$_GET['user'],'<br>';
else
echo 'Proměnná user nefunguje<br>';

if (isset($_GET['refresh']))
echo 'Předána proměnná refresh = ',$_GET['refresh'],'<br>';
else
echo 'Proměnná refresh nefunguje<br>';

?>

ale to není tak dobře proveditelné pro tento případ.
tiso
Profil
Nie je, tak prečo to píšeš? $_GET $_POST $_SERVER polia obsahujú rôzne hodnoty pre rôzne stránky...
TrueFriend
Profil
byl to jen příklad....
Toto téma je uzamčeno. Odpověď nelze zaslat.

0