Ludzie pragną czasami się rozstawać, żeby móc tęsknić, czekać i cieszyć się z powrotem.
Ograniczymy się zatem jedynie do przedstawienia jej listingu — jednakże skrypt został opatrzony komentarzami, a pełne objaśnienia można znaleźć, w razie potrzeby, w rozdziale 10.
C6
@
"UQ8 H8
238
@!!I/"$!"
"
V
$2*55
V
$&*5!"115
V
$*55
V
$) *5
335
810
I
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++810Q
$++
++9
Q."=
/#!!$!#
"!++
++
0"$$!"
"++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
3
$>
%
! "$"
$V
$2
$V
$&
$V
$
$V
$)
9
/#!! $!"
"
V1*W "XBV
$2V
$&V
$
T=
/#!
/%
3SV1>
3 0 "8$/%
!
!! "1"
35
Y
$5
A
."$ "$!%
"T=%
!
3SW "XBB
$V
$) >
3 0 "8$/%
!
!! "1"
35
Y3
$V
$) 5
A
V1
A
330
Flash i PHP. Podstawy
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++810Q3++
++ "QVH3 0$/%
!N"11++
++9
Q'
03 0$/%
!!++
++!
3 8
!!1"
++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
33V>
3 0$/%
!1
&'(
V*
V
."= "3 0%$/%
!
!! "1"
5?*8? *V5
K
A
2. Uwzględniając potrzeby naszego forum do skryptu dodaliśmy jedną funkcję — jej zadaniem będzie weryfikacja nazwy użytkownika i hasła oraz porównywanie ich
z danymi zapisanymi w bazie danych. Zapisz zatem tę funkcję w skrypcie.
3V V
>
Z powyższego wynika, że funkcja ta nosi nazwę
, a przekazywać jej będziemy
argumenty i
, które należy poddać weryfikacji.
3. Teraz trzeba przeprowadzić szyfrowanie wpisanego hasła. Jest to potrzebny zabieg, gdyż hasła będą przechowywane w bazie danych w postaci zaszyfrowanej. Zatem
aby porównać hasło podane przez użytkownika z hasłem zapisanym w bazie, należy je zaszyfrować.
@!"30 "/
V"
*
JV
Funkcja
' wykorzystuje algorytm, zwany mieszaniem md5, którego działaniu
można poddawać ciągi znaków. W ten sposób można otrzymać unikatową,
zaszyfrowaną wersję oryginalnego ciągu znaków.
4. Po zaszyfrowaniu hasła należy użyć zapytania sprawdzającego, czy którykolwiek element tabeli ( pasuje do podanych informacji.
VX"*5@:(: 8'93 &.2:': *YV Y)
å
*YV"
Y5
5. Następnie trzeba wykonać zapytanie. Należy także poddać sprawdzeniu wartość zwracaną przez funkcję )) , która dostarczy informacji o odnalezieniu pasującego do siebie zestawu nazwy użytkownika i hasła. Jeśli taki zestaw zostanie odnaleziony, ze zwróconych wyników zostanie wydzielony identyfikator .
Jeżeli jednak obecność takiego zestawu nie zostanie stwierdzona, * przyjmie wartość +,, co będzie świadczyło o braku autoryzacji użytkownika.
."10 "!
"
V* "XBX"VX"
T=
1!/!!"
3 "XB BV**,>
&!"10 "
"31N"11!"1I
V* "XB3B"V
V*V7YY;
Rozdział 12. K Przykład 3. — forum
331
A>
.
!" ! "!%N"11H,
V*H,
A
6. Na koniec funkcja zwraca wartość zmiennej * i przekazuje ją funkcji
wywołującej.
Z "
"31N"11
V
A
6G
7. Ponadto zastosujemy tu funkcję umożliwiającą weryfikowanie poprawności adresu e-mail. Wykorzystamy w tym celu skomplikowane wyrażenie regularne, które,
na szczęście, omawialiśmy już w rozdziale 5.
31: V
>30 ""N
VK
*5[7BH!-H\H;E]7BH!-H\H;E+W7H!-H\H;E]7H!-H\H;E+
å ]7H!;>FUAV5
3VK
V >
A
>
3
A
A
Mówiąc najprościej, funkcja ta zwraca wartość , jeśli podany adres e-mail będzie poprawnie sformułowany. W przeciwnym razie jest zwracana wartość .
Skrypt setup.php
Następnym opracowywanym skryptem będzie skrypt przygotowawczy, służący do tworzenia struktury bazy danych i tabel dla naszej aplikacji. Także i w tym przypadku treść skryptu będzie bardzo podobna do tego, który wykorzystywaliśmy w poprzednim przykładzie. Jedyną różnicą jest to, że teraz należy przygotować trzy tabele zamiast jednej.
Jeśli poniższy kod będzie wymagał dodatkowych wyjaśnień, znajdują się one w sekcji opisującej skrypt przygotowawczy w rozdziale 10.
C6
@
"UH8
238
/#! "
113"0"
Y
Y
9 "
/#!! $!"
"
1*W "XBV
$2V
$&V
$
332
Flash i PHP. Podstawy
T
/#!
/%
3SV1>
3 0 "N"11$/%
!
!! "1"
5
Y
$5
K
A
!" "$!%
"
5
$V
$) C$G]5
3SW "XBB
$V
$) >
3 0 "N"11$/%
!
5^
Y
$C$G]5
A>
3 0 "N"11
!
5^$
3"C$G]5
A
."$ "$!%
"
5
$V
$) C$G]5
3SW "XBB
$V
$) >
3 0 "N"11$/%!
!! "1"
5^
Y
$C$G]5
K
A>
3 0 "N"11
!
5^$
3"C$G]5
A
5
$C$G]5
!" "$%N"11I
VX"*5': : _(:3 &
) :`:'& 9B)'::) ''LP:L
4'2'F-
4'2'D-
4'2'U-
4'2'FJJ5
V*W "XBX"VX"
3SV>
3 0 "N"11"#
$/%
5^:3 &$C$G]5
"XB
A>
3 0 "N"11
!
5^3 &$
C$G]5
A
!" "$%#1I
VX"*5': : _(:3
) :`:'& 9B)'::) ''LP:L
) :`:'
4'2',--
) :`:':8&( -
) :`:'5
Rozdział 12. K Przykład 3. — forum
333
V*W "XBX"VX"
3SV>
3 0 "N"11$/%
!
5^:3
$C$G]5
"XB
A>
3 0 "N"11
!
5^3
$
C$G]5
A
!" "$%"
!
VX"*5': : _(:3
) :`:'& 9B)'::) ''LP:L
) :`:'
) :`:'
:& :O
) :`:'5
V*W "XBX"VX"
3SV>
3 0 "N"11$/%
!
5^:3 $C$G]5
"XB
A>
3 0 "N"11
!
5^3 $
C$G]5
A
5:
3
5
6G
Skrypt viewforum.php
Teraz opracujemy bardziej zagmatwane skrypty PHP. Skrypt viewforum.php posłuży do odczytywania wszystkich wątków na forum wyświetlanym we Flashu.