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

Форум PHP

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

 

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

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

тема: Коллекция ошибок
 
 автор: antf   (01.02.2005 в 00:20)   письмо автору
 
 

Уважаемые администраторы и посетители форума. Предлагаю собрать в этой теме интересные, каверзные и просто распространенные ошибки. Возможно различные ситуации, описанные здесь, помогут легче обнаруживать ошибки, а то и вовсе их не делать (особенно это касается распространенных логических ошибок, например как, в ситуации №7 и №8):

Начинаю:
1) Классическая ошибка для всех начинающих - забыл поставить точку с запятой после оператора:
  
  $InitPos=1
  $EndPos=5;

2) Ставится точка с запятой после условного оператора или оператора цикла (одна из моих "любимых")
 
  if($var=='some signification');
    exit;

3) Не ставится знак доллара перед переменной. В таком случае она воспринимается как константа
<?    
    $InitPos
=1;
    
$EndPos=5;
    for(
$i $InitPos$i <= EndPos$i++) ?>

?>
4) Ставится знак доллара перед именем функции
$SaveStringInFile($Str);
5) Путается порядок аргументов функции (одна из моих "любимых")
6) Вместо оператора конкатенации строк PHP (точка) используется оператор из JavaScript(плюс) и наоборот
  
 <?  
    $Str1
='мой';
    
$Str2=' дом';
    
//Хотим получить мой дом :)
    
Str=$Str1+$Str2;
?>

7) Одна из самых прикольных ситуаций. Одна и та же переменная используется в качестве счетчика в двух циклах, один из которых вложен в другой. Для ее исправления во вложенном цикле в качестве счетчика должна быть использована другая переменная $b, например
  <?
  
for($i=0$i<Var1$i++)
  {
      
//код
      
for($i=0$i<Var2$i++)
       {
         
//код
      
}
  } 
?>

8) Вот еще одна интересная и трудно находима для новичка ошибка, попался на ней несколька раз. Неправильное употребление некоторых функций.
$Array = array_pop($Array);
Результатом будет то, что массив $Array потеряется. Нужно вот так
array_pop($Array);
Вопрос к более опытным программистам: как поточнее определить этот тип ошибок?

   
 
 автор: Artemy   (01.02.2005 в 12:02)   письмо автору
 
   для: antf   (01.02.2005 в 00:20)
 

Как начинающий часто делаю ошибки написаные выше и вот такие ошибки!
1) Забываю закрывать скобки как круглые так и фигурные, например:
<?
if(empty($value// Не закрыл круглую скобку
  
{
  ....
// Идет какой-нибудь код
  // А потом забываю  или случано удаляю фигурную скобку!
?>


2) ... что-то не могу пока больше вспомнить!

   
 
 автор: Sfinks   (01.02.2005 в 13:34)   письмо автору
 
   для: Artemy   (01.02.2005 в 12:02)
 

Чтобы исключить эту ошибку, приучтие себя, раз и навсегда, парные элементы (скобки, кавычки, парные теги и т.п.) писать вразу оба, а затем возвращать курсор внутрь пары и вписывать код....

<?php
?>
затем
<?php
  
if()
?>
затем
<?php
  
if(empty())
?>
затем
<?php
  
if(empty($value))
  {
  }
?>
затем
<?php
  
if(empty($value))
  {
    echo 
"";
  }
?>
затем
<?php
  
if(empty($value))
  {
    echo 
"<font face=arial></font>";
  }
?>
и наконец
<?php
  
if(empty($value))
  {
    echo 
"<font face=arial>Значение пустое!</font>";
  }
?>

   
 
 автор: Be4ep   (01.02.2005 в 14:28)   письмо автору
 
   для: Sfinks   (01.02.2005 в 13:34)
 

$q = "<a href=".$PHP_SELF."?start=".$in."&end=".$dn.">!!!</a>";


точки возле переменных

   
Rambler's Top100
вверх

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