Jump to content
php.lv forumi

par sesijām


bra

Recommended Posts

meklējos šajā forumā daudz un dikti atradu kā izveidot, bet ne iznīdēt (tip logout)

 

sesijas tasīšanai izmantoju šāu kodu

<?
 session_start( );
 session_register('admin');
 session_register('bar');

 $admin = "Hello54";
 $bar = "World";
?>

, bel laikam tomēr išti neesmu sapratis kā tad īsti notiek tā ilogošanas tip IF(submit) { login } elseif(logout) { logout } kurā brīdī ir jāliek session_start( ); kurā tā tiek aktivizēta? laiakm jau šeit session_register('admin');

Link to comment
Share on other sites

session_start() pirms jebkāda outputa (doctype/html tega, ja tā ir lapa), kad zini, ka sessija tev būs vajadzīga

 

session_register - tas ir novecojis

 

jālieto $_SESSION['admin']

 

no

$admin = "Hello54";

$bar = "World";

 

saprotu, ka ir ieslēgti register_globals (iekš php.ini), t.i.

ja es adreslaukā ierakstīšu /index.php?admin=y&b=y es būšu admins vai kkas tml

 

manuprāt būtu jādara kaut kas līdzīgs

 

if (!session_id())

session_start();

 

if (!empty($_POST['usr']) && !empty($_POST['pwd']))

{

//pārbaude, vai tādi ir, ja ir

$_SESSION[md5(session_id().'kaut kāds strings galvas jaukšanai')]=md5(session_id().'kaut kāds cits, iespējami no usr/pwd atkarīgs');

}

 

tālāk - kad čeko, vai lietotājs ir autorizējies, att.

function Auth()

{

if (!isset($_SESSION[md5(session_id().'kaut kāds strings galvas jaukšanai' )]))

return;

if ($_SESSION[md5(session_id().'kaut kāds strings galvas jaukšanai' )]==md5(session_id().'kaut kāds cits, iespējami no usr/pwd atkarīgs'))

return true;

return;

}

 

kad vajag izlogoties, var vai nu dzēst visu sessiju ar

session_unset();

session_destroy();

unset($_COOKIE[session_name()]);

session_regenerate_id();

 

(visu kopā)

 

vai nu vienkārši

unset($_SESSION[md5(session_id().'kaut kāds strings galvas jaukšanai' )]);

 

viss

Link to comment
Share on other sites

×
×
  • Create New...