ΡΠΊΡΠΈΠΏΡ Π»ΠΈΡΠ½ΠΎΠ³ΠΎ ΠΊΠ°Π±ΠΈΠ½Π΅ΡΠ° Π΄Π»Ρ ΡΠ°ΠΉΡΠ° Π½Π° php
Π‘ΠΊΡΠΈΠΏΡ Π»ΠΈΡΠ½ΠΎΠ³ΠΎ ΠΊΠ°Π±ΠΈΠ½Π΅ΡΠ° Π΄Π»Ρ ΡΠ°ΠΉΡΠ° Π½Π° php
Π’Π°ΠΊ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ ΡΡΠΎ ΠΌΠΎΠΉ ΡΠ°ΠΉΡ mzcoding.com 3ΠΉ ΡΠ°Π· ΠΌΠ΅Π½ΡΠ΅Ρ Π΄ΠΎΠΌΠ΅Π½ ΠΈ Π΄Π²ΠΈΠΆΠΎΠΊ ΠΈ Π²ΡΠ΅Π³Π΄Π° ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠ°ΠΉΡΠ° Ρ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ» ΡΡΠ°ΡΡΡ ΠΏΠΎ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΠΈΡΠ½ΠΎΠ³ΠΎ ΠΊΠ°Π±ΠΈΠ½Π΅ΡΠ° Π½Π° PHP! Π Π΄Π°Π»Π΅ΠΊΠΎΠΌ 2010 ΡΡΠΎ Π±ΡΠ» ΠΏΡΠΎΡΡΠΎΠΉ ΠΠ Π½Π° PHP 5.0, Π² 2014 ΡΡΠΎ Π±ΡΠ» ΠΠ 2.0 Π³Π΄Π΅ ΠΌΡ ΠΎΠ±Π½ΠΎΠ²ΠΈΠ»ΠΈ Π²Π΅ΡΡΠΈΡ ΡΠ·ΡΠΊΠ° ΠΈ ΠΊΠΎΠ΄ ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠ»ΡΡΠ΅ΠΊ. Π Π²ΠΎΡ Π½Π°ΡΡΠ°Π» 3ΠΉ ΡΠ°Π· Π² ΡΡΠΎΠΉ ΠΈ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ Π½Π°ΠΏΠΈΡΠ΅ΠΌ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΡΠΉ ΠΊΠ°Π±ΠΈΠ½Π΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Ρ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠ΅ΠΉ, Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠ΅ΠΉ ΠΈ Π±Π°Π·ΠΎΠ²ΡΠΌ ΠΠ Ρ ΠΌΠΎΠ΄Π΅ΡΠ°ΡΠΈΠ΅ΠΉ! Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΡ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ Π²Π΅ΡΡΠΈ Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ PHP7 ΠΈ Bootstrap 4, Π° ΡΠ°ΠΊ-ΠΆΠ΅ Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² symfony.
ΠΠ΅ΡΠ²ΡΠΌ Π΄Π΅Π»ΠΎΠΌ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Ρ Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ lk, Π΄Π°Π»Π΅Π΅ ΠΎΡΠΊΡΠΎΠ΅ΠΌ ΡΠ΅ΡΠΌΠΈΠ½Π°Π» ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ Π΄Π°Π½Π½ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠΈ ΠΈ Π²Π²Π΅Π΄Π΅ΠΌ:
Π£ Π²Π°Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ composer, ΡΡΠΎ ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΈ ΠΊΠ°ΠΊ ΡΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΡ ΡΡΡ.
ΠΠ°Π»Π΅Π΅ composer ΠΏΡΠΎΡΠΈΡ Π²Π²Π΅ΡΡΠΈ Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠ°! Π― Π½Π°Π·ΠΎΠ²Ρ Π΅Π³ΠΎ mzcoding/lk. ΠΠ°Π»Π΅Π΅ Π±ΡΠ΄ΡΡ Π΅ΡΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠ½ΠΊΡΠΎΠ² ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅, Π°Π²ΡΠΎΡ (ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΊΠ°Π·Π°ΡΡ ΠΈΡ Π½Π° ΡΠ²ΠΎΠ΅ ΡΡΠΌΠΎΡΡΠ΅Π½ΠΈΠ΅). ΠΠΏΡΠΈΡ Minimum Stability Π£ΠΊΠ°ΠΆΠΈΡΠ΅ dev. ΠΠ°Π»Π΅Π΅ ΠΎΡΡΠ°Π²Π»ΡΠΉΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ!
Π ΠΊΠΎΠ½ΡΠ΅ Ρ Π²Π°Ρ ΡΠΏΡΠΎΡΡΡ, Ρ ΠΎΡΠΈΡΠ΅ Π»ΠΈ Π²Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΊΠ°ΠΊΠΈΠ΅ Π»ΠΈΠ±ΠΎ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ? ΠΠ²ΠΎΠ΄ΠΈΠΌ no. Π ΠΈΡΠΎΠ³Π΅ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ·Π΄Π°Π½ ΡΠ°ΠΉΠ» composer.json ΡΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΡΠΌ:
Π’Π΅ΠΏΠ΅ΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π½Π°ΠΌ Π² ΡΠ°Π±ΠΎΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΠΏΠ΅ΡΠ²ΡΠΌ Π΄Π΅Π»ΠΎΠΌ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠΌ http ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΎΡ symfony. ΠΠ²Π΅Π΄Π΅ΠΌ Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π΅:
ΠΠΎΡΠ»Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ°, ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠΌ Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½, ΡΡΠΎ Π±ΡΠ΄Π΅Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ DI. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ ΠΎΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² symfony, pimple
ΠΠ»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΠΌ:
ΠΠ°Π²Π°ΠΉΡΠ΅ Π²Π·Π³Π»ΡΠ½Π΅ΠΌ Π½Π° Π½Π°Ρ ΡΠ°ΠΉΠ» composer.json. ΠΡΠ»ΠΈ Π²ΡΠ΅ Π²Π΅ΡΠ½ΠΎ Π² ΡΠ΅ΠΊΡΠΈΠΈ require ΡΠ²ΠΈΠ΄ΠΈΠΌ ΡΡΠΎ-ΡΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅:
ΠΠ΅ΡΡΠΈΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΠΌΠΎΠ³ΡΡ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ!
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅ ΡΠ΅ΠΊΡΠΈΠΈ require, Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΡΠ΅ΠΊΡΠΈΡ autoload, ΡΠ°ΠΌ ΠΌΡ ΡΠΊΠ°ΠΆΠ΅ΠΌ Π³Π΄Π΅ composer ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΊΠ°ΡΡ ΡΠ°ΠΉΠ»Ρ Π½Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΈΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡ, Π΄Π»Ρ Π²ΡΠ΅Ρ ΡΡΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΌΡ ΡΠΊΠ°ΠΆΠ΅ΠΌ Π΅Π΄ΠΈΠ½ΠΎΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΈΠΌΠ΅Π½. ΠΡΠΎΠ³ΠΎΠ²ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ ΡΠ°ΠΉΠ»Π° composer.json Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
Π’Π°ΠΊ-ΠΆΠ΅ Π΄Π°Π²Π°ΠΉΡΠ΅ ΡΡΠ°Π·Ρ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π²ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΈ.
ΠΡΠ΅ Π½Π°ΡΠΈ ΠΏΡΠΈΠ³ΠΎΡΠΎΠ²Π»Π΅Π½ΠΈΡ Π³ΠΎΡΠΎΠ²Ρ! Π’Π΅ΠΏΠ΅ΡΡ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΡΠΎΡΠΊΡ Π²Ρ ΠΎΠ΄Π° Π½Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°, Π² ΠΊΠΎΡΠ½Π΅ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΡΠ°ΠΉΠ» index.php ΡΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΡΠΌ:
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌΡΡ, ΡΡΠΎ ΠΌΡ Π΄Π΅Π»Π°Π΅ΠΌ Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅.
ΠΠ΅ΡΠ²ΡΠΌ Π΄Π΅Π»ΠΎΠΌ ΠΌΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅ΠΌ ΡΠ΅ΡΡΠΈΡ, Π΄ΡΠΌΠ°Ρ ΡΡΡ Π²ΡΠ΅ ΠΏΠΎΠ½ΡΡΠ½ΠΎ. ΠΠ°Π»Π΅Π΅ ΠΌΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌ Π½Π°ΡΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ:
ΠΠΎΠ΄ΡΡΠ³ΠΈΠ²Π°Π΅ΠΌ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΈΠ· ΡΠ°ΠΉΠ»Π° ΠΊΠΎΠ½ΡΠΈΠ³Π° ΠΈ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΡ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ Π½Π° ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³.
ΠΠ°Π»Π΅Π΅ ΠΌΡ ΠΎΡΠΊΡΡΠ²Π°Π΅ΠΌ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ try-catch ΡΠ΅ΠΌ ΡΠ°ΠΌΡΠΌ ΠΎΡΠ»Π°ΠΆΠΈΠ²Π°Ρ Π²ΠΎΠ·Π½ΠΈΠΊΡΠΈΠ΅ Π²ΡΡΠ΅ Π² ΠΊΠΎΠ΄Π΅ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠΈΡΡΠ°ΡΠΈΠΈ. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π² Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΡΠΎΠ·Π΄Π°Π»ΠΈ ΡΠ²ΠΎΠΉ ΡΠΈΠΏ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ LkException.
Π Π±Π»ΠΎΠΊΠ΅ try ΠΌΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅ΠΌ (ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ) Π²ΡΠ΅ Π·Π°ΠΏΡΠΎΡΡ (requests), Π° ΡΠ°ΠΊ-ΠΆΠ΅ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅ΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ (DI).
ΠΠ°Π»Π΅Π΅ ΠΌΡ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ Π² Π΄Π°Π½Π½ΡΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ, ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°:
ΠΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΊΠ»Π°ΡΡΠ° Session (Π΄Π°Π½Π½ΡΠΉ ΠΊΠ»Π°ΡΡ ΠΎΠΏΠΈΡΠ΅ΠΌ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ·ΠΆΠ΅)
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ. ΠΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΌΠ΅ΡΠΎΠ΄ factory Π½Π°ΡΠ΅Π³ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π½Π°ΠΌ ΠΏΠΎΠ»ΡΡΠ°ΡΡ Π½ΠΎΠ²ΡΠΉ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· ΠΏΡΠΈ Π΅Π³ΠΎ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠΈ, ΡΡΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Π½Π°ΠΌ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ ΠΏΠ΅ΡΠ΅Π³ΡΡΠΆΠ°ΡΡ ΡΠ΅ΡΡΠΈΡ ΠΏΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π·Π°ΠΏΡΠΎΡΠ΅.
ΠΠ°Π»Π΅Π΅ ΠΌΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΠΌ Π² Π½Π°Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊ ΠΠ (Ρ ΠΏΠΎΠΌΠΎΡΡΡ PDO). Π Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΡ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°, Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ ΠΊ Π±Π°Π·Π΅ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡ PDO.
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΠ PostgreSql.
Π Π² Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠΈ ΠΌΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΠΌ ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΏΡΠΎΡΠ΅ΡΡ Π² Π΄ΡΡΠ³ΠΎΠΉ ΠΌΠ΅ΡΠΎΠ΄, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ Π²ΡΠ·ΡΠ²Π°Π΅ΠΌ ΠΌΠ΅ΡΠΎΠ΄:
Π’ΡΡ ΠΌΡ Π²ΡΠ·ΡΠ²Π°Π΅ΠΌ ΠΌΠ΅ΡΠΎΠ΄ init ΠΊΠ»Π°ΡΡΠ° Router ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π² Π½Π°Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ Π² ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΠΊΠ»Π°ΡΡΠ°.
Π§ΡΠΎ-ΠΆ Π΄Π°Π»Π΅Π΅ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠ»Π°ΡΡ Router, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ΅ΠΊΡΡΠΈΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠΌ.
Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΡΠ°ΠΉΠ» Router.php Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ app:
Π’ΡΡ Π²ΡΠ΅ ΠΏΡΠΎΡΡΠΎ, ΠΏΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π·Π°ΠΏΡΠΎΡΠ΅ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° ΠΈ ΠΌΠ΅ΡΠΎΠ΄Π° (action) ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ Π²ΡΠ·Π²Π°Π½Ρ. ΠΠΎΠΏΡΡΡΠΈΠΌ ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΠΉ ΠΊΠΎΠ½ΡΠ°ΠΊΡ, url Π½Π° ΡΠΎΡΠΌΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠ°ΠΊΡΠ° ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
http://localhost:8000/index.php?c=contact&a=create
Π‘ΠΈΡΡΠ΅ΠΌΠ° ΡΠ²ΠΈΠ΄Π΅Π² ΡΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄, Π²ΡΠ·ΠΎΠ²Π΅Ρ ΠΌΠ΅ΡΠΎΠ΄ create() Ρ ΠΊΠ»Π°ΡΡΠ° ContactController.php.
Π’Π΅ΠΏΠ΅ΡΡ Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΎΠΏΠΈΠ»ΠΈΠΌ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΊΠ»Π°ΡΡ ΡΠ΅ΡΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ Π²ΡΡΠ΅! ΠΡΠΎΡ ΠΊΠ»Π°ΡΡ ΠΏΡΠΎΡΡΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΎΠ±Π΅ΡΡΠΊΡ Π½Π°Π΄ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠΌ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠΌ ΡΠ΅ΡΡΠΈΠΉ. Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Classes ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΡΡΠ΄Π° Π½ΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ» Session.php.
Π¨Π°Π³ 4: ΠΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ ΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ
Π’Π΅ΠΏΠ΅ΡΡ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π΄Π°ΠΌΠΏ ΡΠ°Π±Π»ΠΈΡΡ Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°ΡΡΡΡ/Π°Π²ΡΠΎΡΠΈΠ·ΠΎΠ²ΡΠ²Π°ΡΡΡΡ!
Π’Π΅ΠΏΠ΅ΡΡ Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΎΠΏΠΈΡΠ΅ΠΌ ΡΠΈΡΡΠ΅ΠΌΡ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ! ΠΠ°ΡΠ½Π΅ΠΌ Ρ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ Models Π±Π°Π·ΠΎΠ²ΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ Model.php:
ΠΡΠΌΠ°Ρ Π·Π΄Π΅ΡΡ Π²ΡΠ΅ ΠΏΠΎΠ½ΡΡΠ½ΠΎ ΠΈΠ· ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π², ΠΌΡ ΠΏΡΠΎΡΡΠΎ ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΠΌ Π±Π°Π·ΠΎΠ²ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ Π΄Π»Ρ Π²ΡΠ΅Ρ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ!
ΠΠ°Π²Π°ΠΉΡΠ΅ Π½Π°ΡΠ½Π΅ΠΌ Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΠΈ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΌΠΎΠ΄Π΅Π»Ρ Users:
ΠΠΎΠ³Π΄Π° Ρ Π½Π°Ρ ΠΎΠΏΠΈΡΠ°Π½Π° ΠΌΠΎΠ΄Π΅Π»Ρ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡΠΈΡΡΡΠΏΠΈΡΡ ΠΊ Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ/Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ!
ΠΠ΅ΡΠ²ΡΠΌ Π΄Π΅Π»ΠΎΠΌ ΠΊΠ°ΠΊ ΠΈ Ρ ΠΌΠΎΠ΄Π΅Π»ΡΠΌΠΈ ΠΌΡ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π±Π°Π·ΠΎΠ²ΡΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ, Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Controllers ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π² Π½Π΅Π³ΠΎ ΡΠ°ΠΉΠ» BaseController.php:
ΠΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π²ΡΠ΅ ΠΏΡΠΈΡΠ΅Π΄ΡΠΈΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π΄Π°Π½Π½ΡΠ΅ ΡΠΎΡΠΌΡ ΠΈ Π»ΡΠ±ΡΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π°)
ΠΠ΅ΡΠΎΠ΄ getConfig() Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π½Π°Ρ ΡΠ°ΠΉΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ, Π° ΠΌΠ΅ΡΠΎΠ΄ view() ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π·Π° Π²ΡΠ²ΠΎΠ΄ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π² Π½ΠΈΡ .
ΠΠ°Π»Π΅Π΅ Π΄Π°Π²Π°ΠΉΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΡΠ°ΠΉΠ»Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠ² ΠΎΡΠ²Π΅ΡΠ°ΡΡΠΈΡ Π·Π° ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ ΠΈ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ!
ΠΠΎΠ±Π°Π²ΠΈΠΌ Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ RegisterController.php:
Π’Π΅ΠΏΠ΅ΡΡ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ ΠΊΠ°ΠΊ Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅, ΠΏΠΎ ΡΠ°ΠΊΡΡ ΡΡΠΎ ΠΏΡΠΎΡΡΠΎ ΡΠΎΡΠΌΠ° ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ register.phtml:
Π ΡΠ»Π΅Π΄ΠΎΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ LoginController.php
Π€ΠΎΡΠΌΠ° Π²Ρ ΠΎΠ΄Π° Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ login.phtml:
ΠΠ°Π»Π΅Π΅ ΡΡΠ°Π·Ρ-ΠΆΠ΅ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΈ ΠΎΠΏΠΈΡΠ΅ΠΌ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΠΎΡΠ²Π΅ΡΠ°ΡΡΠΈΠΉ Π·Π° Π²ΡΠ²ΠΎΠ΄ ΠΠ AccountController.php.
Π ΡΠ°ΠΊ-ΠΆΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ Π½Π° Π²ΡΡΡ Ρ account.php:
ΠΡΠ»ΠΈ Π²Ρ Π±ΡΠ΄Π΅ΡΠ΅ Π²Π½ΠΈΠΌΠ°ΡΠ΅Π»ΡΠ½Ρ, ΡΠΎ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅, ΡΡΠΎ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ (ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠ΅ Ρ Π΅Π»ΠΏΠ΅ΡΡ) ΠΏΠΎ ΡΠΈΠΏΡ _hpswd ΠΈΠ»ΠΈ dbhelper, Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΎΠΏΠΈΡΠ΅ΠΌ ΡΠ°ΠΉΠ» helpers.php
ΠΠΎΠ΄Π΅Π»ΠΈ ΡΡΡΠ°Π½, ΡΠ΅Π³ΠΈΠΎΠ½ΠΎΠ² ΠΈ Π³ΠΎΡΠΎΠ΄ΠΎΠ², Π° ΡΠ°ΠΊ-ΠΆΠ΅ Π»ΠΎΠ³ΠΈΠΊΡ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ° Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠΏΠΈΡΠ°ΡΡ ΡΠ°ΠΌΠΈ ΠΈΠ»ΠΈ Π½Π°ΠΉΡΠΈ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
ΠΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ ΠΏΠΈΡΠΈΡΠ΅ Π² ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡ
ΠΠ°ΠΊ Ρ ΠΏΠΎΠΌΠΎΡΡΡ PHP ΠΈ MySQL ΡΠΎΠ·Π΄Π°ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ ΠΈ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ
Π₯ΠΎΡΡ Π² ΠΠ½ΡΠ΅ΡΠ½Π΅ΡΠ΅ Π΅ΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡΠΎΠ±ΠΈΠΉ Π½Π° ΡΡΡ ΡΠ΅ΠΌΡ, Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΈΠ· Π½ΠΈΡ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΎ Π΄Π»Ρ ΠΏΡΠΎΠ΄Π²ΠΈΠ½ΡΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ.
ΠΡΠ° ΡΡΠ°ΡΡΡ ΡΠ°ΡΡΠΊΠ°ΠΆΠ΅Ρ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΡΠΎΡΡΡΡ Π²Π΅ΡΡΠΈΡ ΡΠΈΡΡΠ΅ΠΌΡ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ ΠΈ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ PHP ΠΈ MySQL Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ . ΠΠ°Π²Π°ΠΉΡΠ΅ Π½Π°ΡΠ½Π΅ΠΌ!
Π Π΅ΡΡΡΡΡ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΡΡΠΈΠΌ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎΠΌ:
Π§ΡΠΎ ΠΌΡ ΡΠΎΠ·Π΄Π°Π΅ΠΌ
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΡΠ΅ΡΠ²Π΅ΡΠ°
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π»ΡΠ±ΠΎΠΉ Ρ ΠΎΡΡΠΈΠ½Π³ Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ PHP ΠΈ MySQL ( ΡΠΎΠ»ΡΠΊΠΎ ΡΠ±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ ΠΎΠ½ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ PHP Π²Π΅ΡΡΠΈΠΈ 5.3 ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ·Π΄Π½Π΅ΠΉ ΠΈ MySQL Π²Π΅ΡΡΠΈΠΈ 4.1.3 ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ·Π΄Π½Π΅ΠΉ ).
Π¨Π°Π³ 1 β MySQL
ΠΠ·Π³Π»ΡΠ½ΠΈΡΠ΅ Π½Π° ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ Π½ΠΈΠΆΠ΅ ΠΊΠΎΠ΄ SQL :
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ auto_increment Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠ² ΠΈΠ»ΠΈ Π½ΠΎΠΌΠ΅ΡΠΎΠ² ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°ΡΡΡΡ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅.
Π¨Π°Π³ 2 β Π Π°Π·ΠΌΠ΅ΡΠΊΠ°
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π²Ρ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠΊΠ°Π·Π°Π½ Π½Π° ΡΠΈΡΡΠ½ΠΊΠ΅ Π½ΠΈΠΆΠ΅:
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π²Ρ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ:
ΠΡΠΎΡ ΠΊΠΎΠ΄ Π΄Π°ΡΡ Π½Π°ΠΌ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ:
Π¨Π°Π³ 3 β CSS
Π ΡΡΠΎΠΌΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, Π²Ρ ΡΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠΎΡ ΠΆΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ, ΡΡΠΎ ΠΈ Π½Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΈ, ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π² Π½Π°ΡΠ°Π»Π΅ ΡΡΠ°ΡΡΠΈ.
Π¨Π°Π³ 4 β ΠΠ½ΠΎΠ³ΠΎΡΠ°Π·ΠΎΠ²ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ
ΠΠ°ΡΠ΅ΠΌ ΡΠ½ΠΎΠ²Π° ΡΠ΄Π°Π»ΠΈΡΠ΅ ΡΡΡ ΡΠ°ΡΡΡ Π²ΠΎ Π²ΡΠ΅Ρ ΡΡΠ΅Ρ ΡΠ°ΠΉΠ»Π°Ρ PHP ΠΈ Π·Π°ΠΌΠ΅Π½ΠΈΡΠ΅ Π΅Π΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΊΠΎΠ΄ΠΎΠΌ:
Π¨Π°Π³ β 5 ΠΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ
Π’Π΅ΠΏΠ΅ΡΡ, ΠΊΠΎΠ³Π΄Π° Π²Ρ Π²ΠΊΠ»ΡΡΠΈΠ»ΠΈ ΡΠ°ΠΉΠ»Ρ ΡΠ°Π·Π΄Π΅Π»ΠΎΠ² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° ΠΈ ΠΏΠΎΠ΄Π²Π°Π»Π°, ΠΏΠΎΡΠ° ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΠΉ Π²ΠΊΠ»ΡΡΠ°Π΅ΠΌΡΠΉ ΡΠ°ΠΉΠ». ΠΠ°Π·ΠΎΠ²ΠΈΡΠ΅ Π΅Π³ΠΎ constants.php ΠΈ ΡΠΊΠΎΠΏΠΈΡΡΠΉΡΠ΅ Π² Π½Π΅Π³ΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄:
Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²ΡΡΠ΅ ΠΊΠΎΠ΄Π΅, ΠΌΡ ΡΠΎΠ·Π΄Π°Π»ΠΈ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ . Π’Π΅ΠΏΠ΅ΡΡ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π»Π΅Π³ΠΊΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π²ΡΡΠΊΠΈΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° ΡΡΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ.
Π¨Π°Π³ β 6 ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΡΠ°ΠΉΠ»Π° register.php
Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²ΡΡΠ΅ ΠΊΠΎΠ΄Π΅, ΠΎΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΠΏΠ΅ΡΠ΅Π΄ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Π΄Π°Π½Π½ΡΡ Π² Π±Π°Π·Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ ΠΈΡ Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΡ. ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ message ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ°Ρ ΠΈΠ»ΠΈ ΠΎΠ± ΡΡΠΏΠ΅ΡΠ½ΠΎΠΌ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ.
Π¨Π°Π³ β 7 ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΡΠ°ΠΉΠ»Π° login.php
Π¨Π°Π³ β 8 ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΡΠ°ΠΉΠ»Π° intropage.php
Π¨Π°Π³ β 9 ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΡΠ°ΠΉΠ»Π° logout.php
Π‘ΠΊΠΎΠΏΠΈΡΡΠΉΡΠ΅ Π΄Π°Π½Π½ΡΠΉ ΠΊΠΎΠ΄ Π² ΡΠ°ΠΉΠ» logout.php :
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠ΅ Π² ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΊΠΎΠ΄Ρ ΠΏΠΎ ΡΠ²ΠΎΠ΅ΠΌΡ ΡΡΠΌΠΎΡΡΠ΅Π½ΠΈΡ. ΠΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅ΡΡΡ ΠΈΠ΄Π΅ΠΈ ΠΏΠΎ ΠΈΡ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ, Π±ΡΠ΄Ρ ΡΠ°Π΄ ΡΡΠ»ΡΡΠ°ΡΡ ΠΎΠ± ΡΡΠΎΠΌ Π² ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡ .
ΠΠ°Π΄Π΅ΡΡΡ, Π²Π°ΠΌ ΠΏΠΎΠ½ΡΠ°Π²ΠΈΠ»Π°ΡΡ ΡΡΠ° ΡΡΠ°ΡΡΡ. Π£Π²ΠΈΠ΄ΠΈΠΌΡΡ Π² ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ°Π·!
>
>
else <
$message = «That username already exists! Please try another one!»;
>
>
else <
$message = «All fields are required!»;
>
>
?>
md5 ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°ΠΊ ΠΈ Π½Π΅ Π½Π°ΡΠ΅Π» Π² ΠΊΠΎΠ΄Π΅ 🙁
ΠΠ±ΡΡΡΠ½ΠΈΡΠ΅ Π½ΠΎΠ²ΠΈΡΠΊΡ, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠΈΡΡΠ΅ΠΌΠ° Π΄ΠΎΠ½Π°ΡΠΎΠ² Π½Π° ΡΠ°ΠΉΡΠ΅, ΠΊΠ°ΠΊ Π΅Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ , ΠΈ ΠΊΠ°ΠΊ ΠΌΠ΅Π½ΡΡΡ ΡΠ΅Π½Ρ Π½Π° ΠΈΠ³ΡΠΎΠ²ΡΡ Π²Π°Π»ΡΡΡ, Π±ΡΠ΄Ρ ΠΎΡΠ΅Π½Ρ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΠ΅Π½!
Π³Π΄Π΅ Π΅ΡΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊ Π±Π΄ ΠΈΠ»ΠΈ ΡΠ°Π±ΠΎΡΠ° Ρ Π±Π΄ Π½Π°Π΄ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π±ΡΠΊΠ²Ρ i
Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ
mysql_query ΡΡΡΠ°ΡΠ΅Π²ΡΠ°Ρ
Π½ΠΎΠ²Π°Ρ mysqli_query
ΡΠΈΡΠ°Π΅ΠΌ ΡΡΡ https://www.php.net/manual/ru/
Π²Π°Π»ΠΈΠ΄Π°ΡΠΎΡ https://phpcodechecker.com
ΠΠ±ΡΡΡΠ½ΠΈΡΠ΅ ΠΏΠΎΠΆΠ°Π»ΡΠΉΡΡΠ° ΡΠ°Π³ 4. ΠΠ°ΡΠ΅ΠΌ Π·Π°ΠΌΠ΅Π½ΡΡΡ Π½Π° header.php? Π Π² footer.php ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠΏΠΈΡΠ°ΠΉΡ.
ΠΏΠΎΠΆΠ°ΡΠΉΡΡΠ° ΡΠΊΠΈΠ½ΡΡΠ΅ ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊ. Π½Π΅ ΠΌΠΎΠ³Ρ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Ρ ΠΊΠΎΠ΄ΠΎΠΌ!
Π ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ Π²ΡΡ Π·Π°ΡΠ°Π±ΠΎΡΠ°Π»ΠΎ, ΠΊΠ°ΠΊ Π°Π²ΡΠΎΡ ΠΏΠΈΡΠ°Π» Π² ΡΡΠ°ΡΡΠ΅:
Π Π΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ ΠΈ ΠΠ²ΡΠΎΡΠΈΠ·Π°ΡΠΈΡ Π½Π° PHP + MySQL
ΠΠΎΠ±ΡΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΡΡΡΠΎΠΊ Π΄ΡΡΠ·ΡΡ! ΠΠ°Π²Π°ΠΉ Ρ ΠΠ°ΠΌΠΈ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Π½Π° PHP. ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠΌ ΡΡΠ»ΠΎΠ²ΠΈΡ Π΄Π»Ρ Π½Π°ΡΠ΅ΠΉ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ:
ΠΠ»Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠΊΡΠΈΠΏΡΠ° Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠ½ΡΡΡ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. Π Π΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ β ΡΡΠΎ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ ΡΠ΅Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΈ Ρ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ .
ΠΡΠ»ΠΈ ΠΎΠ±ΡΡΡΠ½ΡΡΡ ΠΏΡΠΎΡΡΡΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ ΡΠΎ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ ΡΡΠΎ Π²ΡΠ΅Π³ΠΎ Π»ΠΈΡΡ Π·Π°ΠΏΠΈΡΡ ΠΈ Ρ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ Π΄Π°Π½Π½ΡΡ ΠΏΠΎ ΠΊΠΎΡΠΎΡΡΠΌ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π°Π²ΡΠΎΡΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π² Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ β ΡΡΠΎ ΠΠΎΠ³ΠΈΠ½ ΠΈ ΠΠ°ΡΠΎΠ»Ρ.
ΠΠ²ΡΠΎΡΠΈΠ·Π°ΡΠΈΡ β ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎΠΌΡ Π»ΠΈΡΡ ΠΈΠ»ΠΈ Π³ΡΡΠΏΠΏΠ΅ Π»ΠΈΡ ΠΏΡΠ°Π² Π½Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΎΡΠ΅ΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π΄Π°Π½Π½ΡΡ ΠΏΡΠ°Π² ΠΏΡΠΈ ΠΏΠΎΠΏΡΡΠΊΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠΈΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ. ΠΡΠΎΡΠ΅ Π³ΠΎΠ²ΠΎΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ°Π·Π³ΡΠ°Π½ΠΈΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠΎΠΌΡ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΌΡ ΠΊΠΎΠ½ΡΠ΅Π½ΡΡ Π½Π° Π½Π°ΡΠ΅ΠΌ ΡΠ°ΠΉΡΠ΅.
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΡΡΡΠΊΡΡΡΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ² ΡΠΊΡΠΈΠΏΡΠΎΠ² Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π½Π°ΡΠ΅ΠΉ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ Ρ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠ΅ΠΉ. ΠΠ°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠ°Π·Π±ΠΈΡΡ ΡΠΊΡΠΈΠΏΡΡ Π½Π° Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠΎΡΡΠ°Π²Π»ΡΡΡΠΈΠ΅. ΠΠΎΠ΄ΡΠ»ΠΈ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ ΠΈ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ ΠΌΡ ΠΏΠΎΠΌΠ΅ΡΡΠΈΠ² Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³. Π’Π°ΠΊ ΠΆΠ΅ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΈ ΠΌΡ ΠΏΠΎΠΌΠ΅ΡΡΠΈΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ MySQL, ΡΠ°ΠΉΠ» Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ, ΡΠ°ΠΉΠ» ΡΡΠΈΠ»Π΅ΠΉ CSS ΠΈ Π½Π°Ρ ΡΠ°Π±Π»ΠΎΠ½ HTML. ΠΠ°Π½Π½Π°Ρ ΡΡΡΡΠΊΡΡΡΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π±ΡΡΡΡΠΎ ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡΡΡ Π² ΡΠΊΡΠΈΠΏΡΠ°Ρ . ΠΡΠ΅Π΄ΡΡΠ°Π²ΡΡΠ΅ ΡΠ΅Π±Π΅, ΡΡΠΎ Ρ ΠΠ°Ρ Π±ΠΎΠ»ΡΡΠΎΠΉ ΡΠ°ΠΉΡ Ρ ΠΊΡΡΠ΅ΠΉ ΠΌΠΎΠ΄ΡΠ»ΡΠΌΠΈ ΠΈ Ρ.Π΄. ΠΈ Π΅ΡΠ»ΠΈ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΡΡΠ΄ΠΊΠ°, ΡΠΎ Π±ΡΠ΄Π΅Ρ ΠΎΡΠ΅Π½Ρ ΡΠ»ΠΎΠΆΠ½ΠΎ ΡΡΠΎ-ΡΠΎ ΠΎΡΡΡΠΊΠ°ΡΡ Π² ΡΠ°ΠΊΠΎΠΌ Π±Π°ΡΠ΄Π°ΠΊΠ΅.
Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ Ρ ΡΠ°Π½ΠΈΡΡ Π²ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π² Π‘Π£ΠΠ MySQL, ΡΠΎ Π΄Π°Π²Π°ΠΉΡΠ΅ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π½Π΅ Π±ΠΎΠ»ΡΡΡΡ ΡΠ°Π±Π»ΠΈΡΡ Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π±ΡΠ΄Π΅ΠΌ Ρ ΡΠ°Π½ΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΎ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ.
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° Π½ΡΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ°Π±Π»ΠΈΡΡ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ . Π’Π°Π±Π»ΠΈΡΡ Π½Π°Π·ΠΎΠ²Π΅ΠΌ bez_reg Π³Π΄Π΅ bez β ΡΡΠΎ ΠΏΡΠ΅ΡΠΈΠΊΡ ΡΠ°Π±Π»ΠΈΡΡ, Π° reg Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΡΠ°Π±Π»ΠΈΡΡ.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡΠΎΡΠΈΠ»Ρ ΠΈΠ»ΠΈ Π»ΠΈΡΠ½ΠΎΠ³ΠΎ ΠΊΠ°Π±ΠΈΠ½Π΅ΡΠ° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π° MVC, PHP ΠΈ SQL
Π‘Π½Π°ΡΠ°Π»Π° Π½ΡΠΆΠ½ΠΎ ΠΌΠΎΠ΄Π΅ΡΠ½ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π½Π°ΡΡ ΡΠ°Π±Π»ΠΈΡΡ Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌΠΈ Π΄ΠΎ ΡΠ°ΠΊΠΎΠ³ΠΎ Π²ΠΈΠ΄Π°:
ΠΠΎΠ±Π°Π²ΠΈΠ»ΠΈΡΡ Π΄Π²Π° Π½ΠΎΠ²ΡΡ ΠΏΠΎΠ»Ρ β ava ΠΈ role. ΠΠΎΠ»Π΅ ava Π±ΡΠ΄Π΅Ρ Ρ ΡΠ°Π½ΠΈΡΡ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π·Π°Π³ΡΡΠΆΠ΅Π½Π½ΠΎΠΉ Π°Π²Π°ΡΠ°ΡΠΊΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ. ΠΠΎΠ»Π΅ role Π±ΡΠ΄Π΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΡΡΠ°ΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ: 0 β ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, 1 β Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡ, 2 β ΠΌΠ»Π°Π΄ΡΠΈΠΉ ΠΌΠΎΠ΄Π΅ΡΠ°ΡΠΎΡ, 3 β ΡΡΠ°ΡΡΠΈΠΉ ΠΌΠΎΠ΄Π΅ΡΠ°ΡΠΎΡ. ΠΡΠ»ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π΅ Π°Π²ΡΠΎΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½, ΡΠΎ ΠΎΠ½ ΠΈΠΌΠ΅Π΅Ρ ΡΡΠ°ΡΡΡ Π³ΠΎΡΡΡ.
ΠΠΎΠ±Π°Π²ΠΈΠΌ ΠΌΠ°ΡΡΡΡΡΡ Π² ΡΠ°ΠΉΠ» routes.php, ΠΎΠ½ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΠΏΠ°ΠΏΠΊΠ΅ config:
Π’Π΅ΠΏΠ΅ΡΡ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π΄Π»Ρ ΡΡΡΠ°Π½ΠΈΡΡ ΠΏΡΠΎΡΠΈΠ»Ρ, ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π΅Π³ΠΎ Π½ΡΠΆΠ½ΠΎ Π² ΡΠ°ΠΉΠ»Π΅ UserController.php, ΠΎΠ½ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΠΏΠ°ΠΏΠΊΠ΅ controllers. Π‘Π½Π°ΡΠ°Π»Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ checkAdminId ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ, Π°Π²ΡΠΎΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½ Π»ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, Π΅ΡΠ»ΠΈ Π΄Π°, ΡΠΎ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ id_user Π²Π΅ΡΠ½Π΅ΡΡΡ Π΅Π³ΠΎ id. ΠΠ°Π»Π΅Π΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ getUserById, ΠΏΠΎ id Π·Π°ΠΏΠΈΡΠ°Π½Π½ΠΎΠΌΡ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ id_user, ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ Π΄Π°Π½Π½ΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈΠ· ΡΠ°Π±Π»ΠΈΡΡ ΠΠ ΠΈ Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΠΌ ΠΈΡ Π² ΠΏ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ user. ΠΡΠΈ Π΄Π°Π½Π½ΡΠ΅ Π±ΡΠ΄ΡΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ Π² ΠΏΠΎΠ»ΡΡ ΡΠΎΡΠΌΡ.
ΠΡΠ»ΠΈ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ Ρ ΡΠΎΡΠΌΠΎΠΉ Π½Π°ΠΆΠ°Π»ΠΈ ΠΊΠ½ΠΎΠΏΠΊΡ Β«ΠΠ·ΠΌΠ΅Π½ΠΈΡΡΒ», ΡΠΎ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ POST ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½ΡΡ ΠΏΠΎΠ»Π΅ΠΉ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ, ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ Π»ΠΈ Π²Π²Π΅Π΄Π΅Π½ Π»ΠΎΠ³ΠΈΠ½ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈ Π½Π΅ Π·Π°Π½ΡΡ Π»ΠΈ ΠΎΠ½. ΠΡΠ»ΠΈ Π΄Π°, ΡΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ, Π²ΡΠ±ΡΠ°Π» Π»ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π°Π²Π°ΡΠ°Ρ, Π΅ΡΠ»ΠΈ Π½Π΅Ρ, ΡΠΎ Π΅ΠΌΡ Π±ΡΠ΄Π΅Ρ Π²ΡΡΡΠ°Π²Π»Π΅Π½ Π°Π²Π°ΡΠ°Ρ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ. ΠΠ°ΡΠ΅ΠΌ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π° ΡΡΠ½ΠΊΡΠΈΡ editUserProfile, ΠΎΠ½Π° ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΠ΅ Π² ΡΠ°Π±Π»ΠΈΡΠ΅ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ .
ΠΡΠ»ΠΈ ΠΆΠ΅ Π°Π²Π°ΡΠ°Ρ Π²ΡΠ±ΡΠ°Π½ Π² ΡΠΎΡΠΌΠ΅, ΡΠΎ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ editUserProfileImg. Π€ΡΠ½ΠΊΡΠΈΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡ Π·Π°Π³ΡΡΠ·ΠΊΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ Π°Π²Π°ΡΠ°ΡΠ° Π½Π° ΡΠ΅ΡΠ²Π΅Ρ ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΠ΅ Π² ΡΠ°Π±Π»ΠΈΡΠ΅ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ .
Π’Π΅ΠΏΠ΅ΡΡ ΠΎΠΏΠΈΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΎΠ½ΠΈ Π±ΡΠ΄ΡΡ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡΡ Π² ΠΏΠ°ΠΏΠΊΠ΅ models Π² ΡΠ°ΠΉΠ»Π΅ News.php:
Π€ΡΠ½ΠΊΡΠΈΡ editUserProfile. ΠΠ½Π° ΡΠΎΠ΅Π΄ΠΈΠ½ΡΠ΅ΡΡΡ Ρ Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½ΡΡ ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»Ρ Ρ Π»ΠΎΠ³ΠΈΠ½ΠΎΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ.
Π€ΡΠ½ΠΊΡΠΈΡ editUserProfileImg. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ downloadAvatar Π·Π°Π³ΡΡΠΆΠ°Π΅Ρ ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ Π½Π° ΡΠ΅ΡΠ²Π΅Ρ ΠΈ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ava_url ΠΈΠΌΡ Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ. ΠΠ°Π»Π΅Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ SQL Π·Π°ΠΏΡΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ ΠΏΠΎΠ»Π΅ Ρ Π°Π²Π°ΡΠ°ΡΠΊΠΎΠΉ ΠΈ Π»ΠΎΠ³ΠΈΠ½ΠΎΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ:
Π€ΡΠ½ΠΊΡΠΈΡ downloadAvatar. ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠ½Π° ΡΡΠ½ΠΊΡΠΈΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π½Π° ΡΠ΅ΡΠ²Π΅Ρ, ΡΠ°Π·Π½ΠΈΡΠ° Π»ΠΈΡΡ Π² ΠΏΡΡΠΈ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ:
Π€ΡΠ½ΠΊΡΠΈΡ checkAdminId ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ, Π°Π²ΡΠΎΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½ Π»ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΠΏΡΡΠ΅ΠΌ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΠ΅ΡΡΠΈΠΈ user. ΠΡΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ, ΡΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΠΈΠ½Π°ΡΠ΅ Π΄Π΅Π»Π°Π΅ΠΌ ΡΠ΅Π΄ΠΈΡΠ΅ΠΊΡ Π½Π° ΡΡΡΠ°Π½ΠΈΡΡ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ:
Π€ΡΠ½ΠΊΡΠΈΡ getIserById ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ Π΄Π°Π½Π½ΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈΠ· Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ , ΠΏΠΎ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΠΎΠΌΡ id:
Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΡΡΡΠ°Π½ΠΈΡΡ Ρ ΡΠΎΡΠΌΠΎΠΉ ΠΏΡΠΎΡΠΈΠ»Ρ. ΠΡΠ»ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π³ΠΎΡΡΡ, ΡΠΎ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ Π΅ΠΌΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅, ΡΡΠΎ ΠΎΠ½ Π½Π΅ Π°Π²ΡΠΎΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½. ΠΠ°Π»Π΅Π΅ ΠΈΠ΄Π΅Ρ ΠΎΠ±ΡΡΠ½Π°Ρ ΡΡΡΠ°Π½ΠΈΡΠ° Ρ Π²ΡΠ²ΠΎΠ΄ΠΎΠΌ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΈ ΠΏΡΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Π΄Π°Π½Π½ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π² ΠΏΠΎΠ»Ρ.
ΠΠΎΠ»ΡΠΌ e-mail ΠΈ ΡΡΠ°ΡΡΡ ΠΎΡΠΊΠ»ΡΡΠ°Π΅ΠΌ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, ΠΎΠ½ΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΡΠΉ Ρ Π°ΡΠ°ΠΊΡΠ΅Ρ. ΠΠΎΡΠ»Π΅ Π½Π°ΠΆΠ°ΡΠΈΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ, ΡΡΡΠ°Π½ΠΈΡΠ° Π±ΡΠ΄Π΅Ρ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠΆΠ΅Π½Π° ΠΈ Π΅ΡΠ»ΠΈ Π΄Π°Π½Π½ΡΠ΅ ΡΡΠΏΠ΅ΡΠ½ΠΎ ΠΎΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½Ρ, ΡΠΎ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΡΡΠΎΠΌ.
Π Π±ΡΠ°ΡΠ·Π΅ΡΠ΅ ΡΡΠ° ΡΠΎΡΠΌΠ° Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
Π’Π°ΠΊ ΠΊΠ°ΠΊ Π½Π°ΡΠΈ ΠΏΠ°ΡΠΎΠ»ΠΈ Π·Π°ΡΠΈΡΡΠΎΠ²Π°Π½Ρ, Π΄Π° ΠΈ ΠΏΡΠΎΡΡΠΎ Π΄Π»Ρ ΡΠ΄ΠΎΠ±ΡΡΠ²Π°, ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΡΠΎΡΠΌΡ ΡΠΌΠ΅Π½Ρ ΠΏΠ°ΡΠΎΠ»Ρ. Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Π΅Π΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π² NewsController.php:
Π ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ΅ ΠΌΡ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ Π²Π²Π΅Π΄Π΅Π½Π½ΡΠ΅ Π² ΡΠΎΡΠΌΡ ΠΏΠ°ΡΠΎΠ»ΠΈ, ΡΡΠ°Π²Π½ΠΈΠ»ΠΈ, ΡΠ°Π²Π½Ρ Π»ΠΈ Π²Π²Π΅Π΄Π΅Π½Π½ΡΠ΅ ΠΏΠ°ΡΠΎΠ»ΠΈ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΈΠ»ΠΈ, ΡΡΠΎΠ±Ρ ΠΏΠ°ΡΠΎΠ»Ρ Π±ΡΠ» Π½Π΅ ΠΊΠΎΡΠΎΡΠ΅ ΡΠ΅ΡΡΠΈ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ². ΠΠ°Π»Π΅Π΅ Π΅ΡΠ»ΠΈ ΠΎΡΠΈΠ±ΠΎΠΊ Π½Π΅Ρ, ΡΠΎ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ generateHash, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΈΡΡΡΠ΅Ρ ΠΏΠ°ΡΠΎΠ»Ρ (ΡΡΠ° ΡΡΠ½ΠΊΡΠΈΡ Π±ΡΠ»Π° ΡΠ°Π·ΠΎΠ±ΡΠ°Π½Π° Π² ΡΡΠ°ΡΡΠ΅ ΠΏΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ). ΠΠ°ΡΠ΅ΠΌ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ editPassword (Π±ΡΠ»Π° ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Π° Π² ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ) ΠΌΠ΅Π½ΡΠ΅ΠΌ ΠΏΠ°ΡΠΎΠ»Ρ Π² ΡΠ°Π±Π»ΠΈΡΠ΅ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ Π½Π° Π½ΠΎΠ²ΡΠΉ. Π€ΠΎΡΠΌΠ° ΡΡΡΠ°Π½ΠΈΡΡ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΠ°ΡΠΎΠ»Ρ Π±ΡΠ΄Π΅Ρ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΡΠ°ΠΊ:
Π Π±ΡΠ°ΡΠ·Π΅ΡΠ΅ ΠΎΠ½Π° Π±ΡΠ΄Π΅Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
Π ΠΈΡΠΎΠ³Π΅ ΠΌΡ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ΠΏΡΠΎΡΠΈΠ»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ ΡΠΌΠ΅Π½Ρ Π»ΠΎΠ³ΠΈΠ½Π° ΠΈ Π°Π²Π°ΡΠ°ΡΠ°. Π§ΡΠΎΠ±Ρ Π½Π΅ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ downloadAvatar, ΠΌΠΎΠΆΠ½ΠΎ Ρ ΡΠ°Π½ΠΈΡΡ Π°Π²Π°ΡΠ°ΡΠΊΠΈ Π²ΠΌΠ΅ΡΡΠ΅ Ρ Π·Π°Π³ΡΡΠΆΠ΅Π½Π½ΡΠΌΠΈ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ°ΠΌΠΈ, Π° ΡΡΠΎ Π½Π΅ ΠΎΡΠ΅Π½Ρ ΡΠ΄ΠΎΠ±Π½ΠΎ. ΠΡΡΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-ΡΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° Π² ΡΡΠ½ΠΊΡΠΈΠΈ downloadImg ΠΈ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½Π΅Π³ΠΎ Π²ΡΠ±ΠΈΡΠ°ΡΡ ΠΏΡΡΡ, ΠΏΠΎ ΠΊΠΎΡΠΎΡΠΎΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΡΠΎΡ ΡΠ°Π½ΡΡΡ Π°Π²Π°ΡΠ°ΡΠΊΡ.
Π‘ΠΌΠΎΡΡΠΈΡΠ΅ ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΡΠ°ΡΡΠΈ ΠΏΡΠΎ MVC
ΠΠ°ΡΠΈΡΠ΅Π½Π½Π°Ρ ΠΠ²ΡΠΎΡΠΈΠ·Π°ΡΠΈΡ ΠΈ Π Π΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ Π½Π° PHP + MySQL ΡΠ΅ΡΠ΅Π· PDO
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΡ Π½Π°ΠΉΠ΄Π΅ΡΠ΅ ΡΠΊΡΠΈΠΏΡ Π½Π° ΡΠ·ΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ PHP, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°ΡΡΡΡ ΠΈ Π°Π²ΡΠΎΡΠΈΠ·ΠΎΠ²Π°ΡΡΡΡ Π½Π° ΡΠ°ΠΉΡΠ΅. Π‘ΠΊΡΠΈΠΏΡ Π½Π° 100% Π·Π°ΡΠΈΡΠ°Π΅Ρ ΠΎΡ SQL-ΠΈΠ½ΠΆΠ΅ΠΊΡΠΈΠΉ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ PDO (ΡΠΈΡΡΠ΅ΠΌΠ° ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½Π½ΡΡ Π·Π°ΠΏΡΠΎΡΠΎΠ²) ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ RedBeanPHP, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ ORM. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ RedBeanPHP ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΡΠΎΠ»ΡΠΊΠΎ, ΡΡΠΎΠ±Ρ ΠΏΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡΡΡΡ ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ ΠΈ Π»Π΅Π³ΠΊΠΎ Π΅ΠΉ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΠΈΡΠΎΠ²Π°ΡΡ, Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π² PHP, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ mysql_connect ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠ΅, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΎΠ½ΠΈ ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΠ΅ ΠΈ Π½Π΅ ΠΎΡΠ΅Π½Ρ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠ΅.
Π‘ΠΊΡΠΈΠΏΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠ΅ΡΡΠΈΠΈ ($_SESSION) ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ·Π½Π°ΡΡ Π°Π²ΡΠΎΡΠΈΠ·ΠΎΠ²Π°Π½ ΡΠ΅ΠΉΡΠ°Ρ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ ΠΈΠ»ΠΈ Π½Π΅Ρ. Π’Π°ΠΊΠΆΠ΅ Π² ΡΠΊΡΠΈΠΏΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅Π½Π° ΠΊΠ°ΠΏΡΠ° Ρ ΡΠ°Π½Π΄ΠΎΠΌΠ½ΡΠΌΠΈ Π²ΠΎΠΏΡΠΎΡΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ Π·Π°ΡΠΈΡΠ°Π΅Ρ ΡΠ°ΠΉΡ ΠΎΡ Π½Π°Π΄ΠΎΠ΅Π΄Π»ΠΈΠ²ΠΎΠ³ΠΎ ΡΠΏΠ°ΠΌΠ°.
Π‘ΠΊΡΠΈΠΏΡ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ²:
ΠΠ°ΠΊ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ ΡΠΊΡΠΈΠΏΡ?
Π‘ΠΊΠ°ΡΠ°ΠΉΡΠ΅ Π³ΠΎΡΠΎΠ²ΡΠΉ ΡΠΊΡΠΈΠΏΡ ΠΈ ΠΏΠ΅ΡΠ΅Π½Π΅ΡΠΈΡΠ΅ Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π½Π° ΡΠ²ΠΎΠΉ Ρ ΠΎΡΡΠΈΠ½Π³ ΠΈΠ»ΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΡΠ΅ΡΠ²Π΅Ρ (Denwer, OpenServer). ΠΠ»Ρ ΡΠ°Π±ΠΎΡΡ ΡΠΊΡΠΈΠΏΡΠ° ΠΠ°ΠΌ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π²Π΅ΡΡΠΈΡ PHP Π½Π΅ Π½ΠΈΠΆΠ΅ 5.6. ΠΠ°Π»Π΅Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°ΡΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ΠΈ ΠΏΠΎΠ΄ΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡΡΡΡ ΠΊ Π½Π΅ΠΉ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΠΎΠΌΠ΅Π½ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² ΡΠ°ΠΉΠ»Π΅ db.php. ΠΡΠ»ΠΈ Ρ ΡΡΠΈΠΌ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡ ΡΡΡΠ΄Π½ΠΎΡΡΠΈ, ΡΠΎ ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°Π΄Π°Π²Π°ΡΡ ΡΠ²ΠΎΠΈ Π²ΠΎΠΏΡΠΎΡΡ Π² ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡ ΠΏΠΎΠ΄ ΡΡΠ°ΡΡΠ΅ΠΉ.
Π€ΠΎΡΠΌΠ° Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ
Π ΡΠ°ΠΉΠ»Π΅ login.php Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΈ ΡΠ°ΠΌΠ° ΡΠΎΡΠΌΠ° Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π΄Π²ΡΡ ΠΏΠΎΠ»Π΅ΠΉ (Π»ΠΎΠ³ΠΈΠ½, ΠΏΠ°ΡΠΎΠ»Ρ). ΠΠ½Π°ΡΠΎΠΊ @ (ΡΠΎΠ±Π°ΡΠΊΠ°) ΠΏΠ΅ΡΠ΅Π΄ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ ΡΠ»ΡΠΆΠΈΡ Π² PHP Π΄Π»Ρ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΎΡΠΈΠ±ΠΊΠΈ, Π΅ΡΠ»ΠΈ ΡΠ°ΠΊΠ°Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ.
PHP ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΡΠΎΡΠΌΡ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ
Π€ΠΎΡΠΌΠ° ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ
Π ΡΠ°ΠΉΠ»Π΅ signup.php Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΈ ΡΠ°ΠΌΠ° ΡΠΎΡΠΌΠ° ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ. ΠΠ»Ρ ΡΠ°ΠΊΠΈΡ ΡΠΎΡΠΌ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄ Π·Π°ΠΏΡΠΎΡΠ° POST, ΠΏΡΠΈ ΠΊΠΎΡΠΎΡΠΎΠΌ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π΄Π°Π½Π½ΡΠ΅, Π·Π°ΠΊΠ»ΡΡΡΠ½Π½ΡΠ΅ Π² ΡΠ΅Π»ΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ, Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ.
PHP ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΡΠΎΡΠΌΡ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ
Π‘ΠΌΠΎΡΡΠ΅ΡΡ Π²ΠΈΠ΄Π΅ΠΎΡΡΠΎΠΊ
Π‘ΡΠ°ΡΡΡ Π±ΡΠ»Π° Π½Π°ΠΏΠΈΡΠ°Π½Π° Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π²ΠΈΠ΄Π΅ΠΎΡΡΠΎΠΊΠ° Π₯Π°ΡΠ΄ΠΈ Π₯ΠΎ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π½ΠΈΠΆΠ΅. Π‘ΠΊΡΠΈΠΏΡ ΠΈΠ· Π²ΠΈΠ΄Π΅ΠΎ Π±ΡΠ» Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΡΠ°Π±ΠΎΡΠ°Π½ (Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΊΠ°ΠΏΡΠ° function captcha_show).