Вопросы нуба про php и mysql
Участников: 3
Страница 1 из 10
Страница 1 из 10 • 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
Вопросы нуба про php и mysql
Изучаю php. Не очень нравится, если честно =( Ибо желания сидеть досканально изучать каждый аспект нет, а знаний сразу идти и делать не хватает. Надеюсь поможете с нубскими вопросами.
Очень нубский вопрос, насколько уместно юзать одну бд для всего на сайте? Насколько mysql тормазит из-за объема данных в ней? Это вообще нормальная практика?
Очень нубский вопрос, насколько уместно юзать одну бд для всего на сайте? Насколько mysql тормазит из-за объема данных в ней? Это вообще нормальная практика?
raingo- Отдел прокрастинации
- Сообщения : 756
Дата регистрации : 2017-12-25
Re: Вопросы нуба про php и mysql
Расширения для работы с curl или json надо устанавливать? Или они уже типа встроены?
raingo- Отдел прокрастинации
- Сообщения : 756
Дата регистрации : 2017-12-25
Re: Вопросы нуба про php и mysql
Читаю и нихера не могу понять. Вот так составлять запросы к бд плохая затея? Из-за sql-иньекций. А как экранирование сделать я чето не могу понять.
- Код:
$query = "SELECT * FROM `".$table."` WHERE ".$id." "; //$table и $id - переменные получаемые из запроса
raingo- Отдел прокрастинации
- Сообщения : 756
Дата регистрации : 2017-12-25
Re: Вопросы нуба про php и mysql
Только выучил работу с бд. Как оказывается надо изучать какой-то pdo.
Чем плохо экранирование через:
Чем плохо экранирование через:
- Код:
mysql_real_escape_string
raingo- Отдел прокрастинации
- Сообщения : 756
Дата регистрации : 2017-12-25
Re: Вопросы нуба про php и mysql
вполне уместно. практически везде так и делается. даже огромнейшие БД он-лайн магазинов на Битриксе - и те юзают одну БДнасколько уместно юзать одну бд для всего на сайте
бывают встроены, бывают нет. надо смотреть - какая у тебя версия ПХП и какие там модули с ней идут. курл чаще всего отдельно ставится если ты на голом пхп пишешь без фреймворков и цмсРасширения для работы с curl или json надо устанавливать? Или они уже типа встроены?
умные люди в интернетах пишут, что такое экранирование можно обойтиЧем плохо экранирование через:
пдо помогает тебе не париться о всяких экранированиях, инъекциях и прочем дерьме. на самом деле достаточно удобная и полезная штука.Почему мне обязательно нужен pdo
Почему стоит пользоваться PDO для работы с базой данных
Re: Вопросы нуба про php и mysql
Благодарю преогромнейше. Очень помог!
raingo- Отдел прокрастинации
- Сообщения : 756
Дата регистрации : 2017-12-25
Re: Вопросы нуба про php и mysql
В 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;
}
?>
Нашел в сети, ниче не понял, но пусть будет.
- Код:
//массив объектов одного класса
class Apple {
static $apples;
}
Apple::$apples = array(new Apple(...), ...);
raingo- Отдел прокрастинации
- Сообщения : 756
Дата регистрации : 2017-12-25
Re: Вопросы нуба про php и mysql
Вроде все проще. Php таки радует местами. Завтра опробую.
А вот оказывается php умеет как и js сохранять ссылки на функции. Удивительно, этот php не так плох, как я о нем думал. мануал
- Код:
$arr = array(new OneClass(), new TwoClass(), new ThreeClass());
А вот оказывается php умеет как и js сохранять ссылки на функции. Удивительно, этот php не так плох, как я о нем думал. мануал
raingo- Отдел прокрастинации
- Сообщения : 756
Дата регистрации : 2017-12-25
raingo- Отдел прокрастинации
- Сообщения : 756
Дата регистрации : 2017-12-25
Re: Вопросы нуба про php и mysql
надеюсь это был не сарказм?Благодарю преогромнейше. Очень помог!
это нормальный способ. все так делают.Но возможно есть более простой способ.
сам играю сам пою сам билеты продаю гггзамутил Стэковерфлоу
Re: Вопросы нуба про php и mysql
Что-то со моей репутацией не так. Раз уж люди всюду видят сарказм. Ты реально помог. Меня архитектурные проблемы и проблема выбора инструментов, библиотек и т.п. очень сбивают с толку. Я собсно поэтому и прокрастинирую. Потому что не уверен в правильном выборе.надеюсь это был не сарказм?
Оказывается опыт кодинга из других языков чутка быстрее переносится. Мне надо задавать более абстрактные вопросы. Т.к. философию php и всякие тонкости пока не уловил. Ну типа культурный шок возникает, когда оказывается что переменные внутри функций php все локальные по дефолту. Для глобальных надо прописывать отдельной строчкой.сам играю сам пою сам билеты продаю ггг
Или вот, что такое echo? "Вывод текста". Ну ок. А куда выводится текст и откуда? И зачем вообще давать такое определение новичку, он только запутается. Сейчас то уже понял что и откуда, но это звдц местами.
raingo- Отдел прокрастинации
- Сообщения : 756
Дата регистрации : 2017-12-25
Re: Вопросы нуба про php и mysql
ну ты сам создал себе такой образ))Что-то со моей репутацией не так.
я тебе открою одну страшную тайну: если ты знаешь один язык программирования || имеешь алгоритмическое мышление, ты сможешь выучить любой другой язык программирования. пушто алгоритмы везде одни и те же. отличается только синтаксис и набор базовых функций ввода-вывода.казывается опыт кодинга из других языков чутка быстрее переносится. Мне надо задавать более абстрактные вопросы. Т.к. философию 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
Re: Вопросы нуба про php и mysql
Короч с тем вопросом разобрался. Появился следующий. Как сделать две версии сайта? Версия для админов и версия для обычных юзеров. Инструментарий: чистый пхп и vue.js. Роутинг на клиенте.
Чето туплю, должно быть просто, но в голове как-то не укладывается, с чего начать. Сайт простой, все компоненты (вьюхи) лежат в index.php. Без всяких динамических подгрузок и прочей лабуды.
При входе в учетку клиент сверяется с бд, и если юзер - админ, то появляется кнопка: переключится на вид администратора/ переключится на вид юзера. Нажимаем на кнопку и в клиент подается версия для админа (для юзера).
Вот в этом месте не могу понять. У меня же роутинг на клиенте. Скрипт перехватывает все события нажатия кнопок. И отправляет на сервер программируемый http-запрос. А получает в ответ json. Обрабатывает json и вставляет в страничку.
Т.е. если я даже с сервера на клиент отправлю страничку для админов, то клиент не перезагрузится и не откроет эту страничку. Мне придется в коде все вьюхи спрятать, потом как-то замутить свою динамическую подзагрузку (тут тонкости, надо, например, убедиться, что обычный юзер никогда не получит эту версию). Полученные вьюхи для админа вставить вместо обычных. Или для каждого роута (для каждой страницы) дописывать дополнительный параметр (типа, /serials&admin).
Чето туплю, должно быть просто, но в голове как-то не укладывается, с чего начать. Сайт простой, все компоненты (вьюхи) лежат в index.php. Без всяких динамических подгрузок и прочей лабуды.
При входе в учетку клиент сверяется с бд, и если юзер - админ, то появляется кнопка: переключится на вид администратора/ переключится на вид юзера. Нажимаем на кнопку и в клиент подается версия для админа (для юзера).
Вот в этом месте не могу понять. У меня же роутинг на клиенте. Скрипт перехватывает все события нажатия кнопок. И отправляет на сервер программируемый http-запрос. А получает в ответ json. Обрабатывает json и вставляет в страничку.
Т.е. если я даже с сервера на клиент отправлю страничку для админов, то клиент не перезагрузится и не откроет эту страничку. Мне придется в коде все вьюхи спрятать, потом как-то замутить свою динамическую подзагрузку (тут тонкости, надо, например, убедиться, что обычный юзер никогда не получит эту версию). Полученные вьюхи для админа вставить вместо обычных. Или для каждого роута (для каждой страницы) дописывать дополнительный параметр (типа, /serials&admin).
Последний раз редактировалось: raingo (Сб Мар 24, 2018 8:16 pm), всего редактировалось 2 раз(а)
raingo- Отдел прокрастинации
- Сообщения : 756
Дата регистрации : 2017-12-25
Re: Вопросы нуба про php и mysql
Блеять, как же я отупел, это пздц. Простой вопрос не могу сформулировать. Да и простую задачу не могу решить.
raingo- Отдел прокрастинации
- Сообщения : 756
Дата регистрации : 2017-12-25
Re: Вопросы нуба про php и mysql
В общем, весь сайт лежит в index.php и app.js. Нужно, чтобы для админов отдавался index2.php и app2.js.
Но роутов всяких штук 10. Пока вижу только варик для админов сделать дополнительные 10 роутов. И каждый раз при открытии новой странички проверять на наличии прав на эту страничку. А вьюхи (компоненты, части страничек) для админов загружать динамически. Что не айс, ведь проще сделать index2.php.
Но роутов всяких штук 10. Пока вижу только варик для админов сделать дополнительные 10 роутов. И каждый раз при открытии новой странички проверять на наличии прав на эту страничку. А вьюхи (компоненты, части страничек) для админов загружать динамически. Что не айс, ведь проще сделать index2.php.
raingo- Отдел прокрастинации
- Сообщения : 756
Дата регистрации : 2017-12-25
Re: Вопросы нуба про php и mysql
Так скажи своим админам , чтоб заходили вручную сразу на твой index2.php, который будет подгружать им app2.js. Пусть в адресной строке сразу пишут админский url, вводят там свои админские логины, пароли а дальше авторедирект на сайт с нужными правами уже. А все остальные будут знать основной url только и заходить как обычные юзеры.
Dessan- Юный падаван
- Сообщения : 426
Дата регистрации : 2017-12-25
Re: Вопросы нуба про php и mysql
Да ну это не идеальное решение. Например, нельзя будет кидать ссылка админам, например, /serials/gotem?2&3. Ибо это ссылка на клиентскую версию. На сайт в админу придется каждый раз заходить только через index2.php и только потом через поиск и навигацию на нужную страницу.
raingo- Отдел прокрастинации
- Сообщения : 756
Дата регистрации : 2017-12-25
Re: Вопросы нуба про php и mysql
интересная тема, не задумывался про админ права для сайта. Я так понимаю ты форум хочешь создать и сайт? Зачем админ права для сайта? И как на этом форуме админ права реализованы?
Dessan- Юный падаван
- Сообщения : 426
Дата регистрации : 2017-12-25
Re: Вопросы нуба про php и mysql
И можно узнать почему php а не обычный html c js и php?
Dessan- Юный падаван
- Сообщения : 426
Дата регистрации : 2017-12-25
Re: Вопросы нуба про php и mysql
и php и js конеш. Но с js у меня проблем нет)) А php трудноват для изучения. Галимое api, несуразные способы решения задачи. Типа параметры запроса get и post можно получать из глобальных переменных. А параметры put delete - хyй пойми как. json хyй пойми как декодировать, раскодировать по сто раз, чтобы прочитать. Пздц на каждом шагу. Подозреваю, что в laravel эти проблемы решены. Но чистый php напрягает.
Сайт - киносайт. С сериалами.
Сайт - киносайт. С сериалами.
raingo- Отдел прокрастинации
- Сообщения : 756
Дата регистрации : 2017-12-25
Re: Вопросы нуба про php и mysql
У нас же в рф киносайты как грибы растут. А их как грибы по осени собирают. Роскомнадзор все подряд запрещает.
raingo- Отдел прокрастинации
- Сообщения : 756
Дата регистрации : 2017-12-25
Re: Вопросы нуба про php и mysql
и зачем тебе делать сайт, который запретят?И где ты будешь хранить терабайты сериалов и фильмов этих? Разве что тебе для практики - это другое дело.
get и post ты отправляешь вместе с данными, которые нужно обработать, а php обрабатывает и отправляет результат обратно. Мы так с pyro переводчик делали встроенный. Всё это можно навесить как расширение в браузере пользователя для любой страницы. А все эти json имеют стандартную структуру, у Гоши Дударя есть видео на эту тему и всё понятно рассказывает, там же и php у него и БД и всё это он компонует в одно с примерами.
get и post ты отправляешь вместе с данными, которые нужно обработать, а php обрабатывает и отправляет результат обратно. Мы так с pyro переводчик делали встроенный. Всё это можно навесить как расширение в браузере пользователя для любой страницы. А все эти json имеют стандартную структуру, у Гоши Дударя есть видео на эту тему и всё понятно рассказывает, там же и php у него и БД и всё это он компонует в одно с примерами.
Dessan- Юный падаван
- Сообщения : 426
Дата регистрации : 2017-12-25
Re: Вопросы нуба про php и mysql
у php нет логики, последовательности. Иногда говорят про магию php. Подразумевая, что непонятно почему что-то работает именно таким образом. Я пока магию не встречал, но несуразности отмечаю.
Если бы не фреймворки типа уии и ларавеля, пхп давно бы загнулся. Даже дешевизна хостингов и повсеместность пхп не спасла бы.
Если бы не фреймворки типа уии и ларавеля, пхп давно бы загнулся. Даже дешевизна хостингов и повсеместность пхп не спасла бы.
Ты уверен, что мой сайт дорастет до той велечины, чтобы его заметил РКН? Если дорастет - то круто. Значит бабла успею добыть. А вообще практики мне реально не хватает.дессан пишет:и зачем тебе делать сайт, который запретят?
raingo- Отдел прокрастинации
- Сообщения : 756
Дата регистрации : 2017-12-25
Re: Вопросы нуба про php и mysql
Это ведь не чистый пхп?
В чистом пхп вроде редикт делается командой header(). Придумал решение. Создаем api.php с функцией setAdminView(currentRoute). Когда нажимаем кнопку в браузере - "включить админку" она вызывает эту функцию с текущим маршрутом (например, kinobook.su/serials/vo-vse-tyajkie/2seria).
Функция setAdminView() редиктит на index.php, что по идее перезагружает весь клиент.
Если до этого я отдавал index.html, то теперь это index.php. В идекс.пхп имеется две версии клиента, для обычных юзеров и для админов. Ну тупо:
Индекс.пхп каким-то образом передает этот роут клиенту в файл api.js. И клиент автоматически маршрутизирует на "kinobook.su/serials/vo-vse-tyajkie/2seria", но уже с видом для админа.
Вот, что я не могу понять. У меня spa. Весь сайт в index.php. Но когда я с браузера ввожу сразу строку "kinobook.su/serials/vo-vse-tyajkie/2seria", как он понимает, какую страницу надо открыть. Т.е. браузер все-таки открывает index.php, а клиент сам выстраивает маршрут?
В чистом пхп вроде редикт делается командой header(). Придумал решение. Создаем api.php с функцией setAdminView(currentRoute). Когда нажимаем кнопку в браузере - "включить админку" она вызывает эту функцию с текущим маршрутом (например, kinobook.su/serials/vo-vse-tyajkie/2seria).
Функция setAdminView() редиктит на index.php, что по идее перезагружает весь клиент.
Если до этого я отдавал index.html, то теперь это index.php. В идекс.пхп имеется две версии клиента, для обычных юзеров и для админов. Ну тупо:
- Код:
if($user->isAdmin()){
отдать версию для админов;
}else{
отдать версию для клиентов}
Индекс.пхп каким-то образом передает этот роут клиенту в файл 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
Страница 1 из 10
Права доступа к этому форуму:
Вы не можете отвечать на сообщения
|
|