Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Разное

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Ошибки в книге PHP Практика создания web-сайтов 2е издание

Сообщения:  [1-10] 

 
 автор: hitball   (30.01.2013 в 14:50)   письмо автору
 
   для: shootNIK   (23.04.2011 в 15:25)
 

вопрос перенесен в тему http://softtime.ru/forum/read.php?id_forum=2&id_theme=63232#post529730

  Ответить  
 
 автор: hitball   (30.01.2013 в 14:06)   письмо автору
 
   для: shootNIK   (23.04.2011 в 15:25)
 

Добрый день! Вопрос по книге, но не совсем по теме, решила новую тему уже не создавать. Установила сайт и базу из книги с прилагаемого диска. Пытаюсь войти в админку через путь http://localhost/kuznecov/dmn/index.php и логин root и пароль 63a9f0ea7bb98050796b649e85481845 из таблицы в базе system_accountsrn. Но окно авторизации никак не реагирует на мои потуги. Из-за чего это может быть?
Кстати, возможно у кого-то есть диск от книги с исправленными ошибками? Буду премного благодарна за него!

  Ответить  
 
 автор: cheops   (12.07.2011 в 12:43)   письмо автору
 
   для: shootNIK   (12.07.2011 в 12:10)
 

Есть такое дело. Это связано со структурой базы данных, поле в наших базах данных традиционно много лет называется hide (скрыть), однако в интерфейсе, сейчас уже никто не вспомнит по каким причинам (то ли из-за премодерирования, то ли еще из-за чего-то) стало использовать поле "Отобразить". Отсюда такой твист. Однако, соглашусь - не дело, хотя нам это уже довольно трудно исправить - много кода.

  Ответить  
 
 автор: shootNIK   (12.07.2011 в 12:10)   письмо автору
 
   для: shootNIK   (23.04.2011 в 15:25)
 

стр. 706
//Выясняем, скрыта или открыта позиция
if($form->fields['hide']->value) $showhide = "show";
else $showhide = "hide";
тут все нормально, только вот когда разбираешь код. то интуитивно мыслишь: "Проверяем, скрыто ли. Если значение стоит, значит скрыто, иначе не скрыто." Соль в том, что галочка устанавливается в поле "Отобразить". Поэтому логичнее написать "Выясняем, отображена или скрыта позиция". Не ошибка, но запутывает =)

  Ответить  
 
 автор: shootNIK   (09.06.2011 в 13:51)   письмо автору
 
   для: shootNIK   (23.04.2011 в 15:25)
 

стр. 539
// Проверяем не регистрировался ли ранее пользователь
// с запрашиваемым электронным адресом
$query = "SELECT COUNT(*) FROM $tbl_accounts
WHERE name = '{$form->fields[name]->value}'";
$acc = mysql_query($query);
if(!$acc)
{
throw new ExceptionMySQL(mysql_error(),
$query,
"Ошибка добавления нового
пользователя");
}
if(mysql_result($acc, 0))
{
$error[] = "Пользователь с именем
{$form->fields[name]->value} уже
зарегистрирован";
}

тут сначала проверка на ошибку выборки, а ниже на проверку совпадения имени, но на совпадение электронного адреса проверок нигде нет. В этом уроке почта даже нигде не вводится. Видимо опечатка.

  Ответить  
 
 автор: cheops   (27.04.2011 в 14:26)   письмо автору
 
   для: shootNIK   (27.04.2011 в 14:21)
 

Спасибо.

  Ответить  
 
 автор: shootNIK   (27.04.2011 в 14:21)   письмо автору
 
   для: shootNIK   (23.04.2011 в 15:25)
 

страница 392. Глава называется "Класс From", а должно быть Form. Тоже самое в оглавлении.

  Ответить  
 
 автор: shootNIK   (23.04.2011 в 16:09)   письмо автору
 
   для: cheops   (23.04.2011 в 15:47)
 

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

  Ответить  
 
 автор: cheops   (23.04.2011 в 15:47)   письмо автору
 
   для: shootNIK   (23.04.2011 в 15:25)
 

Тут дело, скорее всего, вот в чем. Многие участки кода ориентированы на уровень тревожности, исключающих замечания: т.е. предупреждения об неинициализированных переменных. Более того, такой уровень мы старались выставлять явно.
<?php
  error_reporting
(E_ALL & ~E_NOTICE); 
?>
Очень часто замечания здорово помогают отлаживать код, сообщая об потенциально проблемных местах. Однако, в конечных версиях приложений или на рабочих серверах их часто отключают (например, через error_reporting() или редактируя одноименную директиву в php.ini), так как это не ошибка и не предупреждение, а скорее совет. Более того, разработчики зачастую намерено используют неинициализированные переменные, особенно при обработке HTML-форм и заполнении атрибутов value (Замечания (Notice) этот факт не учитывают).

  Ответить  
 
 автор: shootNIK   (23.04.2011 в 15:25)   письмо автору
 
 

Я недавно купил книгу и стал изучать PHP. Мне очень понравилась книга. описано очень доходчиво. но вот не знаю с чем это связано (может с версией PHP), но некоторые коды. приведенные в книге. у меня не работали. После проверки моих "кривых ручек" я разобрался что надо дописать чтобы код заработал. Сюда буду писать нерабочие строки и как я их исправлял.
PS возможно это мелочные ошибки, но пригодится при переиздании.

с.378 конец листинга 6.5: в форме сразу задано значение поля first элементами из массива POST[first], но обработчик ругается, что не знает first. В результате чего поле сразу заполнено "руганью"
исправил путем добавления проверки методом isset массива POST.

  Ответить  

Сообщения:  [1-10] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования