[ Príspevkov: 12 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
sessions

Registrovaný: 14.11.10
Prihlásený: 22.09.17
Príspevky: 129
Témy: 27 | 27
NapísalOffline : 21.02.2011 21:19 | sessions

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 :)


Offline

Užívateľ
Užívateľ
sessions

Registrovaný: 26.11.06
Prihlásený: 23.09.17
Príspevky: 4123
Témy: 317 | 317
Bydlisko: HE/BA
NapísalOffline : 21.02.2011 21:31 | sessions

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.


_________________
Desktop: CASE: Cooler Master Centurion 532 MB: ASUS P5Q PRO Turbo CPU: Intel Core 2 Quad Q6600@2,4GHz FSB 1066MHz RAM: A-Data Vitesta 2×2GB 800MHz Cl 4-4-4-12 2T GPU: PowerColor PCS+ HD6950 HDD: Seagate Barracuda 500GB 7200rpm ODD1: LG DVD+/-RW + LS(PATA) ODD2:LG DVD+/-RW(SATA) PSU: LCD: DELL U2414M 24" 1920x1200
Offline

Čestný člen
Čestný člen
sessions

Registrovaný: 21.02.06
Prihlásený: 08.12.14
Príspevky: 5447
Témy: 30 | 30
Bydlisko: Bratislava
NapísalOffline : 21.02.2011 23:52 | sessions

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.
Offline

Užívateľ
Užívateľ
sessions

Registrovaný: 14.11.10
Prihlásený: 22.09.17
Príspevky: 129
Témy: 27 | 27
Napísal autor témyOffline : 25.02.2011 22:58 | sessions

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 :D. 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);
   }
?>


Offline

Užívateľ
Užívateľ
sessions

Registrovaný: 26.12.06
Prihlásený: 30.10.17
Príspevky: 4009
Témy: 181 | 181
Bydlisko: Nitra / Bra...
Vek: 24
NapísalOffline : 25.02.2011 23:09 | sessions

empty()


_________________
Sorry za prelkepy
Offline

Užívateľ
Užívateľ
sessions

Registrovaný: 14.11.10
Prihlásený: 22.09.17
Príspevky: 129
Témy: 27 | 27
Napísal autor témyOffline : 25.02.2011 23:47 | sessions

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 :(.


Offline

Užívateľ
Užívateľ
sessions

Registrovaný: 26.12.06
Prihlásený: 30.10.17
Príspevky: 4009
Témy: 181 | 181
Bydlisko: Nitra / Bra...
Vek: 24
NapísalOffline : 26.02.2011 0:21 | sessions

no tak v tvojom priapde to musi byt !empty(), hadam si tam ten vykricnik dal :)


_________________
Sorry za prelkepy
Offline

Užívateľ
Užívateľ
sessions

Registrovaný: 14.11.10
Prihlásený: 22.09.17
Príspevky: 129
Témy: 27 | 27
Napísal autor témyOffline : 26.02.2011 1:44 | sessions

jasne :) ja som skusal vseliake kombinacie, variacie, permutacie a neviem co este :D 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 :D. 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 :D


Offline

Správca fóra
Správca fóra
sessions

Registrovaný: 27.07.07
Príspevky: 3971
Témy: 51 | 51
Bydlisko: Bratislava
Vek: 32
NapísalOffline : 26.02.2011 7:35 | sessions

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...


_________________
Desktop: CPU: AMD Athlon64 3000+ | MB: Biostar K8T890-A9 | VGA: NVIDIA GeForce 6200 LE 256MB | RAM: 2x 1GB A-DATA DDR 400 MHz Dual Kit | HDD: WD Caviar Blue 320GB | DVD: LG GSA-H10N | Keyboard: Chicony KU-0420 Silver/Black | Mouse: Logitech RX1000 | Zdroj: Corsair CX400 400W | CASE: DELUX DLC-MD370 Black | LCD: 20" Samsung 206BW | Repro: Teac XL-20
Notebook: ACER Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB / Intel HD Graphics | RAM: 4GB DDR3 1066 MHz | HDD: 640GB
Offline

Užívateľ
Užívateľ
sessions

Registrovaný: 14.11.10
Prihlásený: 22.09.17
Príspevky: 129
Témy: 27 | 27
Napísal autor témyOffline : 26.02.2011 14:34 | sessions

vidis stenley presne v tomto to bolo :) nechapem ako to ze ma to nenapadlo :D, dakujem velmi pekne vsetkym za rady, idem si trieskat hlavu o stenu :DD

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 ? :)


Offline

Užívateľ
Užívateľ
sessions

Registrovaný: 26.12.06
Prihlásený: 30.10.17
Príspevky: 4009
Témy: 181 | 181
Bydlisko: Nitra / Bra...
Vek: 24
NapísalOffline : 26.02.2011 17:59 | sessions

http://sk2.php.net/manual/en/errorfunc. ... lay-errors


_________________
Sorry za prelkepy
Offline

Užívateľ
Užívateľ
sessions

Registrovaný: 14.11.10
Prihlásený: 22.09.17
Príspevky: 129
Témy: 27 | 27
Napísal autor témyOffline : 26.02.2011 21:25 | sessions

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...


 [ Príspevkov: 12 ] 


sessions



Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy.

sessions error

v PHP, ASP

8

394

14.11.2008 18:39

Slappy

V tomto fóre nie sú ďalšie neprečítané témy.

Sessions chyba???

v PHP, ASP

3

242

05.11.2007 19:10

pepek92

V tomto fóre nie sú ďalšie neprečítané témy.

Sessions help

v PHP, ASP

3

274

12.07.2007 11:14

TECHNODROME

V tomto fóre nie sú ďalšie neprečítané témy.

ochrana sessions

v PHP, ASP

22

698

23.02.2011 18:31

chrono

V tomto fóre nie sú ďalšie neprečítané témy.

Dvojrozmerne sessions

v PHP, ASP

11

376

09.01.2009 22:20

jaji

V tomto fóre nie sú ďalšie neprečítané témy.

Problém so SESSIONs

v PHP, ASP

3

406

07.01.2012 21:41

hal_sk

V tomto fóre nie sú ďalšie neprečítané témy.

alternativne odkladanie sessions

v PHP, ASP

1

267

24.10.2007 16:13

mondzo

V tomto fóre nie sú ďalšie neprečítané témy.

Remove Duplicate Sessions

v Redakčné systémy

0

330

14.10.2006 14:49

JanoF

V tomto fóre nie sú ďalšie neprečítané témy.

Problém so sessions

v PHP, ASP

1

186

25.12.2011 22:00

chrono

V tomto fóre nie sú ďalšie neprečítané témy.

sessions-nejde odstranit

[ Choď na stránku:Choď na stránku: 1, 2 ]

v PHP, ASP

34

1195

01.10.2008 21:10

dadmtb

V tomto fóre nie sú ďalšie neprečítané témy.

PHP a SESSIONS

v PHP, ASP

2

276

28.10.2007 14:22

tatysp

V tomto fóre nie sú ďalšie neprečítané témy.

Pomoc so SESSIONS

v PHP, ASP

7

335

11.10.2007 19:33

pepek92

V tomto fóre nie sú ďalšie neprečítané témy.

problem so sessions

v PHP, ASP

3

563

28.12.2006 18:19

programator

V tomto fóre nie sú ďalšie neprečítané témy.

[VYRIESENE] Problem so sessions

v PHP, ASP

2

235

28.02.2009 16:32

bruno.b

V tomto fóre nie sú ďalšie neprečítané témy.

Literatura o cookies, sessions, tokens, authentifications

v PHP, ASP

1

119

19.01.2016 15:26

chrono

V tomto fóre nie sú ďalšie neprečítané témy.

Could not delete old search id sessions

v Redakčné systémy

3

1127

22.04.2006 20:28

gumy



© 2005 - 2017 PCforum, edited by JanoF