Zrobiles blad i pisales czaly czas NAME_VISIBILITY w 3 ifach
<?php
//$option = "0001001"; // tu tez byl blad!!!!
$option = 2^0 | 2^3; czyli liczba 9 a bitowo 9 to 1001
define('NAME_VISIBILITY',1
); // 1 czyli bitowo 00001 define('EMAIL_VISIBILITY',2
); // 2 czyli bitowo 00010 define('GG_VISIBILITY',4
); // 4 czyli bitowo 00100 define('CITY_VISIBILITY',8
); // 8 czyli bitowo 01000
if($option & NAME_VISIBILITY
) { echo "<p>".NAME_VISIBILITY
; } if($option & EMAIL_VISIBILITY
) { echo "<p>".EMAIL_VISIBILITY
; } if($option & GG_VISIBILITY
) { echo "<p>".GG_VISIBILITY
; } if($option & CITY_VISIBILITY
) { echo "<p>".CITY_VISIBILITY
; } ?>
Tak, option i inne dane uzytkownika bobierasz z bazy i zamiast echo "<p>".NAME_VISIBILITY; powinienes napisac echo "<p>".#user_name;, oczywiscie user_name tez musisz wczesniej odczytac z bazy
Wszystki definicje musza byc wielokrotnoscia dwojki czyli 1,2,4,8,16,32,64,128,256,......
w tym przykladzie 2 jest podnoszone do potegi
<?php
define('NAME_VISIBILITY',2^0
); // 1 czyli bitowo 00001 define('EMAIL_VISIBILITY',2^1
); // 2 czyli bitowo 00010 define('GG_VISIBILITY',2^3
); // 4 czyli bitowo 00100 define('CITY_VISIBILITY',2^4
); // 8 czyli bitowo 01000 ?>
zauwaz ze wszystkie te dane trzymasz w bazie np. w typie int. int w mysql ma chyba 4 bajty wiec co za tym idzie mozesz 32 rozne opcje tam przetrzymywac i to nie tylko dla tej widocznosci mozesz przeciez np. zrobic wylaczenie konta
define('ACCOUNT_DISABLE', 16); // czyli 2^5
i przy logowaniu sprawdzac czy czasem nie ma bitu ustawionego dotyczacego wylaczenia konta i zalogowac albo nie