Игорь_Vasinsky
22.08.2012 - 09:20
1. маячить ошибками перед юзерами - опасно, попадётся толковый и будет рыть дальше. Оставь их только на отладке
Цитата |
or die("Произошла MySQL ошибка: " . mysql_error()); |
2.
Цитата |
if(mysql_num_rows($select_user) > 0) |
Не напрягайся !== false (true, а значит что то есть) словит и в таком случае
if(mysql_num_rows($select_user))
3. Для условий в одну строку, можешь опустить скобки, читабельней будет
Цитата |
if($class = "index") { $class_dir = "system/system.php"; } |
if($class = "index")
$class_dir = "system/system.php";
4. Юзер не оценит остановку вывод
Цитата |
exit($index->load_template("banned.tpl", TMP_DIR)); |
5. Такая конкретика тоже юзеру не нужна нафиг, оставь для себя на момент отладки
Цитата |
exit ("На сайте отсутсвует класс: <b>" . $class . "</b>. Он необходим для работы скрипта."); |
6.
Цитата |
if($_SESSION['engine_error'][0]) |
if(isset($_SESSION['engine_error'][0]))
7 Эти флаги $user = false; вообще для чё?
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Игорь_Vasinsky
22.08.2012 - 09:20
Цитата |
Когда я создаю экземпляр класса index мне пишет что такой класс уже есть, хотя его нет. Может Экземпляр создается несколько раз???
|
а где сам класс? код
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Michael
22.08.2012 - 09:35
Shkiper, слова меня подводят, поэтому:
http://www.youtube.com/watch?v=9LC7iGu3MUk
_____________
There never was a struggle in the soul of a good man that was not hard
Shkiper
22.08.2012 - 09:57
Цитата |
И выкладываю код файла system.php <?php
if(!defined('SYS_KEY')) { exit('Несанкционированный доступ к файлу'); } class index { public function load_template($tpl, TMP_DIR) { $tpl = TMP_DIR . $tpl; if(!file_exists($tpl)) { $_SESSION['engine_error'][] = "Невозможно прочитать файл шаблона: <b>" . $tpl . "</b>"; $result = false; } else { $result = file_get_contents($tpl); } return $result; } }
|
Shkiper
22.08.2012 - 09:58
Цитата |
1. маячить ошибками перед юзерами - опасно, попадётся толковый и будет рыть дальше. Оставь их только на отладке Цитата or die("Произошла MySQL ошибка: " . mysql_error());
|
С одной стороны верно, маячит именами БД не хорошо, но с другой строны - как продолжать код если произошла ошибка?
Игорь_Vasinsky
22.08.2012 - 10:01
ошибки мониторь без mysql_error()
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Shkiper
22.08.2012 - 10:11
Игорь_Vasinsky ну допустим я зашел на сайт произошла ошибка - вывожу сообщение а какая именно ошибка х3. Хотя можно просто указать где произошла и все. А что с классом то?
Michael
22.08.2012 - 10:18
Цитата (Shkiper @ 22.08.2012 - 08:58) |
Цитата | 1. маячить ошибками перед юзерами - опасно, попадётся толковый и будет рыть дальше. Оставь их только на отладке Цитата or die("Произошла MySQL ошибка: " . mysql_error());
|
С одной стороны верно, маячит именами БД не хорошо, но с другой строны - как продолжать код если произошла ошибка?
|
Если произошла ошибка то:
1) надо записать в лог, который виден из админки - это если Production режим сайта. Если режим Разработки, то можно и на экран.
2) Если ошибка не критическая то обрабатывается и продолжается выполнение. Если критическая - то отображается страница сайта типа "Невозможно обработать ваш запрос", но никаких "белых экранов с ошибками" пользователю.
Это все обязательные части движка, который ты тут удосуживаешься делать, в том числе как и обработка магических кавычек, кеширования, возможность работать с разными БД, обработка урлов и т.д.
_____________
There never was a struggle in the soul of a good man that was not hard
Игорь_Vasinsky
22.08.2012 - 10:23
продублируй код
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Invis1ble
22.08.2012 - 10:57
Цитата |
Это все обязательные части движка, который ты тут удосуживаешься делать, в том числе как и обработка магических кавычек, кеширования, возможность работать с разными БД, обработка урлов и т.д. |
И все это и многое другое есть в нормальных фреймах, которые уже посоветовали поковырять. Но ТС предпочитает все же спрашивать 100500 вопросов.
_____________
Профессиональная разработка на заказЯ на GitHub |
второй профиль
Shkiper
22.08.2012 - 11:02
Цитата |
И все это и многое другое есть в нормальных фреймах, которые уже посоветовали поковырять. Но ТС предпочитает все же спрашивать 100500 вопросов. |
Лучше 100 рас переспросить чем потом ничего не понимать.
Invis1ble
22.08.2012 - 11:07
Нет. Лучше поработать сначала своей головой, а потом, если уж нивкакую что-то непонятно - то тогда уже спрашивать.
_____________
Профессиональная разработка на заказЯ на GitHub |
второй профиль
Shkiper
22.08.2012 - 11:53
Invis1ble ))))))))))
Michael
22.08.2012 - 11:58
Цитата (Shkiper @ 22.08.2012 - 10:02) |
Цитата | И все это и многое другое есть в нормальных фреймах, которые уже посоветовали поковырять. Но ТС предпочитает все же спрашивать 100500 вопросов. |
Лучше 100 рас переспросить чем потом ничего не понимать.
|
Это прям из школы такие установки. Типа чтобы не боялись спрашивать.
Но мы же тут не в школе и зарплату никто из нас не получает.
_____________
There never was a struggle in the soul of a good man that was not hard
Shkiper
22.08.2012 - 14:16
Цитата |
Но мы же тут не в школе и зарплату никто из нас не получает. |
НУ я то уж точна, а на счет остальных не уверен.
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.