Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

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

 

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

вид форума:
Линейный форум Структурный форум

тема: Проблема шрифта
 
 автор: Dazzl   (19.07.2011 в 13:55)   письмо автору
 
 

Люди здравствуйте, такая проблема:

сделал страничку решил указать шрифт, и указал вот так всё работает

header("Content-Type: text/html; charset=utf-8_inicode_ci");

тока Денвер взбесился (я через него иксперментирую) вот так ругается:

Notice: Undefined index: postr in Z:\home\test1.ru\www\as\ludiplay.php on line 38
[Денвер: показать возможную причину ошибки]
Notice: Undefined index: ratush in Z:\home\test1.ru\www\as\ludiplay.php on line 39
Notice: Undefined index: rat in Z:\home\test1.ru\www\as\ludiplay.php on line 40


на линиях 38 39 40 находиться следующее:

38 - if ($_POST['postr']) include ("kknop.txt");
39- if ($_POST['ratush']) {echo "<table align=center><tr><td></td>На постройку Ратуши нужно:<br>Время постройки - 40 мин.<br>Золото - 3400<br>Дерево - 870<br>Еда - 2700<br><form action='' method=post><input type=submit name=rat value='Начать постройку'></form></tr></table>";}
40 - if ($_POST['rat']) {

в чём дело?

  Ответить  
 
 автор: MHz   (19.07.2011 в 15:10)   письмо автору
 
   для: Dazzl   (19.07.2011 в 13:55)
 

Дело вероятно в том, что в массиве $_POST нет таких индексов.

  Ответить  
 
 автор: Dazzl   (19.07.2011 в 15:40)   письмо автору
 
   для: MHz   (19.07.2011 в 15:10)
 

где cheops? где этот славный малый ))

  Ответить  
 
 автор: Саня   (19.07.2011 в 15:58)   письмо автору
 
   для: Dazzl   (19.07.2011 в 15:40)
 

Ахаха! cheops славный малый? Славный, да, но не малый. Проявите уважение к автору многих книг и владельцу этого форума!
Ваша проблема в том, что вы не проверяете существование нужных переменных. Поэтому PHP и выталкивает такие ошибки.

  Ответить  
 
 автор: Dazzl   (19.07.2011 в 16:12)   письмо автору
 
   для: Саня   (19.07.2011 в 15:58)
 

виноват! ))

  Ответить  
 
 автор: Dazzl   (19.07.2011 в 16:13)   письмо автору
 
   для: Саня   (19.07.2011 в 15:58)
 

каких переменных?

  Ответить  
 
 автор: Саня   (19.07.2011 в 16:19)   письмо автору
 
   для: Dazzl   (19.07.2011 в 16:13)
 

> каких переменных?
Тех, которые передаются от клиента серверу.

Проверки просты:
<?
if ( empty($_POST['postr']) ) {
  echo 
'postr не существует';
} else {
  echo 
'postr существует';
}

Так же с этой задачей успешно справляется конструкция isset()

  Ответить  
 
 автор: Dazzl   (19.07.2011 в 16:31)   письмо автору
 
   для: Саня   (19.07.2011 в 16:19)
 

Я вас немного не пойму. Условие на существование повременных надо поставить перед каждой переменной на странице или какой-то определённой?

каким образом кодировка шрифта связана с переменными, вот мне интересно ))

  Ответить  
 
 автор: Саня   (20.07.2011 в 00:00)   письмо автору
 
   для: Dazzl   (19.07.2011 в 16:31)
 

> каким образом кодировка шрифта связана с переменными, вот мне интересно ))
Никаким. Ваша проблема заключается в использовании неинициализированных переменных. Как её избежать я описал чуть выше.

> Я вас немного не пойму. Условие на существование повременных надо поставить
> перед каждой переменной на странице или какой-то определённой?
Только перед теми, которых может не быть.

Грубо говоря, вместо "if ($_POST['postr']) include ("kknop.txt");" нужно писать " if (!empty($_POST['postr'])) include ("kknop.txt");".

Кстати говоря, "utf-8_inicode_ci" — не кодировка. Это collate из mysql, причём неправильно написанный. Браузеры такого не понимают. Пишите просто "utf-8".

  Ответить  
 
 автор: Dazzl   (20.07.2011 в 09:51)   письмо автору
 
   для: Саня   (20.07.2011 в 00:00)
 

когда я пишу просто utf-8 у меня вместо слов ромбики закрашенные бываеют, а как поставлю utf-8_inicode_ci всё тип топ

  Ответить  
 
 автор: Саня   (20.07.2011 в 10:47)   письмо автору
 
   для: Dazzl   (20.07.2011 в 09:51)
 

Значит у вас проблемы с кодировкой текста (весь текст или его часть не в utf-8). Браузер не воспринимает "utf-8_inicode_ci", поэтому включает свой собственный механизм распознавания кодировки, который в данном случае сработал как нужно.

  Ответить  
Rambler's Top100
вверх

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