За последние 24 часа нас посетил 16881 программист и 1292 робота. Сейчас ищут 1402 программиста ...

балуюсь ПХП тут проблемма

Тема в разделе "Вопросы от блондинок", создана пользователем nemis, 6 ноя 2006.

  1. nemis

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

    С нами с:
    27 сен 2006
    Сообщения:
    30
    Симпатии:
    0
    Адрес:
    Владивосток
    короче я зарегался на jino-net.ru... там ПХП всеже держится...
    проснулся как то утричком и решил побаловаться ПХП....
    Решил начать с блока новостей у себя на сайте..
    сперва была проблемма что файлы не создавались.. разобрался
    Потом была тема что они не перезаписывались......... разобрался
    теперь проблемма их создается много...

    Код следующий add_news.php
    Код (Text):
    1.  
    2. <?php
    3.   session_start();
    4.   $them =$_GET["them"];
    5.   $msg =$_GET["msg"];
    6.   if (empty($them) || empty($msg))
    7.   {
    8.     echo '
    9.     <body>
    10.       <form acton = "add_news.php" method= "get">
    11.         Тема<input type=text" name="them" value="'.$them.'" /><br>
    12.         Текст<br>
    13.         <textarea cols=50 rows=8 name=msg>'.$msg.'</textarea><br>
    14.         <input type="submit" value="ADD"/>
    15.       </form>
    16.     </body>
    17.     ';
    18.   } else {  
    19.     // Добавляется дважды новсть начиная со 2, тоесть 1, 2 2, 3 3, найти почему...
    20.     $name="news/last.txt";
    21.     $data = file($name);
    22.     $n=trim($data[0]);
    23.     $n=$n+1;
    24.     $today = getdate();
    25.  
    26.     $them = str_replace("<","&lt",$them);
    27.     $them = str_replace(">","&gt",$them);
    28.  
    29.     $msg = str_replace("<","&lt",$msg);
    30.     $msg = str_replace(">","&gt",$msg);
    31.     $mst = nl2br($msg);
    32.     $msg = str_replace("\r","",$msg);
    33.     $msg = str_replace("\n","<br>",$msg);
    34.  
    35.     $filename="news/".$n.".txt";
    36.     $file= fopen($filename,"w");
    37.     fputs($file,"".$today['mday']." ".$today['month']." ".$today['year']."\n");
    38.     fputs($file,$them."\n");
    39.     if ($_SESSION['user']) {fputs($file,$_SESSION['user']."\n");} else {fputs($file,"admin\n");}
    40.     fputs($file,$msg);
    41.     fclose($file);
    42.  
    43.     $filename="news/last.txt";
    44.     $file= fopen($filename,"w");
    45.     fputs($file,$n);
    46.     fclose($file);
    47.     echo "<HTML><HEAD><META HTTP-EQUIV='Refresh' CONTENT='0; URL=index.php'></HEAD></HTML>";
    48.   }                                                                                            
    49. ?>
    Приблизительное описание симптомов: если я удалю все, и добавлю первую новость, все сработает хорошо, если я добавлю еще одну новость, то список увеличится не на 1 а на 2. и пойдет 1 3 5 7 ...
    я невижу где тут трабла...
    пример работы на
    tuphanov.jino-net.ru (Главная страница)
    tuphanov.jino-net.ru/add_news.php (добавляет новости)
     
  2. nemis

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

    С нами с:
    27 сен 2006
    Сообщения:
    30
    Симпатии:
    0
    Адрес:
    Владивосток
    Ясно я всех уже замучил...
    ладно будем думать дальше ... опять самостоятельно..
     
  3. Vladson

    Vladson Старожил

    С нами с:
    4 фев 2006
    Сообщения:
    4.040
    Симпатии:
    26
    Адрес:
    Estonia, Tallinn
    А чё, красивый код, я когда только начинал что-то подобное делал :) (тока не новости а гостевую)

    Проблема лишь в том что код написан так что zend-encoder отдыхает и нифига не понятно как у тебя это всё работает :)
     
  4. Anonymous

    Anonymous Guest

    Кто там искал "фришный обфускатор"? нашел... =)))
     
  5. nemis

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

    С нами с:
    27 сен 2006
    Сообщения:
    30
    Симпатии:
    0
    Адрес:
    Владивосток
    после небольшого химичинья с названиями переменных и диапазона на страницах (хотя зачем он тут нужен, так оставим) этот код можно засунуть и в гостевуху... и с небольшими переделками в форум...
    Просто небольшая предыстория
    Когдато давным давно, жил был я. Я в те времена еще дружил с натсом, который приносил орехи моему мозку. Мозг у меня соображал и был прыткий, смышленый, даже временами пытливый. И решил я тогда написать себе страничку, поставил апач, настроил... Даже работал на нем ПХП. Написал себе форум, написал гостевуху... Все работало но дизайн хварал. "ничего" - думал я- " ща в Фотошопе или 3Dmaxе поднатаскаюсь и сделаю оформление".
    Потом одна проблемма.
    Другая.
    Третья..
    В сентябре как снег наголову свалилась беда: Звонит друг, ему надо помочь со страничкой на ПХП, ну пришлось экстренно вспоминать и так малознакомый язык программирования. Так я и наткнулся на этот форум... И узнал о вас... Короче я от темы отошел.
    Решил я наднях, что не пристойно деловому кодеру, который выступает за честь Универа на различных соревнованиях не иметь своей странички. Даже школьники себе дамены уже прикупили... Нашел бесплатный (пока денег мало), зарегался, пхп держит. Начал писать. Достал старые исходники, немного подправил, уже не пашет. Текст форума я сюда выкладывать не буду, а то это сильноедипресирующее и угритающее зрелище... Все в одном файле, все на сессиях, ничего в строке не передается... одним словом оно еще не работает.... А если вы ЭТО увидите вам плохо станет...
    Так вот. Я с логической точки зрения гляжу на код свой (тот что вверху) и не могу понять что же в нем не правильного, все нормально, а почему он тупит понять не могу....
     
  6. а смотреть-то не надо. с логической точки зрения.
    Надо отлаживать. руками.
    выполнять построчно и контролировать - что происходит