Browser | ↑ HTTP GET | | HTML index.php | | Content ↓ | Server (Apache) | ↑ | | ↓ | PHP Interpreter | ↑ SELECT * | | FROM Users | | ↓ | DB (MySQL)
Xampp съдържа Apache, PHP, MySQL и други неща
* Ако нямате права да инсталирате xampp просто използвайте portable версия
След време може да решите да си качите уебсайта в мрежата
Тогава ще са ви нужни няколко неща
Domain name - име, чрез което да го достъпваме.
`mywebsite.tk` - free; `mywebsite.com` - 23лева/година
Hosting
free - 000webhost.com freehosting.com
FTP manager - онлайн от хостинга, FileZilla или дори Windows Explorer ¿
`==` и `!=` | "Умно" равенство (`3 == "3"`) |
`===` и `!==` | Стриктно равенство (`3 !== "3"`) |
`$a / $b` | Деление |
`$a % $b` | Остатък при целочислено деление |
`$a . $b` | Конкатенация на стрингове |
include 'filename.php'; // основен начин require 'filename.php'; // същото, но света гърми при грешка spl_autoload_register(function($className){ // самозарежда всичко, include $className . '.php'; // което ни потрябва });
Показваме ви това просто, за да знаете, че съществува. Не го правете - оставете PHP да връща данните на FE, а с JS ще генерирате съдържанието.
Това, което всеки уебсайт ни спами, че използва.
Всяка бисквитка има expiration date - ако искате да премахнете бисквитка - просто я задайте наново с дата в миналото.
`$secure` казва да е само за https връзки, а `$httponly` казва да не е достъпна от javascript.
Ако работите с пароли - никога не ги съхранявайте в plain text - след хеширане ще е малко по-сигурно.
Хеширането взима вашата парола и след известни операции ви връща "хеш" - дълъг gibberish string, отговарящ на вашия input. Мислете за хеширането като за странна математическа функция.
`PASSWORD_DEFAULT` в момента е bcrypt алгоритъма - след време може да се смени. Ако сте виждали примери с md5, sha1 etc - забравете ги - отдавна не са сигурни.
При хеширането се добавя и "сол" - допълнителен стринг към паролата за алгоритъма за по-добра сигурност.
PHP 7+ генерира сол по default, така няма нужда да се занимаваме с това.
echo $x, $y; // basic print print_r($x); // readable recursive print var_dump($x, $y...); // complex recursive print exit()/die() // best way to connect to db - connect() or die() array_map("cube",$arr); // returns array of cubes implode(", ", $arr); // joins the array values with the delimeter $_SERVER; // available everywhere $_GET; $_POST; // contain data from get/post requests $text = <<<EOF Roses are {$colors['roses']}, Violets are {$colors['violets']}. I know it is sad, but you have homework to do. EOF;
`A extends B`
Няма множествено наследяване.
Направете таблица за умножение (1-9) използвайки PHP
Клетките от първия ред и колона трябва да са заглавни (`th`)
Не сме учили css, така че стиловете са по желание