Wczoraj, 06:22 PM
Otwieramy znacznik PHP oraz rozpoczynamy sesję session_start() oraz rejestrujemy w niej odpowiednie zmienne , potrzebne do rozpoznania użytkownika .
Kolejnym krokiem jest włączenie danych do konfiguracji połączenia z bazą danych oraz ogólnych danych konfiguracyjnych serwisu .
Ponieważ nasz serwis będzie posiadał możliwość wyboru spośród kilku języków (w naszym przykładzie będą to język polski i język angielski) , należy sprawdzić czy w sesji użytkownika została ustawiona wartość , która pozwoli taki język zidentyfikować . Gdyby jej nie było , wówczas ustawiamy wartość tej zmiennej na podstawie danych konfiguracyjnych .
Zmiana języka będzie możliwa w trakcie przeglądania strony . Kiedy dowolna osoba kliknie link prowadzący do zmiany , wówczas sprawdzamy czy dana wartość jest równa jednej z ustalonych : pl lub en . W przypadku gdyby nie pasowała do żadnej zdefiniowanej przez nas ustawiamy język na domyślny .
Teraz możemy pobrać już wersję językową naszej strony i włączyć odpowiedni plik .
Włączamy najważniejszy element systemu . W nim są zawarte metody , do których będziemy się odwoływali w przypadku dziewiędziesięciu procent witryny .
Funkcja , która pozwoli na pobranie wartości zmiennej , którą podamy w pierwszym parametrze . Sprawdzi ona , czy zmienna została przesłana metodą _POST czy _GET , a następnie zwróci jej wartość .
Pobieramy za pomocą wcześniej napisanej funkcji wartość głównej zmiennej $app , od której zależy , jaką część witryny będziemy oglądali .
Należy także sprawdzić , czy zmienna ta nie jest przypadkiem pusta . jeżeli nie posiada ona żadnej wartości , wówczas ustawiamy ją na wartość domyślną pochodzącą z pliku konfiguracyjnego .
Dołączanie plików które zawierają odpowiednią definicję klasy odpowiedzialną za generowanie widoku jednej spośród naszych stron .
Na samym końcu należy dodać instrukcję else , w której treści dodamy informację o błędzie . Informacja ta powinna być przeznaczona tylko dla nas . W przypadku gdy pojawi się innemu użytkownikowi , oznacza to , iż istnieje błąd w aplikacji .
Tworzymy obiekt i przypisujemy do niego odpowiednią klasę oraz uruchamiamy metodę AppConfig , która jest odpowiedzialna za konfigurację całego systemu .
Kiedy obiekt jest już gotowy , za jego pomocą możemy dostać się do sesji i ustawić w niej odpowiednią wartość .
Instrukcją if musimy sprawdzić , czy użytkownik został zalogowany , aby wyświetlić odpowiedni komunikat .
W przypadku gdy użytkownik nie jest zalogowany oraz w polach pozostawił puste wartości , wyświetlamy odpowiedni komunikat informujący o potrzebie wypełnienia pustych pól .
Po instrukcji else możemy być pewni , że użytkownik wypełnił wszystkie pola potrzebne do zalogowania się na swoje konto . Tworzymy zapytanie do wybrania podstawowych danych klienta . W zapytaniu należy zwrócić uwagę , czy konto jest aktywne oraz czy nie zostało ono zbanowane .
Teraz należy sprawdzić , czy konto , którego dane zostały wprowadzone istnieje w systemie .
Gdy dane zgadzają się z wprowadzonymi do bazy danych , ładujemyinformacj do sesji .
Włączamy odpowiedni język ustawiony przez użytkownika .
Gdyby użytkownik podał złe dane , które nie pasują do żadnego rekordu , w bazie danych wyświetlamy o tym fakcie komunikat .
Uruchamiamy metodę z klasy , które są zbudowane w sposób jednolity i zawsze zawierają ową metodę .
Generujemy wygląd strony z przygotowanych wcześniej tekstów oraz grafik .
Kończymy skrypt PHP , zamykając znacznik .
Kod PHP:
<?php
Kod PHP:
session_start();
Kod PHP:
session_register('user_id', 'user_email', 'user_firm', 'user_lang');
Kolejnym krokiem jest włączenie danych do konfiguracji połączenia z bazą danych oraz ogólnych danych konfiguracyjnych serwisu .
Kod PHP:
include('./config/config_database.php');
include('./config/config_framework.php');
Ponieważ nasz serwis będzie posiadał możliwość wyboru spośród kilku języków (w naszym przykładzie będą to język polski i język angielski) , należy sprawdzić czy w sesji użytkownika została ustawiona wartość , która pozwoli taki język zidentyfikować . Gdyby jej nie było , wówczas ustawiamy wartość tej zmiennej na podstawie danych konfiguracyjnych .
Kod PHP:
if($_SESSION['user_lang'] == ""){$_SESSION['user_lang'] = $config['default_lang'];}
Zmiana języka będzie możliwa w trakcie przeglądania strony . Kiedy dowolna osoba kliknie link prowadzący do zmiany , wówczas sprawdzamy czy dana wartość jest równa jednej z ustalonych : pl lub en . W przypadku gdyby nie pasowała do żadnej zdefiniowanej przez nas ustawiamy język na domyślny .
Kod PHP:
if($_GET['fb_action_lang'] == 'change')
{
$LangSet = '';
if($_GET['select_language_set'] == 'pl'){$LangSet = 'pl';}
elseif($_GET['select_language_set'] == 'en'){$LangSet = 'en';}
if($LangSet != ""){$_SESSION['user_lang'] = $LangSet;}
}
Teraz możemy pobrać już wersję językową naszej strony i włączyć odpowiedni plik .
Kod PHP:
$LangSet = $_SESSION['user_lang'];
include('./lang/'.$LangSet.'/lang.php');
Włączamy najważniejszy element systemu . W nim są zawarte metody , do których będziemy się odwoływali w przypadku dziewiędziesięciu procent witryny .
Kod PHP:
include('./core/core.php');
Funkcja , która pozwoli na pobranie wartości zmiennej , którą podamy w pierwszym parametrze . Sprawdzi ona , czy zmienna została przesłana metodą _POST czy _GET , a następnie zwróci jej wartość .
Kod PHP:
function GetVarchar($VarcharName)
{
if($_POST[$VarcharName] == ""){$VarcharIs = $_GET[$VarcharName];}
else{$VarcharIs = $_POST[$VarcharName];}
return $VarcharIs;
}
Pobieramy za pomocą wcześniej napisanej funkcji wartość głównej zmiennej $app , od której zależy , jaką część witryny będziemy oglądali .
Kod PHP:
$app = GetVarchar('app');
Należy także sprawdzić , czy zmienna ta nie jest przypadkiem pusta . jeżeli nie posiada ona żadnej wartości , wówczas ustawiamy ją na wartość domyślną pochodzącą z pliku konfiguracyjnego .
Kod PHP:
if($app == ""){$app = $config['default'];}
Dołączanie plików które zawierają odpowiednią definicję klasy odpowiedzialną za generowanie widoku jednej spośród naszych stron .
Kod PHP:
if($app == 'home'){include('./application/home.php');}
elseif($app == 'logout'){include('./application/logout.php');}
elseif($app == 'account'){include('./application/account.php');}
elseif($app == 'password'){include('./application/password.php');}
elseif($app == 'changepassword'){include('./application/changepassword.php');}
elseif($app == 'aagain'){include('./application/aagain.php');}
elseif($app == 'generatepswd'){include('./application/generatepswd.php');}
elseif($app == 'picture'){include('./application/picture.php');}
elseif($app == 'showprofile'){include('./application/showprofile.php');}
elseif($app == 'friends'){include('./application/friends.php');}
elseif($app == 'about'){include('./application/about.php');}
elseif($app == 'language'){include('./application/language.php');}
elseif($app == 'entertainment'){include('./application/entertainment.php');}
elseif($app == 'maritalstatus'){include('./application/maritalstatus.php');}
elseif($app == 'philosophy'){include('./application/philosophy.php');}
elseif($app == 'sport'){include('./application/sport.php');}
elseif($app == 'contactinformation'){include('./application/contactinformation.php');}
elseif($app == 'school'){include('./application/school.php');}
elseif($app == 'work'){include('./application/work.php');}
elseif($app == 'interests'){include('./application/interests.php');}
elseif($app == 'pm_get'){include('./application/pm_get.php');}
elseif($app == 'pm_send'){include('./application/pm_send.php');}
elseif($app == 'pm_new'){include('./application/pm_new.php');}
elseif($app == 'yourpictures'){include('./application/yourpictures.php');}
elseif($app == 'privacy'){include('./application/privacy.php');}
elseif($app == 'searchfriends'){include('./application/searchfriends.php');}
elseif($app == 'emailinvite'){include('./application/emailinvite.php');}
elseif($app == 'likeit'){include('./application/likeit.php');}
elseif($app == 'searchfriends'){include('./application/searchfriends.php');}
elseif($app == 'inviteme'){include('./application/inviteme.php');}
elseif($app == 'showtable'){include('./application/showtable.php');}
elseif($app == 'showpicture'){include('./application/showpicture.php');}
elseif($app == 'inviteyou'){include('./application/inviteyou.php');}
elseif($app == 'strona'){include('./application/strona.php');}
elseif($app == 'warning'){include('./application/warning.php');}
elseif($app == 'change_pswd'){include('./application/change_pswd.php');}
elseif($app == 'games'){include('./application/games.php');}
elseif($app == 'playgame'){include('./application/playgame.php');}
elseif($app == 'developergames'){include('./application/developergames.php');}
Na samym końcu należy dodać instrukcję else , w której treści dodamy informację o błędzie . Informacja ta powinna być przeznaczona tylko dla nas . W przypadku gdy pojawi się innemu użytkownikowi , oznacza to , iż istnieje błąd w aplikacji .
Kod PHP:
else{include('./application/error404.php');}
Tworzymy obiekt i przypisujemy do niego odpowiednią klasę oraz uruchamiamy metodę AppConfig , która jest odpowiedzialna za konfigurację całego systemu .
Kod PHP:
$Application = new AppClass;
$Application->AppConfig();
Kiedy obiekt jest już gotowy , za jego pomocą możemy dostać się do sesji i ustawić w niej odpowiednią wartość .
Kod PHP:
$Application->AppSessionSetValue('user_lang',$LangSet);
Instrukcją if musimy sprawdzić , czy użytkownik został zalogowany , aby wyświetlić odpowiedni komunikat .
Kod PHP:
if($_POST['fb_action_login'] == 'login')
{
W przypadku gdy użytkownik nie jest zalogowany oraz w polach pozostawił puste wartości , wyświetlamy odpowiedni komunikat informujący o potrzebie wypełnienia pustych pól .
Kod PHP:
if($_POST['login_user_email'] == "" OR $_POST['login_user_pswd'] == "")
{
$LoginAppNullFields = $Lang['null_fields'];
Po instrukcji else możemy być pewni , że użytkownik wypełnił wszystkie pola potrzebne do zalogowania się na swoje konto . Tworzymy zapytanie do wybrania podstawowych danych klienta . W zapytaniu należy zwrócić uwagę , czy konto jest aktywne oraz czy nie zostało ono zbanowane .
Kod PHP:
}
else
{
$SqlConfig = 'SELECT user_id,user_email,user_is_firm,user_lang FROM '.$Application->DBPrefix.'user
WHERE
user_email = "'.$Application->AppDBSecure($_POST['login_user_email']).'"
AND
user_pswd = "'.$Application->AppDBSecure(md5($_POST['login_user_pswd'])).'"
AND
user_active = "y"
AND
user_ban != "y"
';
if(!$Application->AppDBQuery($SqlConfig))
{
$Application->AppBody .= $Application->AppShowError('Query error',__FILE__,__LINE__,$SqlConfig);
}
$Result = $Application->AppDBResult();
$Rows = $Application->AppDBHowMany();
Teraz należy sprawdzić , czy konto , którego dane zostały wprowadzone istnieje w systemie .
Kod PHP:
if($Rows == 1)
{
Gdy dane zgadzają się z wprowadzonymi do bazy danych , ładujemyinformacj do sesji .
Kod PHP:
$Application->AppSessionSetValue('user_id',$Result[0]['user_id']);
$Application->AppSessionSetValue('user_email',$Application->AppDBUnsecure($Result[0]['user_email']));
$Application->AppSessionSetValue('user_firm',$Application->AppDBUnsecure($Result[0]['user_is_firm']));
if($Result[0]['user_lang'] == ""){$Result[0]['user_lang'] = 'en';}
$Application->AppSessionSetValue('user_lang',$Application->AppDBUnsecure($Result[0]['user_lang']));
Włączamy odpowiedni język ustawiony przez użytkownika .
Kod PHP:
include('./lang/'.$_SESSION['user_lang'].'/lang.php');
Gdyby użytkownik podał złe dane , które nie pasują do żadnego rekordu , w bazie danych wyświetlamy o tym fakcie komunikat .
Kod PHP:
}
else
{
$LoginAppBadData = $Lang['user_bad_data'];
}
}
}
Uruchamiamy metodę z klasy , które są zbudowane w sposób jednolity i zawsze zawierają ową metodę .
Kod PHP:
$Application->AppStart();
Generujemy wygląd strony z przygotowanych wcześniej tekstów oraz grafik .
Kod PHP:
$Application->AppRender();
Kończymy skrypt PHP , zamykając znacznik .
Kod PHP:
?>