Autor | Zpráva | ||
---|---|---|---|
Bady Profil * |
#1 · Zasláno: 23. 1. 2006, 10:25:25
Takze prelozim to:
mam stranku1 v tej je definovana neaka premenna $x=bublifuk... v tejto stranke1 kliknete na odkaz na stranku2... a v tej sa automaticky definuje premenna $x=bublifuk Viem ze by bolo strasne pekne napisat do toho odkazku stranka2.php?x=bublifuk ALE to by vsetci videli co posielam... Neviem, nie som moc good v php ale nebolo tam volaco take ze session? ci to som vedla? DIK! |
||
Anonymní Profil * |
#2 · Zasláno: 23. 1. 2006, 10:50:10
Já také nejsem moc dobrej v PHP, ale možná by to šlo poslat skrytým atributem formuláře a metodou "post" ...
Karel |
||
Peca Profil |
#3 · Zasláno: 23. 1. 2006, 11:40:19
Přeně tak, dá se to řešit přes session. Všechny proměnné jsou na serveru a posílá se jenom jejich identifikátor. Podmínku je mít zapnuté cookies nebo tento identifikátor přidávat ke každému odkazu.
|
||
jozob Profil |
#4 · Zasláno: 23. 1. 2006, 13:48:37 · Upravil/a: jozob
Bady
Anonymní a Peca to už načali, ja to trošku skonkretizujem. 1.) Použitie štandardných možností HTML V tomto prípade ide o použitie neviditeľných formulárových prvkov. <input type="hidden" value="hodnota" name="nazov_premennej" /> Tento tag vložiš do formulára, formuláru nastavíš metódu posielania na POST, formuláru určíš názov. <form name="formular" action="" method="POST"> Aby sa po kliknutí na odkaz odoslali premenné, do udalosti onclick daného odkazu pridaj javascript, ktorý odošle formulár pomocou metódy submit(). <form name="formular" action="" method="POST"> Odoslané premenné budú dostupné v poli $_POST; 2.) Použitie sessions V tomto prípade sa využívajú možnosti PHP. Je to zložitejšia metóda na predávanie dát medzi súbormi, ale najbezpečnejšia, nakoľko aj v 1. prípade je možné "skryté" údaje prečítať a to priamo zo zdrojového kódu. Najprv je potrebné inicializovať sessions pomocou príkazu sessions_start(), tým sa pridelí klientovi unikátne ID, ktoré slúži na identifikáciu dát, aby bolo jasné, ktoré dáta patria ktorému uživateľovi. Premenné sa ukladajú na disku serveru, obyčajne v tmp adresári. Ako už napísal Peca, je potrebné mať zapnuté cookies. Pokiaľ nie sú zapnuté cookies, ID sa odosiela pomocou metódy GET, priamo v odkazoch (premenná PHPSESSID). Premenné sa deklarujú pomocou funkcie session_register("nazov_premennej"). S premennými sa pracuje pomocou poľa $_SESSION. Premenné sa "ničia" pomocou funkcie session_unset("nazov_premennej"). Celé sessions sa ukončujú pomocou funkcie session_destroy(), táto funkcia "zničí" všetky premenné, vrátane unikátného ID. Po prejdení na inú stránku sa premenné uchovávajú v poli $_SESSION až do vtedy, kým neuplynie doba stanovená direktívou session.cookie_lifetime, alebo dovtedy, kým nepoužijeme funkciu session_destroy(). Direktíva session.cookie_lifetime je implicitne je nastavená na "0", čo znamená, že session cookie platí ("žije") až dovtedy, kým uživateľ neuzavrie prehliadač. Príklad:
*** Prepáčte mi za dlhši komentár (článok :-)). |
||
error414 Profil |
#5 · Zasláno: 23. 1. 2006, 14:18:03
Pokiaľ nie sú zapnuté cookies, ID sa odosiela pomocou metódy GET, priamo v odkazoch
jen pokud je to na serveru povoleno, ale casteji je to zakazano, kvuli bezpecnosti |
||
Bady Profil * |
#6 · Zasláno: 23. 1. 2006, 14:37:26
jozob
posielam pusu! :) diky!!! |
||
Časová prodleva: 18 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0