| | |
| Stránka: 1 z 1
| [ Príspevkov: 12 ] | |
Autor | Správa |
---|
Registrovaný: 14.11.10 Prihlásený: 22.09.17 Príspevky: 129 Témy: 27 | Napísal venom2: 21.02.2011 21:19 | |
|
ahojte mam taku pre vas hadam lahucku otazocku . Lozim po nete a niekde najdem ze pri zadavani premennych do session vyslovene TREBA pisat funkciu Kód: session_register("premenna"); a inde o tom niet ani zmienky a pisu ze staci napisat Kód: $_SESSION["premenna"]="hodnota"; Cize ako to je? Treba to session_register pisat alebo nie?
Skusal som oboje a oboje aj funguje, len ci to tak ostane aj dobuducna, kedze niekde pisu ze ju treba pisat, a vyvojari PHP tu funkciu tiez asi nevymysleli pre nic zanic
dakujem
|
|
Registrovaný: 26.11.06 Prihlásený: 22.01.24 Príspevky: 4118 Témy: 319 Bydlisko: HE/BA | Napísal Flety: 21.02.2011 21:31 | |
|
V starších verziách sa používala aj tá fcia. V novších ju chcú úplne odstrániť. Myslím, že predstavuje aj nejaké bezpečnostné riziko alebo také niečo.
|
|
Registrovaný: 21.02.06 Prihlásený: 08.12.14 Príspevky: 5404 Témy: 30 Bydlisko: Bratislava | Napísal shaggy: 21.02.2011 23:52 | |
|
venom2 - niekedy stačí pozrieť dokumentáciu priamo na php.net a zistíš, že session_register je zastaralé a neodporúčajú to používať.
_________________ Neradím a nekomunikujem cez SS, ak niečo potrebujete, máte iné možnosti: Ak vám zmizla téma, alebo sa vám niečo nepáči. Ak potrebujete nahlásiť príspevok/človeka, reportujte ho. Ak máte s niečim problém, riešte to v danej téme. |
|
Registrovaný: 14.11.10 Prihlásený: 22.09.17 Príspevky: 129 Témy: 27 | Napísal autor témy venom2: 25.02.2011 22:58 | |
|
Vedeli by ste mi prosim poradit ako sa da zistit ci su v session ulozene premenne (nie ci je nastartovana, ale ci obsahuje premenne)? Ide mi o to, ze ak session premenne neobsahuje, tak sa do session nacitaju zo suboru, a ak session premenne uz obsahuje tak sa len prepisu pomocou formulara. Neviem co mam zadat do podmienky, ktora to testuje (dole v zdrojaku je vyznacena). Skusal som
Kód: if(isset($_SESSION['premenna1'] != "")) if($_SESSION) if(isset($_SESSION))
a este kadeco co ma napadlo, ale stale nieco nefunguje a uz mi z toho hrabe . Zdrojaky vyzeraju takto: Sablona: Kód: <? session_start(); ?> <html> <head> </head> <body> <? include ("....."); // vlozenie suboru do sablony ?> </body> </html> Includovany subor: Kód: <?// nacitanie premennych zo suboru $subor = File("subor.php"); for ($i=0; $i<Count($subor); $i++) { $load_premenna1 = trim($subor[0]); $load_premenna2 = trim($subor[1]); }
// priradenie premennych do session if(???????) // PROBLEMOVA PODMIENKA { $_SESSION['premenna1'] = (string)$_POST['premenna1']; // ak session premenne obsahuje, premenne by sa mali prepisat $_SESSION['premenna2'] = (string)$_POST['premenna2']; } else { $_SESSION['premenna1'] = $load_premenna1; // ak session premenne neobsahuje, premenne sa nacitaju zo suboru $_SESSION['premenna2'] = $load_premenna2; }
//formular ?> <form action="subor2.php?odoslat" method="post"> <input type="text" name="premenna1" value="<? echo $_SESSION['premenna1']; ?>" size="8" maxlength="10"> <input type="text" name="premenna2" value="<? echo $_SESSION['premenna2']; ?>" size="8" maxlength="10"> <input type="submit" name="odoslat" value="odoslat" style="width: 150px"> </form> <? // zapis do suboru if(isset($_REQUEST['odoslat'])) { $subor= "subor.php"; $fh = fopen($subor, 'w') or die("súbor sa nepodarilo otvoriť"); $stringData = $_SESSION['premenna1']."\n".$_SESSION['premenna2']; fwrite($fh, $stringData); fclose($fh); } ?>
|
|
Registrovaný: 26.12.06 Prihlásený: 16.11.19 Príspevky: 3971 Témy: 181 Bydlisko: Nitra / Bra... | Napísal emer: 25.02.2011 23:09 | |
|
empty()
_________________ Sorry za prelkepy |
|
Registrovaný: 14.11.10 Prihlásený: 22.09.17 Príspevky: 129 Témy: 27 | Napísal autor témy venom2: 25.02.2011 23:47 | |
|
velmi dobry napad avsak nepomaha to, stale je tu ten problem: ak odoslem formular premenne v session su OK, ak sa prepinam medzi inymi includovanymi strankami ako je ta s formularom tiez je to OK, ale ak sa vratim na stranku kde je formular (iba si ju zobrazim, formular neodosielam) tak session mi vracia prazdne stringy a nulove integre. Vyzera to akokeby sa tie hodnoty prepisali, ale naozaj sa nemaju kde prepisat. Hodnoty priradujem iba v tej podmienke co som pisal. Ked otvorim subor, tak obsah je v poriadku. Uz fakt si neviem rady .
|
|
Registrovaný: 26.12.06 Prihlásený: 16.11.19 Príspevky: 3971 Témy: 181 Bydlisko: Nitra / Bra... | Napísal emer: 26.02.2011 0:21 | |
|
no tak v tvojom priapde to musi byt !empty(), hadam si tam ten vykricnik dal
_________________ Sorry za prelkepy |
|
Registrovaný: 14.11.10 Prihlásený: 22.09.17 Príspevky: 129 Témy: 27 | Napísal autor témy venom2: 26.02.2011 1:44 | |
|
jasne ja som skusal vseliake kombinacie, variacie, permutacie a neviem co este a furt to nefunguje ako ma.
Ak dam:
Kód: if(!empty($_SESSION)) { $_SESSION['premenna1'] = (string)$_POST['premenna1']; // nacitanie z formulara $_SESSION['premenna2'] = (string)$_POST['premenna2']; } else { $_SESSION['premenna1'] = $load_premenna1; // nacitanie zo suboru $_SESSION['premenna2'] = $load_premenna2; } tak je to tak ako som popisoval vyssie. Cize odoslem formular, hodnoty v session su spravne, prekliknem sa na ine includovane stranky, obsah session je stale spravny, ale ak sa prekliknem spat na formular tak vsade mam prazdne hodnoty. Ak to dam BEZ vykricnika, tak ked pridem na formular prvy krat, v session su same prazdne hodnoty. Ak odoslem formular alebo ak sa prekliknem na inu includovanu stranku a potom zase spat na formular, tak hodnoty v session su zrazu spravne, avsak hodnoty nacitava vzdy len zo suboru. Tento druhy sposob (BEZ vykricnika) v podstate funguje tak ako je kod napisany, lebo session je najprv prazdna, tak cita hodnoty z formulara, ale kedze nie je odoslany tak nacita len prazdne stringy a nulove integre. Potom pri druhom nacitani session nie je prazdna tak cita zo suboru a vyzera to byt ok. Ale ked prehodim priradzovanie hodnot cize: Kód: if(empty($_SESSION)) { $_SESSION['premenna1'] = $load_premenna2; $_SESSION['premenna2'] = $load_premenna1; } else { $_SESSION['premenna1'] = (string)$_POST['premenna1']; $_SESSION['premenna2'] = (string)$_POST['premenna2']; }
tak to zase po opatovnom prekliknuti vrati nulove hodnoty, lebo v podstate to je ten prvy sposob len opacne napisany. Ja to proste nechapem . Su len 2 moznosti ako sa moze priradit hodnota premennej. Bud nacitanim zo suboru alebo odoslanim formulara. A ani tam ani tam prazdne hodnoty nemam, tak odkial sa beru ? Co ich nuluje?
No ja som z toho jelen
|
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 Bydlisko: Bratislava |
pri pouziti $_POST kontrolujes, ci bol formular odoslany? Lebo ak si uz raz formular odoslal a $_SESSION obsahuje nejake hodnoty, prekliknes sa na inu stranku a nasledne sa vratis spat na formular, tak $_POST neobsahuje nic, a zrejme preto sa ti hodnoty v $_SESSION vynuluju... skus si zapnut zobrazovanie chybovych hlasok...
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
Registrovaný: 14.11.10 Prihlásený: 22.09.17 Príspevky: 129 Témy: 27 | Napísal autor témy venom2: 26.02.2011 14:34 | |
|
vidis stenley presne v tomto to bolo nechapem ako to ze ma to nenapadlo , dakujem velmi pekne vsetkym za rady, idem si trieskat hlavu o stenu D
inak co sa tyka toho vypisovania chyb, zrejme to mame bloknute na serveri, lebo napisal som Kód: error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE); error_reporting(-1); error_reporting(E_ALL ^ E_NOTICE);
a ani pri jednom mi chybu nevypisalo, iba prazdnu stranku. Alebo napadne niekoho ako by sa to dalo obist ?
|
|
Registrovaný: 26.12.06 Prihlásený: 16.11.19 Príspevky: 3971 Témy: 181 Bydlisko: Nitra / Bra... | Napísal emer: 26.02.2011 17:59 | |
|
_________________ Sorry za prelkepy |
|
Registrovaný: 14.11.10 Prihlásený: 22.09.17 Príspevky: 129 Témy: 27 | Napísal autor témy venom2: 26.02.2011 21:25 | |
|
postupoval som podla prikladu dole
Kód: error_reporting(E_ALL); ini_set('display_errors','On'); a nepomaha to, stale to zobrazi iba prazdnu stranku.
Ja robim na skolskom serveri a tie chyby tam minuly rok urcite vypisovalo, len teraz zrejme nieco zmenili a uz to nevypise, tak neviem co s tym...
|
|
| Stránka: 1 z 1
| [ Príspevkov: 12 ] | |
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| ochrana sessions v PHP, ASP | 22 | 996 | 23.02.2011 18:31 chrono | | Dvojrozmerne sessions v PHP, ASP | 11 | 604 | 09.01.2009 22:20 jaji | | sessions error v PHP, ASP | 8 | 589 | 14.11.2008 18:39 Slappy | | Sessions chyba??? v PHP, ASP | 3 | 393 | 05.11.2007 19:10 pepek92 | | Sessions help v PHP, ASP | 3 | 420 | 12.07.2007 11:14 TECHNODROME | | sessions-nejde odstranit [ Choď na stránku: 1, 2 ] v PHP, ASP | 34 | 1607 | 01.10.2008 21:10 dadmtb | | PHP a SESSIONS v PHP, ASP | 2 | 442 | 28.10.2007 14:22 tatysp | | Pomoc so SESSIONS v PHP, ASP | 7 | 470 | 11.10.2007 19:33 pepek92 | | problem so sessions v PHP, ASP | 3 | 732 | 28.12.2006 18:19 programator | | Problém so SESSIONs v PHP, ASP | 3 | 799 | 07.01.2012 21:41 hal_sk | | alternativne odkladanie sessions v PHP, ASP | 1 | 459 | 24.10.2007 16:13 mondzo | | Remove Duplicate Sessions v Redakčné systémy | 0 | 536 | 14.10.2006 14:49 JanoF | | Problém so sessions v PHP, ASP | 1 | 327 | 25.12.2011 22:00 chrono | | [VYRIESENE] Problem so sessions v PHP, ASP | 2 | 386 | 28.02.2009 16:32 bruno.b | | Literatura o cookies, sessions, tokens, authentifications v PHP, ASP | 1 | 306 | 19.01.2016 15:26 chrono | | Could not delete old search id sessions v Redakčné systémy | 3 | 1311 | 22.04.2006 20:28 gumy |
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|