Потребителска Сесия!?

LuBaTa

Registered
Трябва да направя така, че когато някой потребител не си е влязъл във профила да се пуска(или там както е) сесия със име 'guest' !
А когато същия потребител си влезе във профила да се пуска сесия със име 'username' а когато излезе пак да се пуска 'guest' ! Надявам се да сте разбрали... Не трябва да са пуснати и двете сесии едновременно... благодаря!
 
Направи една сесия, когото е логнат. След това проверяваш дали я има тази сесия и в бисквитка му задаваш името. Ако я няма сесията в бисквитката пишеш гост. После името го вадиш от бисквитката.
 
PHP:
function username($id){ 
        if ($query = mysql_fetch_array(mysql_query("SELECT username FROM `users` WHERE id = '$id'"))){
                $username = $query['username'];
        } else {
                $username = 'Гост';
        }

        $userlink = "<a href="profile.php?uid=$id">$username</a>";
        return $userlink;
}

PHP:
$query = mysql_fetch_array(mysql_query("SELECT * FROM `videos` ORDER BY id") or die (mysql_error());
$user = username($query['author']);
echo $user;

Ако потребителя е бил регистриран ще му изведе потребителското име, ако не е бил регистриран ще изведе - Гост.

В таблциа author е ID-то на потребителя.

[това е код от една друга тема ]
 
Тук нищо не разбрах, трябва ми код за проверка дали е пусната сесия...., ако е пусната да не прави нищо, а ако не е пусната да прехвърля на страница за регистрация
 
В началото на всяка страница:
- Ако няма сесия username и няма сесия guest -> създаваш сесия guest

При логин:
- Ако има сесия guest -> триеш сесия guest
- Създаваш сесия username

При logout:
- Изтриваш сесия username
- Създаваш сесия guest
 
Значи за изтриване на сесия беше кода:
Код:
session_write_close(guеst);
или нещо се бъркам?
 
Амиии, малко бъркаш. Тази функция трябва да изтрие цялата сесия. На нас ни трябва да изтрием само guest.

За да изтриеш само една променлива от сесията просто направи така:
PHP:
unset( $_SESSION['guest'] );
По същия начин можеш и да set-ваш променливи:
PHP:
$_SESSION['username'] = '...';
P.S. - забелязвам го при много хора в този форум. Когато искаш да предадеш стойност или аргумент - ползвай стринг. Ако напишеш $bla[guest], PHP ще търси за константа guest. Дори да не ти изплюе грешка (Notice по-скоро) винаги има шанс да се получи логическа грешка ако наистина съществува такава константа. Това, което трябва да ползваш е: $bla['guest']
 

Back
Горе