Изучаю пхп, и делаю пытаюсь, игру типа - есть много мелких вопросов чтоб код потом не переписывать. Потому что чет меня стремает что быдло код пишу. 1. Хтмл чистого нет все через php даже формы PHP: IF ($bild_tip==2){ Echo "Введите название лаборатории<br>"; Echo "<form action='/bild.php?bild_tip=$bild_tip' method='POST'> <tr> <textarea name='bild_name' id='bild_name' rows='1' maxlength='24' cols='24'>$FabrikFactory</textarea><br> <td colspan='2'><input type='submit' value='отправить' name='submit' ></td><br>"; } 2. инклуды тянут, где можно так вписать лучше так вставку делать 3. PHP: Echo"$v"; or Echo $v; 4. PHP: Echo "fdgdfgdf": Echo "fdgdfgdf": Echo "fdgdfgdf": OR Echo " fdgdfgdf fdgdfgdf fdgdfgdf "; 5. Длина переменой не должна быть большой как и в БД 6. Длина полей в БД должна быть как можно меньше (варчар 500 or 24) символа 7. Спрайты грузить быстрей через имя с пхп чем с БД полностью грузить картинку (32х32) 8. Защита PHP: $bild_tip = $_GET['bild_tip']; settype($bild_tip,'integer'); (цифры) $bild_name = $_POST['bild_name']; $bild_name = $db->real_escape_string(strip_tags($bild_name)); (всяко) 9. Ваши советы мелкие и подводные камни. ( на майсикьюли переписал все) 10. БД соединение-процессы и вопросы? Так и не нашел конкретного ответа 11-15 резерв PS: Спасибо
Сверху по пунктам вообще то, сможешь проконсулЬтировать Я думаю и так было понятно что я имел ввиду э то просто наверно был ритарически вопрос
По делу подскажи, а не мою грамотность проверяй А не топик удали, и стебаться модерам так нельзя. Мы тут не русский язык учим. Да и я хахол
1. лучше данный вообще от логики отделить. если не получается то лучше по возможности хтмл выводить вне режима пхп. 2. ААААААААААААААААААААААААААААААААААААААА? 3. подставить значение в строку и показать ПРОТИВ показать значение. ну процессоры современные пи3дец какие мощные поэтому канешн первый вариант твоё всё. но глупо. 4. вывести три раза в поток последовательность символов ПРОТИВ вывести последовательность символов среди которых есть перевод на новую строку. ну ты сам-то видишь разницу между формулировками или надо подсказать? 5. ААААААААААААААААААААААААААААААААААААААА? 6. смотря каких полей. 7. ААААААААААААААААААААААААААААААААААААААА? даже не так. ААААААААААААААААААААААААААААААААААААААА? 8. кастовать можно иначе. эскейпить можно без лишних переменных. 9. ААААААААААААААААААААААААААААААААААААААА? 10. ААААААААААААААААААААААААААААААААААААААА? 11-15. ЖДЁМ а русский ты учить потому что сложно понимать когда вот такие вот потока мысль вот лезет что это яблочко трактор помидор дверь вот так где ошибка есть разве ты это мне синий черный италия выиграла германия пенальти проиграло разве да германия можно читать когда я формулу смотрю твой собеседник не только русский не знает футболом не интересуюсь но и мысли формулировать не умеет по моему это отвратительно --- Добавлено --- грамотность у тебя стремится к нулю. нечего проверять того чего нет. увы.
2. Если есть возможность, удобно код не подключать через инклуд. А прописать в основном файле то лутчеше прописать на месте а не вызывать через инклуд 5. Читал где то что лучше $dsf Чем $dsffffffffsf fsfsdfsdfsdfsdfsdffsdfsdfsd типа жрет оперативку или проц нагружает 7, Быстрей название спрайта загрузить из БД и вывести через пхп <img картинка та та> или хранить картину в БД и выводить ее
2. должен быть какой-то баланс. да, подключение затратная операция, даже если опкод кэшируется, но и перегружать файл кодом, который не используется, тоже не нужно - его ж его надо в озу развернуть. 5. переменная должна называться так чтоб программист понял её назначение. 7. конечно для веб-сервера получив запрос прочитать статику из файловой системы быстрее чем получив запрос запустить пхп-машину, подключиться к субд, спозиционироваться на кортеже и вычитать (по сути из файла) его содержимое в поток вывода.
Во это четкие ответы спасибо, а по 5. пункту чем меньше длина тем лучше так где то читал, Значит ВЦ читал а я $ поменьше делаю А защита пойдет или отстой? Стоит подключить функцию которая вырезает с строки слова типа SELECT ну и тд или это лишнее
имя переменной на этапе компиляции заменится адресом ячейки памяти а он фиксированной длины. поэтому именовать переменные надо так чтоб человеку который читает код было понятно что в переменной хранится --- Добавлено --- про защиту не очень понял. я уже ответил что каст можно иначе делать и для эскейпа не объявлять лишних переменных. дальше от тебя зависит понял ты это или нет. про функцию отрезающую селект тоже не понял. ты мог бы на русском языке свои мысли выражать а не где-то в своей голове оставлять подробности?
типа такой $a Гет или пост предается $a= иньекция $stop = array("SELECT","UPDATE"); $а = str_replace($stop, $t, $a); Эт так навскидку
А чего плохая мысль?, Так я не чему не научусь да-нет, хоть примерно описал бы чего, Ну вырежет все запросы к БД потом через естап и стриг тапс
Ну какие есть варианты почему это плохая мысль? Программирование можно и без чужих подсказок освоить. Главное головой думать, а не тупо жрать в неё.
Лишнии затраты ресурсов тк как есть магические кавычки Чет не то но суть экранизировать кавычки как то так чет я много вц начитал и щас каша
каким местом магические кавычки замешаны в твоем желании резать слова селект и апдейт? ты укуренный чтоль?
Зря начал с игры. Сначала нужно было изучить синтаксис и функционал языка, применяя на практике, тестируя программу, а потом уже писать игру, прежде проектируя задачу, а потом писать скрипт-код. Это плохо, логику работы нужно отделять. На самом деле подключения файлов include или reuqire работает быстрее, чем работа с базой, за исключением если там утечка памяти. Оба варианта будут работать. Только первый вариант - больше рассматривают, чтобы не делать конкатенацию строк и желательно обрамлять переменную с помощью фигурных скобок {}. Также нужно учитывать, что - это работает только при двойных кавычках " ", при одинарных кавычках ' ' работать не будет. PHP: echo"Улица {$street}, дом {$house} - кв. {$flat}"; Этот вариант работает немного медленнее. (разница почти не заметна, но при больших данных есть). PHP: echo"Улица " . $street . ", дом " . $house . " - кв. " . $flat; Самый быстрый вариант с прототипом конструкции (передача аргументов через запятую): PHP: echo'Улица', $street, 'дом ', $house, '- кв. ', $flat; Про кавычки и в целом строки, все при дельно разжевано - обрати внимание на синтаксис двойных и одинарных и будь внимательнее. Ответ дан выше. Для ограничения строки можно воспользоваться функцией mb_substr - строка будет обрезана до нужной длины (которую укажем), если нужно, не обрезать, а чтобы уведомляло, можно воспользоваться mb_strlen и сверить с нужной длиной. Максимальное количество символов в типе varchar - 255 Естественно быстрее сразу дернуть. settype не нужно здесь использовать. Гораздо быстрее и правильнее: привести к нужному типу данных. PHP: $bild_tip = (int)$_GET['bild_tip']; Используй filter_input - для работы с глобальными массивами $_GET, $_POST и т. д.. Не используй устаревшие методы и расширения. Старайся всегда проектировать задачу прежде чем писать скрипт-код - это тебе поможет в будущем над большими и сложными проектами. Используй mysqli -или что тебя интересует, не совсем понятно, какие вопросы? И какие ответы ты не нашел? Опиши задачу более подробнее.
Писал varchar (500) и прокатывало не стоит, достаточно экранировать значения, подставляемые в запросы. Это в одной очень глупой книжке было написано, "PHP глазами хакера", но сам посуди, вот нормальный текст: Код (Text): How to select rows with column i < 25? Здесь нет и намёка на инъекции, а твоя функция будет затирать
Ganzal, Последняя версия СУБД MySQL позволяет хранить в переменной типа VARCHAR данные длиной вплоть до 65,535 символов, это максимальная длинна этого типа данных. Понятно все. Теперь. Ранее не было такой возможности, давно помню хотел сделать больше 255, постоянно до 255 резало, прходилось mediumom решать проблему. char - так и остался 255, понятно Ну тогда нет проблем.