Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: как правильно работать с булевыми значениями
Форумы портала PHP.SU » » Если скрипт не работает » как правильно работать с булевыми значениями

Страниц (1): [1]
 

1. Морозов Семен - 23 Марта, 2012 - 18:19:04 - перейти к сообщению
Здравствуйте, подскажите пожалуйста почему у меня не работает следующий код:

PHP:
скопировать код в буфер обмена
  1. if (isset($_POST['name'])) {$name = $_POST['name'];
  2. if ($name == ''){$errors = '<tr><td align=center><font color=red><b><i>Имя введено некорректно!</i></b></font></td></tr>' & $display_errors == TRUE;} else $display_errors == FALSE;
  3. }
  4.  
  5.  
  6. if ($display_errors == TRUE)
  7. {$bad = '<tr><td align=center><font><b>Обнаружены следующие ошибки:</b></font></td></tr>'.$errors.'<tr><td>&nbsp;<br /></td></tr>';}
  8. if ($display_errors == FALSE)
  9. {$bad = '';}
  10. $error = '<table>'.$bad.'</table>';
  11.  


Ошибок (я имею ввиду типа WARNING) никаких не выводит, но и код не исполняется. Подскажите как его можно исправить.
2. tato - 23 Марта, 2012 - 18:25:45 - перейти к сообщению
потому что здесь ошибка

PHP:
скопировать код в буфер обмена
  1.  
  2. if ($name == ''){$errors = '<tr><td align=center><font color=red><b><i>Имя введено некорректно!</i></b></font></td></tr>' & $display_errors == TRUE;} else $display_errors == FALSE;
  3.  
  4. }
  5.  

(Добавление)
PHP:
скопировать код в буфер обмена
  1. if ($name == '' && $display_errors == TRUE)
  2. {
  3.     $errors = '<tr><td align=center><font color=red><b><i>Имя введено некорректно!</i></b></font></td></tr>';
  4. }
  5. else
  6. {
  7.     $display_errors == FALSE;
  8. }
3. Морозов Семен - 23 Марта, 2012 - 18:36:35 - перейти к сообщению
ничего не получилось, все так же как и было...
4. tato - 23 Марта, 2012 - 18:58:09 - перейти к сообщению
0) Пишите разборчиво, не надо все в одну строчку, так будет понятнее, что не правильно.
1) коментируйте свои действия, код станет осмысленным и понятным, возможно на этой стадии вы найдете ошибки.
2) в условии не обязательно писать if( $var == true ) достаточно if( $var )
3) у вас есть ошибки в html коде ( <td align=center> ), нет кавычек <td align="center">
4) из данного куска кода не понятно чем изначально является переменная $display_errors
5) делайте var_dump( $some_var ); многое сразу станет ясно.
5. DelphinPRO - 23 Марта, 2012 - 19:11:17 - перейти к сообщению

tato пишет:
у вас есть ошибки в html коде ( <td align=center> ), нет кавычек <td align="center">
html 5 допускает не писать кавычки. хотя атрибут align является устаревшим, как и тег font
Только к теме топика это не относится.
6. LIME - 23 Марта, 2012 - 19:28:42 - перейти к сообщению

DelphinPRO пишет:
html 5 допускает не писать кавычки.
я думал это браузеры допускают не писать
это что в спецификации есть?
но всеже лучше писать для валидности
7. DelphinPRO - 23 Марта, 2012 - 20:27:20 - перейти к сообщению
в спеке есть, но сейчас лень лазить искать Улыбка
придется поверить на слово
или проверить валидатором - проверку пройдет )
======
в w3c идут по пути уменьшения объема кода, как понимаю, - доктайп сократили, одиночные теги можно не закрывать, тип скриптов и CSS не указывать, кавычки не писать Улыбка
8. LIME - 23 Марта, 2012 - 20:32:58 - перейти к сообщению
хм...тоесть лучше не ставить?
интересно...
9. DelphinPRO - 23 Марта, 2012 - 20:36:00 - перейти к сообщению
LIME пишет:
тоесть лучше не ставить?
спорный вопрос - спецификация-то пока в статусе черновика Улыбка
к тому же при такой записи
CODE (htmlphp):
скопировать код в буфер обмена
  1. <tag onclick=myfunc(); return false; class=onweclass twoclass></tag>
будет ошибка. На мой взгляд, лучше выработать привычку писать кавычки. Но их отсутствие в простых случаях не является ошибкой
10. LIME - 23 Марта, 2012 - 20:38:20 - перейти к сообщению
и еще xhtml учтем
всеже думаю лучше ставить
11. IllusionMH - 23 Марта, 2012 - 20:39:31 - перейти к сообщению

LIME, никто не говорит, что лучше кавычки не ставить, теги не закрывать,...
Просто это будет валидный документ, который браузеры обработают на равне с "более правильными" вариантами.
Для желающих/привыкших существует XHTML5. Все одиночные теги закрывать, все атрибуты мелким шрифтом и в кавычках. Одиночные(или как там они) атрибуты необходимо дублировать (multiple="multiple")... Так что на вкус и цвет для всех есть решение Улыбка
12. DelphinPRO - 23 Марта, 2012 - 20:52:26 - перейти к сообщению

IllusionMH пишет:
Для желающих/привыкших существует XHTML5

Я извиняюсь за придирку Улыбка, но такого стандарта не существует, и пока не планируется. По крайней мере упоминаний о нем на сайте w3c нет. Есть XHTML2
13. tato - 24 Марта, 2012 - 04:58:10 - перейти к сообщению


Чусвтвую себя троллем, простите... Ниндзя
14. IllusionMH - 24 Марта, 2012 - 19:07:23 - перейти к сообщению

DelphinPRO, я не говорил что это отдельный стандарт. Это просто XML представление HTML5 аналогичное XHTML(по требованиям).
http://ru[dot]wikipedia[dot]org/wiki/HTML5#XHTML5

http://dev.w3.org/html5/html4-differences/#syntax пишет:

The other syntax that can be used for HTML5 is XML. This syntax is compatible with XHTML1 documents and implementations. Documents using this syntax need to be served with an XML media type and elements need to be put in the http://www[dot]w3[dot]org/1999/xhtml namespace following the rules set forth by the XML specifications. [XML]

Below is an example document that conforms to the XML syntax of HTML5. Note that XML documents must be served with an XML media type such as application/xhtml+xml or application/xml.

Даже в спеке HTML5 отдельно расписано это.
http://www[dot]w3[dot]org/TR/html5/the-x[dot][dot][dot]the-xhtml-syntax
Просто XHTML5 называется по аналогии как все HTML5 API.


XHTML2 еще в 2010 году закрыли, там все на WD заглохло Улыбка

 

Powered by ExBB FM 1.0 RC1