Game Dev флудилка
Вы хотите отреагировать на этот пост ? Создайте аккаунт всего в несколько кликов или войдите на форум.

Вопросы нуба про php и mysql

Участников: 3

Страница 1 из 10 1, 2, 3, 4, 5, 6, 7, 8, 9, 10  Следующий

Перейти вниз

Вопросы нуба про php и mysql Empty Вопросы нуба про php и mysql

Сообщение автор raingo Сб Янв 20, 2018 3:10 pm

Изучаю php. Не очень нравится, если честно =( Ибо желания сидеть досканально изучать каждый аспект нет, а знаний сразу идти и делать не хватает. Надеюсь поможете с нубскими вопросами.

Очень нубский вопрос, насколько уместно юзать одну бд для всего на сайте? Насколько mysql тормазит из-за объема данных в ней? Это вообще нормальная практика?

raingo
Отдел прокрастинации

Сообщения : 756
Дата регистрации : 2017-12-25

Вернуться к началу Перейти вниз

Вопросы нуба про php и mysql Empty Re: Вопросы нуба про php и mysql

Сообщение автор raingo Сб Янв 20, 2018 4:19 pm

Расширения для работы с curl или json надо устанавливать? Или они уже типа встроены?

raingo
Отдел прокрастинации

Сообщения : 756
Дата регистрации : 2017-12-25

Вернуться к началу Перейти вниз

Вопросы нуба про php и mysql Empty Re: Вопросы нуба про php и mysql

Сообщение автор raingo Сб Янв 20, 2018 4:48 pm

Читаю и нихера не могу понять. Вот так составлять запросы к бд плохая затея? Из-за sql-иньекций. А как экранирование сделать я чето не могу понять.
Код:
$query = "SELECT * FROM `".$table."` WHERE ".$id." "; //$table и $id - переменные получаемые из запроса

raingo
Отдел прокрастинации

Сообщения : 756
Дата регистрации : 2017-12-25

Вернуться к началу Перейти вниз

Вопросы нуба про php и mysql Empty Re: Вопросы нуба про php и mysql

Сообщение автор raingo Сб Янв 20, 2018 5:58 pm

Только выучил работу с бд. Как оказывается надо изучать какой-то pdo.
Чем плохо экранирование через:
Код:
mysql_real_escape_string
Почему мне обязательно нужен pdo? Где в сети ответ?

raingo
Отдел прокрастинации

Сообщения : 756
Дата регистрации : 2017-12-25

Вернуться к началу Перейти вниз

Вопросы нуба про php и mysql Empty Re: Вопросы нуба про php и mysql

Сообщение автор Pyro338 Сб Янв 20, 2018 6:34 pm

насколько уместно юзать одну бд для всего на сайте
вполне уместно. практически везде так и делается. даже огромнейшие БД он-лайн магазинов на Битриксе - и те юзают одну БД

Расширения для работы с curl или json надо устанавливать? Или они уже типа встроены?
бывают встроены, бывают нет. надо смотреть - какая у тебя версия ПХП и какие там модули с ней идут. курл чаще всего отдельно ставится если ты на голом пхп пишешь без фреймворков и цмс

Чем плохо экранирование через:
умные люди в интернетах пишут, что такое экранирование можно обойти

Почему мне обязательно нужен pdo
пдо помогает тебе не париться о всяких экранированиях, инъекциях и прочем дерьме. на самом деле достаточно удобная и полезная штука.

Почему стоит пользоваться PDO для работы с базой данных
Pyro338
Pyro338
Админ

Сообщения : 587
Дата регистрации : 2017-12-25
Возраст : 38
Откуда : Ставрополь

http://pyro338.ru/

Вернуться к началу Перейти вниз

Вопросы нуба про php и mysql Empty Re: Вопросы нуба про php и mysql

Сообщение автор raingo Сб Янв 20, 2018 6:56 pm

Благодарю преогромнейше. Очень помог!

raingo
Отдел прокрастинации

Сообщения : 756
Дата регистрации : 2017-12-25

Вернуться к началу Перейти вниз

Вопросы нуба про php и mysql Empty Re: Вопросы нуба про php и mysql

Сообщение автор raingo Вс Янв 21, 2018 2:24 am

В js можно сделать массив функций. И вызывать функции из массива. Догадываюсь, что в php это нереально.

Нужно заменить свитч-кейс на массив функций или его аналог.
Код:
<?php
$method = $_SERVER['REQUEST_METHOD'];
switch ($method) {
  case 'GET':
    //Here Handle GET Request
    break;
  case 'POST':
    //Here Handle POST Request
    break;
  case 'DELETE':
    //Here Handle DELETE Request
    break;
  case 'PUT':
    //Here Handle PUT Request
    break;
}
?>
Пока вижу только такую возможность: создать ассоциативный массив объектов. В ключи ассоциативного массива подставлять $method и вызывать функцию объекта. А так как массив может быть только объектов одинакового класса надо реализовывать паттерн фабрика. Делал такое в джаве, теперь надо понять, как в пхп.

Нашел в сети, ниче не понял, но пусть будет.
Код:
//массив объектов одного класса
class Apple {
    static $apples;
}
 
Apple::$apples = array(new Apple(...), ...);
Но возможно есть более простой способ. Надо бы покумекать.

raingo
Отдел прокрастинации

Сообщения : 756
Дата регистрации : 2017-12-25

Вернуться к началу Перейти вниз

Вопросы нуба про php и mysql Empty Re: Вопросы нуба про php и mysql

Сообщение автор raingo Вс Янв 21, 2018 2:35 am

Вроде все проще. Php таки радует местами. Завтра опробую.
Код:
$arr = array(new OneClass(), new TwoClass(), new ThreeClass());

А вот оказывается php умеет как и js сохранять ссылки на функции. Удивительно, этот php не так плох, как я о нем думал. мануал

raingo
Отдел прокрастинации

Сообщения : 756
Дата регистрации : 2017-12-25

Вернуться к началу Перейти вниз

Вопросы нуба про php и mysql Empty Re: Вопросы нуба про php и mysql

Сообщение автор raingo Вс Янв 21, 2018 3:27 am


raingo
Отдел прокрастинации

Сообщения : 756
Дата регистрации : 2017-12-25

Вернуться к началу Перейти вниз

Вопросы нуба про php и mysql Empty Re: Вопросы нуба про php и mysql

Сообщение автор Pyro338 Вс Янв 21, 2018 11:31 am

Благодарю преогромнейше. Очень помог!
надеюсь это был не сарказм?

Но возможно есть более простой способ.
это нормальный способ. все так делают.

замутил Стэковерфлоу
сам играю сам пою сам билеты продаю ггг
Pyro338
Pyro338
Админ

Сообщения : 587
Дата регистрации : 2017-12-25
Возраст : 38
Откуда : Ставрополь

http://pyro338.ru/

Вернуться к началу Перейти вниз

Вопросы нуба про php и mysql Empty Re: Вопросы нуба про php и mysql

Сообщение автор raingo Вс Янв 21, 2018 1:26 pm

надеюсь это был не сарказм?
Что-то со моей репутацией не так. Раз уж люди всюду видят сарказм. Ты реально помог. Меня архитектурные проблемы и проблема выбора инструментов, библиотек и т.п. очень сбивают с толку. Я собсно поэтому и прокрастинирую. Потому что не уверен в правильном выборе.

сам играю сам пою сам билеты продаю ггг
Оказывается опыт кодинга из других языков чутка быстрее переносится. Мне надо задавать более абстрактные вопросы. Т.к. философию php и всякие тонкости пока не уловил. Ну типа культурный шок возникает, когда оказывается что переменные внутри функций php все локальные по дефолту. Для глобальных надо прописывать отдельной строчкой.

Или вот, что такое echo? "Вывод текста". Ну ок. А куда выводится текст и откуда? И зачем вообще давать такое определение новичку, он только запутается. Сейчас то уже понял что и откуда, но это звдц местами.

raingo
Отдел прокрастинации

Сообщения : 756
Дата регистрации : 2017-12-25

Вернуться к началу Перейти вниз

Вопросы нуба про php и mysql Empty Re: Вопросы нуба про php и mysql

Сообщение автор Pyro338 Вс Янв 21, 2018 2:19 pm

Что-то со моей репутацией не так.
ну ты сам создал себе такой образ))

казывается опыт кодинга из других языков чутка быстрее переносится. Мне надо задавать более абстрактные вопросы. Т.к. философию php и всякие тонкости пока не уловил.
я тебе открою одну страшную тайну: если ты знаешь один язык программирования || имеешь алгоритмическое мышление, ты сможешь выучить любой другой язык программирования. пушто алгоритмы везде одни и те же. отличается только синтаксис и набор базовых функций ввода-вывода.

когда я, зная пхп, начал учить джаваскрипт, я охуел, насколько там все одинаково.

Или вот, что такое echo? "Вывод текста". Ну ок. А куда выводится текст и откуда? И зачем вообще давать такое определение новичку, он только запутается. Сейчас то уже понял что и откуда, но это звдц местами.

echo() это аналог printf() из Си. ты выводишь текст куда-то. например если в index.php ты пишешь

Код:

<?php
    $text = 'text';
?>
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
</head>
<body>
    <?php echo($text) ?>
</body>
</html>

то браузер выдаст

Код:
text

или если ты например посылаешь GET запрос, то <?php echo($text) ?> пришлет тебе
Код:
text
в реквесте
Pyro338
Pyro338
Админ

Сообщения : 587
Дата регистрации : 2017-12-25
Возраст : 38
Откуда : Ставрополь

http://pyro338.ru/

Вернуться к началу Перейти вниз

Вопросы нуба про php и mysql Empty Re: Вопросы нуба про php и mysql

Сообщение автор raingo Сб Мар 24, 2018 8:11 pm

Короч с тем вопросом разобрался. Появился следующий. Как сделать две версии сайта? Версия для админов и версия для обычных юзеров. Инструментарий: чистый пхп и vue.js. Роутинг на клиенте.

Чето туплю, должно быть просто, но в голове как-то не укладывается, с чего начать. Сайт простой, все компоненты (вьюхи) лежат в index.php. Без всяких динамических подгрузок и прочей лабуды.

При входе в учетку клиент сверяется с бд, и если юзер - админ, то появляется кнопка: переключится на вид администратора/ переключится на вид юзера. Нажимаем на кнопку и в клиент подается версия для админа (для юзера).

Вот в этом месте не могу понять. У меня же роутинг на клиенте. Скрипт перехватывает все события нажатия кнопок. И отправляет на сервер программируемый http-запрос. А получает в ответ json. Обрабатывает json и вставляет в страничку.

Т.е. если я даже с сервера на клиент отправлю страничку для админов, то клиент не перезагрузится и не откроет эту страничку. Мне придется в коде все вьюхи спрятать, потом как-то замутить свою динамическую подзагрузку (тут тонкости, надо, например, убедиться, что обычный юзер никогда не получит эту версию). Полученные вьюхи для админа вставить вместо обычных. Или для каждого роута (для каждой страницы) дописывать дополнительный параметр (типа, /serials&admin).


Последний раз редактировалось: raingo (Сб Мар 24, 2018 8:16 pm), всего редактировалось 2 раз(а)

raingo
Отдел прокрастинации

Сообщения : 756
Дата регистрации : 2017-12-25

Вернуться к началу Перейти вниз

Вопросы нуба про php и mysql Empty Re: Вопросы нуба про php и mysql

Сообщение автор raingo Сб Мар 24, 2018 8:11 pm

Блеять, как же я отупел, это пздц. Простой вопрос не могу сформулировать. Да и простую задачу не могу решить.

raingo
Отдел прокрастинации

Сообщения : 756
Дата регистрации : 2017-12-25

Вернуться к началу Перейти вниз

Вопросы нуба про php и mysql Empty Re: Вопросы нуба про php и mysql

Сообщение автор raingo Сб Мар 24, 2018 8:21 pm

В общем, весь сайт лежит в index.php и app.js. Нужно, чтобы для админов отдавался index2.php и app2.js.

Но роутов всяких штук 10. Пока вижу только варик для админов сделать дополнительные 10 роутов. И каждый раз при открытии новой странички проверять на наличии прав на эту страничку. А вьюхи (компоненты, части страничек) для админов загружать динамически. Что не айс, ведь проще сделать index2.php.

raingo
Отдел прокрастинации

Сообщения : 756
Дата регистрации : 2017-12-25

Вернуться к началу Перейти вниз

Вопросы нуба про php и mysql Empty Re: Вопросы нуба про php и mysql

Сообщение автор Dessan Вс Мар 25, 2018 12:48 pm

Так скажи своим админам , чтоб заходили вручную сразу на твой index2.php, который будет подгружать им app2.js. Пусть в адресной строке сразу пишут админский url, вводят там свои админские логины, пароли а дальше авторедирект на сайт с нужными правами уже. А все остальные будут знать основной url только и заходить как обычные юзеры.

Dessan
Юный падаван

Сообщения : 426
Дата регистрации : 2017-12-25

Вернуться к началу Перейти вниз

Вопросы нуба про php и mysql Empty Re: Вопросы нуба про php и mysql

Сообщение автор raingo Вс Мар 25, 2018 1:20 pm

Да ну это не идеальное решение. Например, нельзя будет кидать ссылка админам, например, /serials/gotem?2&3. Ибо это ссылка на клиентскую версию. На сайт в админу придется каждый раз заходить только через index2.php и только потом через поиск и навигацию на нужную страницу.

raingo
Отдел прокрастинации

Сообщения : 756
Дата регистрации : 2017-12-25

Вернуться к началу Перейти вниз

Вопросы нуба про php и mysql Empty Re: Вопросы нуба про php и mysql

Сообщение автор Dessan Вс Мар 25, 2018 1:40 pm

интересная тема, не задумывался про админ права для сайта. Я так понимаю ты форум хочешь создать и сайт? Зачем админ права для сайта? И как на этом форуме админ права реализованы?

Dessan
Юный падаван

Сообщения : 426
Дата регистрации : 2017-12-25

Вернуться к началу Перейти вниз

Вопросы нуба про php и mysql Empty Re: Вопросы нуба про php и mysql

Сообщение автор Dessan Вс Мар 25, 2018 1:43 pm

И можно узнать почему php а не обычный html c js и php?

Dessan
Юный падаван

Сообщения : 426
Дата регистрации : 2017-12-25

Вернуться к началу Перейти вниз

Вопросы нуба про php и mysql Empty Re: Вопросы нуба про php и mysql

Сообщение автор raingo Вс Мар 25, 2018 2:28 pm

и php и js конеш. Но с js у меня проблем нет)) А php трудноват для изучения. Галимое api, несуразные способы решения задачи. Типа параметры запроса get и post можно получать из глобальных переменных. А параметры put delete - хyй пойми как. json хyй пойми как декодировать, раскодировать по сто раз, чтобы прочитать. Пздц на каждом шагу. Подозреваю, что в laravel эти проблемы решены. Но чистый php напрягает.

Сайт - киносайт. С сериалами.

raingo
Отдел прокрастинации

Сообщения : 756
Дата регистрации : 2017-12-25

Вернуться к началу Перейти вниз

Вопросы нуба про php и mysql Empty Re: Вопросы нуба про php и mysql

Сообщение автор raingo Вс Мар 25, 2018 2:29 pm

У нас же в рф киносайты как грибы растут. А их как грибы по осени собирают. Роскомнадзор все подряд запрещает.

raingo
Отдел прокрастинации

Сообщения : 756
Дата регистрации : 2017-12-25

Вернуться к началу Перейти вниз

Вопросы нуба про php и mysql Empty Re: Вопросы нуба про php и mysql

Сообщение автор Dessan Вс Мар 25, 2018 2:44 pm

и зачем тебе делать сайт, который запретят?И где ты будешь хранить терабайты сериалов и фильмов этих? Разве что тебе для практики - это другое дело.
get и post ты отправляешь вместе с данными, которые нужно обработать, а php обрабатывает и отправляет результат обратно. Мы так с pyro переводчик делали встроенный. Всё это можно навесить как расширение в браузере пользователя для любой страницы. А все эти json имеют стандартную структуру, у Гоши Дударя есть видео на эту тему и всё понятно рассказывает, там же и php у него и БД и всё это он компонует в одно с примерами.

Dessan
Юный падаван

Сообщения : 426
Дата регистрации : 2017-12-25

Вернуться к началу Перейти вниз

Вопросы нуба про php и mysql Empty Re: Вопросы нуба про php и mysql

Сообщение автор raingo Вс Мар 25, 2018 3:14 pm

у php нет логики, последовательности. Иногда говорят про магию php. Подразумевая, что непонятно почему что-то работает именно таким образом. Я пока магию не встречал, но несуразности отмечаю.

Если бы не фреймворки типа уии и ларавеля, пхп давно бы загнулся. Даже дешевизна хостингов и повсеместность пхп не спасла бы.

дессан пишет:и зачем тебе делать сайт, который запретят?
Ты уверен, что мой сайт дорастет до той велечины, чтобы его заметил РКН? Если дорастет - то круто. Значит бабла успею добыть. А вообще практики мне реально не хватает.

raingo
Отдел прокрастинации

Сообщения : 756
Дата регистрации : 2017-12-25

Вернуться к началу Перейти вниз

Вопросы нуба про php и mysql Empty Re: Вопросы нуба про php и mysql

Сообщение автор Pyro338 Пн Мар 26, 2018 9:33 am

if($user->isAdmin()){
redirect()->route('admin');
}
Pyro338
Pyro338
Админ

Сообщения : 587
Дата регистрации : 2017-12-25
Возраст : 38
Откуда : Ставрополь

http://pyro338.ru/

Вернуться к началу Перейти вниз

Вопросы нуба про php и mysql Empty Re: Вопросы нуба про php и mysql

Сообщение автор raingo Пн Мар 26, 2018 12:54 pm

Это ведь не чистый пхп?

В чистом пхп вроде редикт делается командой header(). Придумал решение. Создаем api.php с функцией setAdminView(currentRoute). Когда нажимаем кнопку в браузере - "включить админку" она вызывает эту функцию с текущим маршрутом (например, kinobook.su/serials/vo-vse-tyajkie/2seria).

Функция setAdminView() редиктит на index.php, что по идее перезагружает весь клиент.

Если до этого я отдавал index.html, то теперь это index.php. В идекс.пхп имеется две версии клиента, для обычных юзеров и для админов. Ну тупо:
Код:
if($user->isAdmin()){
отдать версию для админов;
}else{
отдать версию для клиентов}
Вот здесь нужно написать свой шаблонизатор. Но и это еще не все. Ведь с какой бы странички сайта мы не включили админку, у нас всегда будет редиктить на index.php. Поэтому в индекс.пхп мы отдаем роут полученный из setAdminView("kinobook.su/serials/vo-vse-tyajkie/2seria").

Индекс.пхп каким-то образом передает этот роут клиенту в файл api.js. И клиент автоматически маршрутизирует на "kinobook.su/serials/vo-vse-tyajkie/2seria", но уже с видом для админа.


Вот, что я не могу понять. У меня spa. Весь сайт в index.php. Но когда я с браузера ввожу сразу строку "kinobook.su/serials/vo-vse-tyajkie/2seria", как он понимает, какую страницу надо открыть. Т.е. браузер все-таки открывает index.php, а клиент сам выстраивает маршрут?

raingo
Отдел прокрастинации

Сообщения : 756
Дата регистрации : 2017-12-25

Вернуться к началу Перейти вниз

Страница 1 из 10 1, 2, 3, 4, 5, 6, 7, 8, 9, 10  Следующий

Вернуться к началу

- Похожие темы

 
Права доступа к этому форуму:
Вы не можете отвечать на сообщения