За последние 24 часа нас посетили 36902 программиста и 2797 роботов. Сейчас ищут 916 программистов ...

Непонятная ошибка

Тема в разделе "PHP для новичков", создана пользователем Serqei, 16 дек 2008.

  1. Serqei

    Serqei Активный пользователь

    С нами с:
    8 ноя 2008
    Сообщения:
    21
    Симпатии:
    0
    Адрес:
    Estonia, Tallinn
    Сегодня переустановил denwer и запустил скрипт над которым я работал вчера. При этом когда вчера перед сном выключял компьютер то скрипт работал отлично и ни каких ошибок не выдавал. После переустановки он говорит что у меня ошибка:

    Parse error: syntax error, unexpected ']', expecting T_STRING or T_VARIABLE or T_NUM_STRING in Z:\home\test1.ru\www\addwebsite.php on line 62

    На этой строке у меня следующий код:

    Код (Text):
    1.      $result=eregi_replace("[{\\]","",$result);
    2.      $result_array[]=$result; //62 строка
    3. }
    4. else
    5. {
    6.      $result_array[]=$text_array[$i];
    7. }
    Думаю что проблема может быть в настройках пхп. Но в чем именно не знаю.
     
  2. sylex

    sylex Активный пользователь

    С нами с:
    9 ноя 2008
    Сообщения:
    625
    Симпатии:
    0
    Адрес:
    Омск
  3. free-bits

    free-bits Активный пользователь

    С нами с:
    13 ноя 2008
    Сообщения:
    296
    Симпатии:
    0
    Адрес:
    г. Красноярск
    Может кавычку не закрыл где-нить выше?
     
  4. sylex

    sylex Активный пользователь

    С нами с:
    9 ноя 2008
    Сообщения:
    625
    Симпатии:
    0
    Адрес:
    Омск
    хотя нет.. вру, это не та строка
     
  5. AlexGousev

    AlexGousev Активный пользователь

    С нами с:
    25 мар 2006
    Сообщения:
    1.505
    Симпатии:
    0
    Адрес:
    Москва
    Если в регулярке есть желание сделать набор из символов { и \, то надо там четыре бэкслеша использовать. Один для интерпретатора строк PHP (останется два), и один для интерпретатора регулярки.
    Очень странно, что это работало, потому как по-другому оно не работало никогда :)
     
  6. Serqei

    Serqei Активный пользователь

    С нами с:
    8 ноя 2008
    Сообщения:
    21
    Симпатии:
    0
    Адрес:
    Estonia, Tallinn
    Попробывал закоментировать регулярку, все равно выдает ту же ошибку, вряд ли тут в регулярках дело.
     
  7. free-bits

    free-bits Активный пользователь

    С нами с:
    13 ноя 2008
    Сообщения:
    296
    Симпатии:
    0
    Адрес:
    г. Красноярск
    Мож подсветим код?)
     
  8. Serqei

    Serqei Активный пользователь

    С нами с:
    8 ноя 2008
    Сообщения:
    21
    Симпатии:
    0
    Адрес:
    Estonia, Tallinn
    Хорошо, вот код:
    PS. Краткое описание кода: после добавления адреса и статьи выполняются проверки и если все впорядке то генерируются файлы со статьями. Например если в статье скрипт находит {word1|word2|word3} то он рэндомно выберает одно из слов и так со всей статьей.

    PHP:
    1.  
    2.  
    3. <?php session_start();
    4. require("functions.php");
    5. logout();
    6. is_allowed();
    7. showMenus();
    8.  
    9. if(!empty($_REQUEST['isdone']))  //main if start
    10. {
    11.     $add_url=$_SESSION['add_url'];
    12.     $add_article=$_SESSION['add_article'];
    13.     if(!eregi("^(www\.[a-zA-Z0-9-]{2,100}\.[a-zA-Z]{2,100})$",$add_url))
    14.     {
    15.         echo "<br>Error with your URL address";
    16.         unset($_SESSION['add_url']);
    17.         unset($_SESSION['add_category']);
    18.         unset($_SESSION['add_article']);
    19.         $message="Please fill in the forms";
    20.         showForm1($message);
    21.         exit();
    22.        
    23.     }
    24.     else if(eregi("[<>]",$add_article) || empty($add_article))
    25.     {
    26.         echo "<br>Error with your Article";
    27.         exit();
    28.     }
    29.    
    30.     else//=======================ГЕНЕРАЦИЯ ФАЙЛОВ
    31.     {
    32.         if(is_dir(websites/$add_url))
    33.         {
    34.             echo "ERROR: Directory is already created";
    35.             exit();
    36.         }
    37.            
    38.         else
    39.         {
    40.             $quantity=10;//количество создаваемых файлов
    41.             if(mkdir("websites/$add_url"))//начало if
    42.                 {
    43.                     $full_text = $add_article;
    44.                     $text_array = explode("}",$full_text);
    45.            
    46.                     for($quan=1;$quan<=$quantity;$quan++)
    47.                     {
    48.                             for ($i=0;$i<count($text_array);$i++)
    49.                             {
    50.                                 if (eregi("({.+\|.+)",$text_array[$i]))
    51.                     `           {
    52.                                     $start_num=strpos($text_array[$i],"{");
    53.                                     $all_num=strlen($text_array[$i]);
    54.                                     $num_count=$all_num - $start_num;
    55.                                     $variations=substr($text_array[$i],$start_num+1,$all_num);//переменная с вырезанной строкой вариаций
    56.                                    
    57.                                     $variations_array=explode("|",$variations);//массив с вырезанной строкой вариаций
    58.                                     $rand=rand(0,count($variations_array)-1);
    59.                                    
    60.                                     $result=str_replace($variations,$variations_array[$rand],$text_array[$i]);
    61.                                     //$result=eregi_replace("[{\\]","",$result);
    62.                                     $result_array[]=$result;
    63.                                 }
    64.                                 else
    65.                                 {
    66.                                     $result_array[]=$text_array[$i];
    67.                                 }
    68.                             }
    69.                 $string=implode("",$result_array);
    70.                 $fp=fopen("websites/$add_url/$quan.txt","w");
    71.                 fputs($fp,$string);
    72.                 fclose($fp);
    73.                 unset($result_array);
    74.                 }
    75.             }
    76.         }//конец if
    77.    
    78.         else
    79.         {
    80.             echo "ERROR: Can not create the directory";
    81.             exit();
    82.         }
    83.  
    84.     }
    85.    
    86. }//main if end
    87.  
    88.  
    89. #Если не введены данные о добавляемом сайте
    90. else if(empty($_REQUEST['add_url']) && empty($_REQUEST['add_category']) && empty($_REQUEST['add_article']))
    91. {
    92. unset($_SESSION['add_url']);
    93. unset($_SESSION['add_category']);
    94. unset($_SESSION['add_article']);
    95. $message="Please fill in the forms";
    96. showForm1($message);
    97. exit();
    98. }
    99.  
    100. #Если введены данные о добавляемом сайте но не введены данные о статье
    101. else if (!empty($_REQUEST['add_url']) && !empty($_REQUEST['add_category']) && empty($_REQUEST['add_article']))
    102. {
    103.     if(eregi("^(www\.[a-zA-Z0-9-]{2,100}\.[a-zA-Z]{2,100})$",$_REQUEST['add_url']))
    104.     {
    105.         $_SESSION['add_url']=$_REQUEST['add_url'];
    106.         $_SESSION['add_category']=$_REQUEST['add_category'];
    107.         $message2="Please enter your article";
    108.         showFormAddArticle($message2);
    109.         exit();
    110.     }
    111.    
    112.     else
    113.     {
    114.         $message="ERROR: URL Contains forbidden symbols";
    115.         showForm1($message);
    116.         exit();
    117.     }
    118.  
    119. }
    120.  
    121. #Если введены данные о статье
    122. else if(!empty($_REQUEST['add_article']))
    123. {
    124.     if(eregi("[<>]",$_REQUEST['add_article']))
    125.     {
    126.     $message2= "ERROR: Article Contains Forbidden Symbols";
    127.     showFormAddArticle($message2);
    128.     exit();
    129.     }
    130.    
    131.     else
    132.     {
    133.         $_SESSION['add_article']=$_REQUEST['add_article'];
    134.         echo "<br>Сheck your details and press Finish if everything is ok<br>";
    135.         echo <<<HERE
    136.         URL: $_SESSION[add_url]<br>
    137.         CATEGORY: $_SESSION[add_category]<br>
    138.         ARTICLE: $_SESSION[add_article]<br>
    139.         <form action="addwebsite.php" method="get">
    140.         <input type="submit" name="isdone" value="finish">
    141.         </form>
    142. HERE;
    143.     }
    144. }
    145.  
    146.  
    147.  
    148.  
    149. echo "<hr>";
    150. echo "Session URL: " . $_SESSION['add_url'] . "<br>";
    151. echo "Session CATEGORY: " . $_SESSION['add_category'] . "<br>";
    152. echo "Session ARTICLE: " . $_SESSION['add_article'] . "<br>";
    153. echo "<hr>";
    154.  
    155.  
    156.  
    157.  
    158.  
    159.  
    160. #=========================ФУНКЦИИ
    161. function showForm1($mes)
    162. {
    163.     echo <<<HERE
    164.     <p>
    165.     $mes
    166.     <form action="addwebsite.php" method="get">
    167.     URL: <input type="text" name="add_url" size="44"><br>
    168.     Category: <select name="add_category">
    169.     <option value="1">Business, Money, Finance, Economy</option>
    170.     <option value="2">Health, Fitness, Medicine, Sport</option>
    171.     <option value="2">Computer, Technology, Science, Internet</option>
    172.     </select><br>
    173.     <input type="submit" name="button" value="Continue">
    174.     </form>
    175. HERE;
    176. }
    177.  
    178. function showFormAddArticle($mes2)
    179. {
    180.     echo <<<HERE
    181.     <p>
    182.     $mes2
    183.     <form action="addwebsite.php" method="get">
    184.     <textarea name="add_article" rows="20" cols="40"></textarea><br>
    185.     <input type="submit" name="button" value="Continue">
    186.     </form>
    187. HERE;
    188. }
    189.  
    190. ?>
    191.  
     
  9. free-bits

    free-bits Активный пользователь

    С нами с:
    13 ноя 2008
    Сообщения:
    296
    Симпатии:
    0
    Адрес:
    г. Красноярск
    Скорее всего касяк гдето выше в коде. Например, возможно что переменная $result_array не является массивом.
     
  10. free-bits

    free-bits Активный пользователь

    С нами с:
    13 ноя 2008
    Сообщения:
    296
    Симпатии:
    0
    Адрес:
    г. Красноярск
    Там есть лишний символ ` или у меня пиксель выгорел :)
     
  11. free-bits

    free-bits Активный пользователь

    С нами с:
    13 ноя 2008
    Сообщения:
    296
    Симпатии:
    0
    Адрес:
    г. Красноярск
  12. Serqei

    Serqei Активный пользователь

    С нами с:
    8 ноя 2008
    Сообщения:
    21
    Симпатии:
    0
    Адрес:
    Estonia, Tallinn
    А примерно в какой строке =))
     
  13. free-bits

    free-bits Активный пользователь

    С нами с:
    13 ноя 2008
    Сообщения:
    296
    Симпатии:
    0
    Адрес:
    г. Красноярск
    Дык ты включи подсветку кода я тебе точно скажу)
     
  14. free-bits

    free-bits Активный пользователь

    С нами с:
    13 ноя 2008
    Сообщения:
    296
    Симпатии:
    0
    Адрес:
    г. Красноярск
    Вот тут
    PHP:
    1.  
    2. <?
    3. ...
    4. for ($i=0;$i<count($text_array);$i++)
    5.                             {
    6.                                 if (eregi("({.+\|.+)",$text_array[$i]))
    7.                     `           {
    8.                                    
     
  15. Serqei

    Serqei Активный пользователь

    С нами с:
    8 ноя 2008
    Сообщения:
    21
    Симпатии:
    0
    Адрес:
    Estonia, Tallinn
    Ахахахаха, точно. Я бы ни когда не заметил этой кавычки, интересно как она туда попала, наверно лунатить начал... Большое спасибо =)
     
  16. sylex

    sylex Активный пользователь

    С нами с:
    9 ноя 2008
    Сообщения:
    625
    Симпатии:
    0
    Адрес:
    Омск