mam problem, na index.php mam session_start(); session_name(); a potom mam nemalo session_register(); neskor do session premenych davam potrebne data; mojim problemom je to ze v inich *.php v korych mam taktiez session_start(); a session_name(); ni nefunguju session premene ... na pc co mam doma, po nakonfiguravani php.ini (session_directory) my to funguje.. ako to mam rozbehat aj tu ? .. za radu dakujem
Máš tam session_write_close()?
nemam tam nic take a zatial mi to nebolo treba. naco to sluzi ?
inak mam to robebe stylom
session_register('blabla');
$blalba='sadf';
a potom v inom php iba pracujem s tym $blalba
ako vravim doma mmi to funguje noproblem ... neviem preco tu nie
ono právě session_write_close() provede zápis těch sessions nesmyslů. Jinak to visí kdesi ve vzduchu. Já jsem s tím zrovna včera trochu experimentoval, páč jsem s tím nikdy nepracoval a když se to neuzavře, tak se to nezapíše. Pak to nefunguje.
A ještě něco, na wz není zapnuto (celkem rozumně) register_global(s)?, takže nastavní session parametrů se dějě pomocí
$_SESSION['blabla'] = 'sadf';
Takže session_start()
$blabla = $_SESSION["blabla"];
...
pak se pracuje s $blabla
a nastavní zpět
$_SESSION["blabla"] = 'neco';
a na zaver
sessions_write_close();
toto by melo chodit.
Kdyby to nešlo, tak zkusím vyrobit chodící příklad.
skusil som to ako si mi napisal ... moc mi to neslo... moc to nechapem ...
pr:
session start();
$s_mysql_host=$_SESSION["s_mysql_host"];
$s_mysql_user=$_SESSION["s_mysql_user"];
$s_mysql_pass=$_SESSION["s_mysql_pass"];
$s_mysql_db=$_SESSION["s_mysql_db"];
$_SESSION["s_mysql_host"]='xx';
$_SESSION["s_mysql_user"]='xx';
$_SESSION["s_mysql_pass"]='xx';
$_SESSION["s_mysql_db"]='xx';
... a td. a v inom *.php mi ti nechce chodit .... neviem co s tym
Ak sa ti bude chciet tak mozes spravit priklad kde sa bude logovat do mysql pomocou session v inom php (data poslane pomocou formularu)
index.php ...
...sessions...
<form acrion="druhe.php">
.
.
.
</form>
druhe.php ...
...sessions...
mysql_connect();
kam do mysql? co presne chces? aby ses nekam zalogovala pomoci uzivatelskeho jmeno a hesla z mysql? a aby si to pamatovalo veci pres sessions?
<?php
session_start();
if ( !isset($_SESSION['count']) ) {
$_SESSION['count'] = 1;
echo "poprve<br/>\n";
} else {
echo $_SESSION['count'];
$_SESSION['count']++;
}
session_write_close();
?>
kdyz toto ulozis do dvou souboru, tak me osobne to funguje spravne:
pri prvnim zavolani se to nastavi, pri kazdem dalsim se to zobrazi a updatuje.
A je uplne jedno z ktereho php to volam.
Vidim mozne zadrhele. Sessions se ukladaji do cookies, jsou povolene? Pokud ne posilaji se pres url(?) jako SID. Neni tomu zabraneno?
Na serveru je nastaven cas trvani session informaci, nejsou nekonecne, asi se to da zmenit, nevim nepatral jsem po tom. Ale std je nastaveno 1440 minut. tj. tusim cely den. Pak data v sessions prestanou fungovat.
Nevim jestli je to nejvhodnejsi pouziti sessions... nestacil by prosty include s pozadovanymi udaji?
ja to mam jinak ...
prihlasovaci formular ...
pak soubor kterej to vyhodnocuje a ten ma tuto konstrukci
vytahne promenny z POST .. heslo zahashuje pres MD5
a pokud ty promenny teda nejsou prazdny tak se mi to pichne na databazi s tim je spojeny select
$select = "select class from users where user='$user' and heslo='$heslo'"; (class mam kvuli opravneni)
pak tam mam naky podminky kvuli overeni uzivatelovi tootznosti a hesla lz DATABAZE a potom si ulozim vse do sessions a pouziji na chranene strance
----
chranena .php
----
session_start();
overim jestli prosla sessions z te overovaci PAGES a kdyz jo .. tak te to pusti na stranku , kdyz ne tak smolec :)....
a pak tam mam naky blaboly kvuli clenum, opravneni atd... touz nepotrebujes...
staci ti to takhle?