Тёмный

Изучение PHP PDO (базы данных) за час! Создание приложения «Список дел» 

Гоша Дударь
Подписаться 883 тыс.
Просмотров 81 тыс.
50% 1

В ходе урока вы создадите приложение "Список дел". Реализация приложения будет осуществлена за счет PHP, PDO и MySQL. Программа будет иметь красивый дизайн, а также будет реализована синхронизация с базой данных MySQL.
1) Текстовый редактор: atom.io/
2) Локальный сервер: www.mamp.info/en/
3) Хостинг провайдер: vdsina.ru/?partner=rsu1zw8826
4) Большой курс по PHP: itproger.com/course/php
5) Скачать весь проект можно здесь: drive.google.com/file/d/12Dvp...
✔ Сообщество программистов: itproger.com/
✔ -------------
Вступай в группу Вк - prog_life 🚀
Группа FaceBook - goo.gl/XW0aaP
Инстаграм itProger: / itproger_official
Instagram: / gosha_dudar
Telegram: t.me/itProger_official
Twitter - / goshadudar
- Уроки от #GoshaDudar 👨🏼‍💻
- Все уроки по хештегу #goshaLessons

Опубликовано:

 

9 май 2019

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 135   
@user-bv9wq6lw6w
@user-bv9wq6lw6w 2 года назад
Гоша. Объясняешь так, что понятно. Спасибо.
@vsadnik32
@vsadnik32 3 года назад
Вроде все знал, но супер наглядно и понятно объяснил. Ты молодец
@davidsolovyev6280
@davidsolovyev6280 2 года назад
Уроки просто шикарные. Все ясно и понятно. Спасибо большое!:))
@kaffa3373
@kaffa3373 5 лет назад
Очень полезное видео, много чего понял. Ставлю класс
@DallasRZN
@DallasRZN Год назад
У Вас отличная подача материала! Смотреть одно удовольствие!
@kirasukadura
@kirasukadura 3 года назад
Если хотите сделать несколько записей в таблицу $sql = 'INSERT INTO users(nickname, email, country, password) VALUES(:nickname, :email, :country, :password)'; $query = $pdo->prepare($sql); $query->execute([':nickname'=> $nickname, ':email' => $email, ':country'=> $country, ':password' => $password]);
@SpeNch
@SpeNch 4 года назад
СПАСИБО ЗА УРОК!!!!!!!!!!
@svetoboririyskiy3295
@svetoboririyskiy3295 6 месяцев назад
Отличный урок, всё рассказано досканально!
@user-si5ip8fe5n
@user-si5ip8fe5n 4 года назад
Бывает лень писать,спасибо за 5пункт)
@user-oh5vv6tn1i
@user-oh5vv6tn1i 5 лет назад
Гоша подскажи пожалуйста как сделать что бы список можно было изменить нажав на кнопку "изменить" рядом с "удалить".
@FelixGameGuide
@FelixGameGuide 4 года назад
Вы уж тогда абсолютно все значения назвали task... чтобы вообще невозможно было разобраться, что откуда и куда идет
@kirilllllirik
@kirilllllirik 2 года назад
в голос
@artyomyun9894
@artyomyun9894 5 лет назад
Лучший!
@khasanshadiyarov9134
@khasanshadiyarov9134 5 лет назад
Только я захочу что-то создать и тут выходит гайд по этому. Хто уже год продолжается
@codeforgames
@codeforgames 5 лет назад
ахаха да :D
@user-zr5gn5kj9p
@user-zr5gn5kj9p 3 года назад
Эффект Баадера-Майнхоф....
@Pavel-er4hy
@Pavel-er4hy 2 года назад
Здравствуйте! В курсе php речь идёт именно о PDO php как этом видео или просто php? На сайте с курсом не нашёл пояснение.
@veskis
@veskis 5 лет назад
Мастер!
@derfic
@derfic 5 лет назад
Минусом такого проекта будет то что чем больше первичный ключ, тем дольше будет исполняться запрос, можно сделать через status. Чтобы после удаления статусу присваивался 0, а при создании новой записи перезаписывать существующую
@serge124124124
@serge124124124 5 лет назад
а можно ли в java изменить айпи-адрес с помощью прокси-сервера?
@1f7f2b9
@1f7f2b9 4 года назад
доша гударь, а как сделать норм форму рег/вход с капчей и восстановлением, м?
@laboptyka3706
@laboptyka3706 4 года назад
Отличый урок! Спасибо Григорий !
@nero6818
@nero6818 5 лет назад
Список дел Которые должен сделать Дударь: Купить молоко, Помыть посуду)))
@Federation1323
@Federation1323 4 года назад
Они не удалятся, последний точно
@windcrack8404
@windcrack8404 Год назад
Спасибо за урок. Очень полезно. Но вопрос, зачем VDS, MSQL будет дороже на хостинге?
@user-ie9vd8vj9g
@user-ie9vd8vj9g Год назад
спасибо! думаю как телерь сделать редактировать запись! и когда код отправить echo ''; то будет подсписок или нужно чтро б все воспринималось как текст
@roadtothemoney3979
@roadtothemoney3979 5 лет назад
Сделай гайд по тому как сделать выбор станы -> региона -> горадо на php. Очень буду благодарен.
@koryunavetisyan2758
@koryunavetisyan2758 5 лет назад
Xoroshiv video bratan spasibo bolshoye no ya xochu kurs po laravel plsssssss
@alexkomar7349
@alexkomar7349 4 года назад
как дебажить приложение ? можно где-то посмотреть логи ?
@BookwormYevgen
@BookwormYevgen 4 года назад
Может кто то подробнее уточнить относительно :id в запросе? Что это за формат с двоеточием? В бд же колонка называется просто id. И что именно означает знак вопроса? Как это связано с тем, как данные передаются в команде на выполнение запроса? Где об этом почитать, к чему это относится? Запросы mysql, pdo, или откуда это вообще?
@melancholic_017
@melancholic_017 8 месяцев назад
Пришел посмотреть php базы даных, в итоге как минимум уже первые 10 минут меня учат самую базовую базу html
@devilsend3371
@devilsend3371 2 года назад
Подскажите, указываю везде utf-8_general_ci, а у меня абра кадабра в базе данных выводится. Вроде всё делаю как в ролике
@rauzer551
@rauzer551 5 лет назад
Хочется еще урок про pdo
@user-km2ez5wq8y
@user-km2ez5wq8y 3 года назад
Нужно ли делать проверку полученного get ( типа htmlspecialchars() или регулярными выражениями) или в pdo уже встроена защита от sql инъекции?
@orkoteg09
@orkoteg09 3 года назад
Любые входящие данные должны проверяться, PDO - дополнительная линия обороны. Это расширение не закрывает все множество уязвимостей, посредством которых может быть нанесен вред вашей информации, но в то же время, PDO неплохо справляется с вопросом предотвращения SQL инъекций.
@user-gk8zn8nx9z
@user-gk8zn8nx9z 5 лет назад
Топ
@pinog5860
@pinog5860 4 года назад
у меня часть кода в add.php отвечающая за соединение с бд и обмен данными не работает НЕ РАБОТАЕТ кто может объяснить почему //$dsn = 'mysql:host=localhost;dbname=to-do'; //$pdo = new PDO($dns,'root','root'); //$sql = 'INSERT INTO tasks(task) VALUES(:task)'; //$query = $pdo->prepare($sql); //$query->execute(['task'=> $task]); (я использовал другой способ из видео про авторизацию, он работает( $mysql = new mysqli('localhost','root','root','to-do'); $mysql->query("INSERT INTO `tasks`(`task`) VALUES('$task')"); $mysql->close(); )
@maksymkyryliuk492
@maksymkyryliuk492 3 года назад
Аналогично
@max8mad
@max8mad 2 года назад
Добрый день, вроде бы все правильно сделал но id почему то пустое по ходу массив не передается нопочему?
@Mike-uq6fm
@Mike-uq6fm 5 лет назад
Классно, а можешь такой сделать по js (база данных)
@zapiski_verstalshika
@zapiski_verstalshika 5 лет назад
те же пхп скрипты запускай через аякс
@edwardkamalov7881
@edwardkamalov7881 4 года назад
require 'config.php'; echo ''; $query = $PDO -> query("SELECT*FROM `tasks` ORDER BY `id` DESC"); while($row = $query->fetch(PDO::FETCH_OBJ)) { echo ''.$row->task.''; не работает эта часть кода пишет "Call to a member function fetch() on a non-object in "
@orkoteg09
@orkoteg09 3 года назад
SELECT*FROM ->> SELECT * FROM
@ijlixt801
@ijlixt801 Год назад
нашли решение?
@ahmadshohnasrulloev6139
@ahmadshohnasrulloev6139 5 лет назад
Спасибо большое. Сделай такое на Python или Electron js пожалуйста. Кто согласен лайк
@user-gq8gd2ds3t
@user-gq8gd2ds3t 5 лет назад
Йоу клас
@user-qv2bq2oq9r
@user-qv2bq2oq9r 2 года назад
Как запустить страницу веб приложения, если на страничке мама нету кнопки My website? 😬
@annapro1292
@annapro1292 4 года назад
Спасибо за видео, все получилось. Но при удалении записи он переходит на такой url notes.loc/delete.php?id=10 и не возвращается на главную. При этом в логах apache [http:error] AH02429: Response header name 'Location ' contains invalid characters, aborting request, referer: notes.loc/. Как это исправить?
@islam_in_the_west
@islam_in_the_west 5 лет назад
почему на Denwer синтаксическая ошибка этой строки $query->execute(['task' => $task]); Parse error: syntax error, unexpected '[', expecting ')' in Z:\home...\add.php on line 18 а на MAMP все работает отлично
@denysutkin1444
@denysutkin1444 5 лет назад
такая же беда. промучался час, так ничего и не вышло :\ с Денвера не работает :(
@AntonReut
@AntonReut 5 лет назад
Может версия php не подходящая стоит?
@AntonReut
@AntonReut 5 лет назад
@@denysutkin1444 Может версия php не подходящая стоит?
@user-of4hh9zq8l
@user-of4hh9zq8l 4 года назад
Можно попробовать заменить квадратные скобки на array, ну то есть вот так $query->execute(array(task' => $task));
@iphp
@iphp 2 года назад
Denwer не знает что такое PDO
@user-ds1op8ii4h
@user-ds1op8ii4h 5 лет назад
А трудно ли найти работу для программиста. И расскажи как ты стал программистом?
@voltwar62
@voltwar62 Год назад
Начал пдо изучать, посмотрел, делал все как Вы и не только, но у меня проблема была, мне возвращался ассоциативный массив, где название было неправильным, не как в таблице, а в таблице на русском все. В общем проблема с кодировкой утф8. Но решение нашел, в общем в само подключение нужно добавить автоотправление запроса при подключении такое и все стало работать, а то матерился не понимал че не работает new PDO('msql:host=localhost;dbname=name; ,' user', 'pass', array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES \' UTF8\'' ) )
@mikeglowe
@mikeglowe 4 месяца назад
Здравствуйте, подскажите пожалуйста как сделать отображение данных введенных на странице index.html (имя и телефон) на странице success.html либо success.php (страница благодарности), для того чтобы клиент мог проверить введенные им данные
@jolly_dev
@jolly_dev 5 лет назад
Помню, хотел создать список дел, написал свою социальную сеть.
@jolly_dev
@jolly_dev 5 лет назад
@@ArtemCherkassov Паш?
@ArtemCherkassov
@ArtemCherkassov 5 лет назад
@@jolly_dev ну типо Дуров, вроде же легко выкупить)
@jolly_dev
@jolly_dev 5 лет назад
@@ArtemCherkassov Ну, скажем так, в моем случае всё так и есть.
@jolly_dev
@jolly_dev 5 лет назад
@@meinleben4709 И?
@dmawzx
@dmawzx 4 года назад
Почему перестали пользоваться Денвером? Он всё? Да и phpMyAdmin уже как-то замечаю перестал быть в моде.
@orkoteg09
@orkoteg09 3 года назад
Денвер дано все... -> Open Server. на Маке он вроде MAMP использует. есть и Vagrant, Docker phpMyAdmin пользуются, да и MySQL Workbench никто не отменял...
@user-zt9wu8qr3t
@user-zt9wu8qr3t 2 года назад
Метод подключения не работает. Ладно нашел другой способ, исправил, работает, но теперь не работает добавление в БД. Не вижу смысла смотреть урок, потому все равно все приходится искать в интернете.
@androideasycoding
@androideasycoding 3 года назад
Отличный материал но с одним минусом. На главной выводит все записи, а должно выводить только записи которые были добавлены мною или одним пользователем
@artyRam
@artyRam 3 года назад
Всем привет. Подскажите, пожалуйста. У меня при нажатии на кнопку удалить, в URL подставляется не id=(1,2,3 и т.д), а id=%20(1,2,3 и т.д). То есть после id=, подставляется еще %20 зачем то. Я где то косякнул или так и должно быть ? о_О
@AViStudioMoldova
@AViStudioMoldova 2 года назад
%20 ato ne probel sluchaino?
@TheOrionMoran
@TheOrionMoran 4 года назад
Поставил бутстра и пошел писать в css все то что и так есть в бутстрапе XD
@victorponomarev2091
@victorponomarev2091 5 лет назад
Отличный урок! Но есть одно но... Получаю 2 ошибки даже с вашим проектом Notice: Undefined property: stdClass::$task in F:\PHP\PHP-express\UwAmp\www\index.php on line 25 Notice: Undefined property: stdClass::$id in F:\PHP\PHP-express\UwAmp\www\index.php on line 25 Не подскажите в чем дело?
@user-ji6mi5lc7s
@user-ji6mi5lc7s 3 года назад
привет из 2021) та же история ошибка))
@user-ie9vd8vj9g
@user-ie9vd8vj9g Год назад
привет из 2023) нужно показать сам код, может у вас ошибки потом будет видно,
@yosa9463
@yosa9463 5 лет назад
Сделай то же самое только с Node js и MongoDB
@iSergios
@iSergios 5 лет назад
А зачем Mongo? В чем профит?
@Vasya-pupkin482
@Vasya-pupkin482 5 лет назад
А как можно в исходниках указать пароль для подключения к bd не открытом виде, а в зашифрованном?
@AntonReut
@AntonReut 5 лет назад
А зачем? Он через браузер юзера не передается, поэтому его никто не перехватит. Пароль от БД летает только внутри веб-сервера.
@Vasya-pupkin482
@Vasya-pupkin482 5 лет назад
@@AntonReut это требование нашего sdlc.
@AntonReut
@AntonReut 5 лет назад
@@Vasya-pupkin482 Мне кажется это тогда надо работать на уровне веб-сервера (Апача например) чтобы он у себя в интерпретаторе расшифровывал пароль который к нему приходит тем методом которым он был зашифрован.
@ii3246
@ii3246 3 года назад
а в курсе, версия php какая? спасибо!
@user-io3nb5ve4v
@user-io3nb5ve4v 2 года назад
я думаю версия у него php на время записывания ролика, надо посмотреть какая в то время версия вышла и плюс минус та или предыдущая
@LoLikiLik
@LoLikiLik 5 лет назад
Георгий, можно узнать конфигурацию вашего ПК?
@nikvotpuske
@nikvotpuske 5 лет назад
У него MacBook
@LoLikiLik
@LoLikiLik 5 лет назад
ник в отпуске а какой именно?
@LoLikiLik
@LoLikiLik 5 лет назад
Alex Sorokin спасибо
@user-vh3uf4fn5x
@user-vh3uf4fn5x 4 года назад
Чувак, ты бы хоть видео правильно называл... ты берешь все поверхностно, а не про пдо рассказываешь
@alex_morano
@alex_morano 3 года назад
А если добавить больше текста в задание?!) Кнопка "Удалить " как себя вести будет?)))
@a1ieqa
@a1ieqa 3 года назад
Кнопка ‘удалить’ не будет ровной
@kilpopkil9853
@kilpopkil9853 5 лет назад
Ты самый лучший гений
@smd-.-1777
@smd-.-1777 5 лет назад
Он даун
@user-zt9wu8qr3t
@user-zt9wu8qr3t 2 года назад
The server requested authentication method unknown to the client
@derfic
@derfic 5 лет назад
Лучше переходить на mysqli с привычного mysql. Переход достаточно легкий
@padla6304
@padla6304 2 года назад
красные кнопки кривые их отвязать от текста надо и ровнять по правому краю
@user-ez8pt5bz2b
@user-ez8pt5bz2b 4 года назад
Привет
@alexanderskladovski
@alexanderskladovski 3 года назад
cargo cult
@user-ov3mr5tj1k
@user-ov3mr5tj1k 4 года назад
great было бы вести history вычеркнутых дел
@mityaneversky4247
@mityaneversky4247 5 лет назад
Помогите с установкой mysql, у меня всё тоже самое что и в этом вопросе: www.cyberforum.ru/windows8/thread2346708.html
@user-ji6mi5lc7s
@user-ji6mi5lc7s 3 года назад
выдает ошибку....все проверила 100500 раз. Подскажите пожалуйста что может быть не так. разница лишь в том, что у меня OpenServer Fatal error: Uncaught Error: Call to a member function fetch() on bool in D:\OpenServer\domains\mydoings\index.php:25 Stack trace: #0 {main} thrown in D:\OpenServer\domains\mydoings\index.php on line 25
@orkoteg09
@orkoteg09 3 года назад
$db = new PDO($dsn, $user, $pass, [PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION]); чтобы видет ошибку соединения с базой.
@topProgrammer
@topProgrammer 4 года назад
! Делюсь тестовыми заданиями на своём канале!
@millenial1584
@millenial1584 5 лет назад
Почему всегда идешь легким путем???!!! У тебя всего лишь одно поле в форме. Лучше сделал бы много полей и показал бы как нужно когда много полей!
@orkoteg09
@orkoteg09 3 года назад
ничем не отличается, когда много полей
@user-yw1fy4qb8u
@user-yw1fy4qb8u Год назад
Спасибо за видео, но именования неудачно подобраны, много путаницы для новичков. И для большего понимания лучше бы было добавлять записи в несколько столбцов таблицы. Так было бы понятнее для понимания
@Santiago-eg5uc
@Santiago-eg5uc 4 года назад
Учите MVC
@gravityarm9240
@gravityarm9240 5 лет назад
Гошка купи мне картошку
@user-bp3vb1os7l
@user-bp3vb1os7l 2 года назад
яБЛОЧНИК.... По теме.... кнопочка......
@noiseless6800
@noiseless6800 4 года назад
Ну если объективно то урок такой, хуй-муй... без обид. Я сначала ничего не понял. - Почему переменные так именуются dsn например? - Что возвращают функций prepare, execute? - Как дебажить или как заглянуть в PDO Обьект? Документация просвятила, хотя по PDO написано мягко не очень. Через примеры в доках только норм, понимание приходит. Но хотелось бы весь пакет в одном месте. Но лайк все равно проставил, не жалко. Но вопросов было много...
@maksinspire
@maksinspire 3 года назад
зря сделано на примере одного поля. есть проблемы при добавлении нескольких полей. Все добавлено через запятую, но данные не записываются, несмотря на то, что если оставлять одно поле, то все ок
@maksinspire
@maksinspire 3 года назад
удивительно, но внезапно кириллица стала в базу попадать в неверной кодировке. До этого пока выполнял урок, все было ок.
@faultline8414
@faultline8414 2 года назад
В базу возвращается пустое значение и все. Перепроверил уже все что можно
@shpioner42
@shpioner42 3 года назад
У кого в БД прилетают каркозябры добавте кодировку $dsn = 'mysql:host=localhost; dbname=pdo; charset=utf8';
@maksinspire
@maksinspire 3 года назад
не работает... пробовал
@oljakiwi956
@oljakiwi956 2 года назад
Никакой синхронизации тут и близко нет!
@kiselkisel3463
@kiselkisel3463 5 лет назад
Очередной Юзлес урок
@iMarkusUS
@iMarkusUS 3 года назад
Давно следует писать с использованием api json что вы все гоняете бедный php на генерацию
@AntonReut
@AntonReut 5 лет назад
Хороший урок но только для тех кто уже знает азы php, чтобы не пояснять что такое переменные, конкатенация и прочее.
@user-no3rr2wk2g
@user-no3rr2wk2g 5 лет назад
Вроде довольно простыми словами говорится, и приятно смотреть, но 50 минут...не лучше ли было на 2-3 видео разбить (или хотя бы поставить тайм-коды)? Например: 1) Создаем БД и соединяемся с MySQL (для совсем начинающих) 2) Серверная часть (БД и обработка запросов в PHP) 3) Клиентская часть (HTML, CSS) Думаю, очень многим зрителям полезна только часть видео
@user-sr1sm2rx9m
@user-sr1sm2rx9m 5 лет назад
добавил бы тайм коды раз начал расписывать xD
@m.protasevich
@m.protasevich 5 лет назад
ORM проще
@catsapp
@catsapp 4 года назад
раскажи
@user-nk8wq4sx1x
@user-nk8wq4sx1x 4 года назад
Бро, ненужно в начале рассказывать основы основ, лучше для этого выпустить отдельный ролик и посылать туда безграмотных, ну а в видео по теме, сразу к сути переходи.
@bmjust1021
@bmjust1021 4 года назад
у тебя в видео слишком много воды
@ltmte
@ltmte 3 года назад
"Здесь низкие тарифы..." :D А может ЦЕНЫ?
@orkoteg09
@orkoteg09 3 года назад
Тариф - это ставка за услугу. низка ставка. низкий тариф. Чем отличается цена от тарифа на обычный товар? Тем, что тарифы устанавливаются на услуги, а не материальное изделие .
@ltmte
@ltmte 3 года назад
@@orkoteg09 понял
@oleksiilobodiev9446
@oleksiilobodiev9446 5 лет назад
Привет
Далее
WHY THROW CHIPS IN THE TRASH?🤪
00:18
Просмотров 4,7 млн
Добро пожаловать в C++
16:08
Просмотров 442 тыс.