За последние 24 часа нас посетили 19063 программиста и 1623 робота. Сейчас ищут 763 программиста ...

Ошибка в гостевухе

Тема в разделе "PHP для новичков", создана пользователем Serg, 4 янв 2007.

  1. Vitas

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

    С нами с:
    7 фев 2006
    Сообщения:
    595
    Симпатии:
    0
    Адрес:
    Новосибирск, Академгородок
    PHP:
    1. <?php
    2.  
    3. ini_set("display_errors","1");
    4. ini_set("error_reporting",E_ALL);
    5.  
    6. include "template.php";
    7.  
    8. $title="<title>Мобилография :: госетвая книга</title>";
    9.  
    10. print $htmlstart.$title.$rights.$htmlstyles;
    11.  
    12. $filename="gb.txt";
    13. $div="~";
    14. $form="
    15. <FORM action=" . $_SERVER ["PHP_SELF"] . " METHOD=POST>
    16. <b>Автор:</b><br><INPUT TYPE=TEXT name=aname size=35><br>
    17. <b>E-mail:</b><br><INPUT TYPE=TEXT name=email size=35><br>
    18. <b>Web-сайт:</b><br><INPUT TYPE=TEXT name=homepage size=35 value=http://><br>
    19. <b>Текст:</b><br><TEXTAREA ROWS=4 COLS=40 name=text></TEXTAREA><br><br>
    20. <INPUT TYPE=SUBMIT VALUE=Добавить>
    21. </FORM>
    22. ";
    23.  
    24.    if (isset($_POST['text']))
    25.    {
    26.    $date=getdate();
    27.    $aname=str_replace($div, '', htmlspecialchars($_POST['aname'], ENT_QUOTES));
    28.    $email=str_replace($div, '', htmlspecialchars($_POST['email']));
    29.    $homepage=str_replace($div, '', htmlspecialchars($_POST['homepage'], ENT_QUOTES));
    30.    $text=str_replace($div, '', htmlspecialchars($_POST['text'], ENT_QUOTES));
    31.    $text=str_replace("\n", " ", $text);
    32.    $text=str_replace("\r", " ", $text);
    33.    $year=$date['year'];
    34.    $mon=$date['mon'];
    35.    $mday=$date['mday'];
    36.    $hours=$date['hours'];
    37.    $minutes=$date['minutes'];
    38.    $message=array($aname, $email, $homepage, $text, $year, $mon, $mday, $hours, $minutes);
    39.    $message=implode($div, $message);
    40.  
    41.    $file=fopen($filename,"a") or die ("Ошибка открытия файла");
    42.    flock($file, LOCK_EX) or die ("Ошибка flock()");
    43.    fwrite($file, $message."\n") or die ("Ошибка записи файла");
    44.    flock($file, LOCK_UN) or die ("Ошибка flock()");
    45.    fclose($file) or die ("Ошибка закрытия файла");
    46.    }
    47.  
    48. $textarray=file($filename) or die ("Произошла ошибка чтения файла!!!<br>Возможно, просто нет записей <br><br><br> $form $htmlend");
    49. $textarray=array_reverse ($textarray);
    50.  
    51. $curr=0;
    52. $totalmessages = count($textarray);
    53. $messages=10;
    54. $pages=ceil($totalmessages/$messages);
    55. $start=isset($_GET['start']) ? intval($_GET['start']) : 0;
    56.  
    57. print "<center><small>";
    58. for ($i=0; $i<$pages; $i++) {
    59. print "[<a href=gbook.php?start=".($messages*$i).">".($i+1)."</a>]";
    60. }
    61. print "</small></center><br><br>";
    62.  
    63.    foreach ($textarray as $message)
    64.    {
    65.       if ( $curr>=$start && $curr<$start+$messages )
    66.       {
    67.       $message=explode ($div, $message);
    68.       $name=$message[0];
    69.       $email=$message[1];
    70.       $homepage=$message[2];
    71.       $text=$message[3];
    72.       $text=wordwrap($text, 75, "<br>");
    73.       $year=$message[4];
    74.       $mon=$message[5];
    75.       $mday=$message[6];
    76.       $hours=$message[7];
    77.       $minutes=$message[8];
    78.  
    79.          if ($name==''){ $name="Без имени"; }
    80.  
    81.          if ($homepage!='')
    82.          {
    83.          print "<a href=$homepage target=new_window><b>".$name."</b></a>&amp;nbsp;&amp;nbsp;&amp;nbsp;";
    84.          } else {
    85.                 print "<b>".$name."</b>&amp;nbsp;&amp;nbsp;&amp;nbsp;";
    86.                 }
    87.          if ($email!='')
    88.          {
    89.          print "[<a href=mailto:$email><b>".$email."</b></a>] <b>:</b><br>";
    90.          } else { print "<b>:</b><br>"; }
    91.  
    92.       print $text."<br>";
    93.       print "<small><b>".$mday.".".$mon.".".$year."&amp;nbsp;&amp;nbsp;&amp;nbsp;".$hours.":".$minutes."</b></small><br>";
    94.       print "<hr width=185 align=left color=#A24033>";
    95.       }
    96.    $curr++;
    97.    }
    98.  
    99. print "<center><small>";
    100. for ($i=0; $i<$pages; $i++) {
    101. print "[<a href=gbook.php?start=".($messages*$i).">".($i+1)."</a>]";
    102. }
    103. print "</small></center><br><br>";
    104.  
    105. print $form;
    106.  
    107. print $htmlend;
    108.  
    109. ?>
    На локалке у тебя прошлый код не должен был работать, так как он вызывал Fatal Error, этот код работает, правда у меня выдает нкоторые ошибки.
     
  2. Vladson

    Vladson Старожил

    С нами с:
    4 фев 2006
    Сообщения:
    4.040
    Симпатии:
    26
    Адрес:
    Estonia, Tallinn
    У тебя самая лучшая локалка и все хостинги которые настроены не так как у тебя просто ламеры :)
    Тогда что ты ещё хочешь, чтоб я пошёл и ударил админам jino-net по морде ?
     
  3. Serg

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

    С нами с:
    7 авг 2006
    Сообщения:
    66
    Симпатии:
    0
    Адрес:
    Тамбов
    Так всё таки ошибка в скрипте? Не думал, т. к. у меня в настройках он отображает ВСЕ ошибки, но их нет. Странно, буду разбираться.
     
  4. Vitas

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

    С нами с:
    7 фев 2006
    Сообщения:
    595
    Симпатии:
    0
    Адрес:
    Новосибирск, Академгородок
    Я здусь только что выложил код, его используй.
     
  5. Serg

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

    С нами с:
    7 авг 2006
    Сообщения:
    66
    Симпатии:
    0
    Адрес:
    Тамбов
    Спасибо конечно за код, Vitas, но опять на локалке всё работает, а на сервере опять же пустая страница. Попробую ещё раз обратиться к их админам.
     
  6. Serg

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

    С нами с:
    7 авг 2006
    Сообщения:
    66
    Симпатии:
    0
    Адрес:
    Тамбов
    Кстати, такой же код отвечает за добавление комментов к фоткам, и он работает на их сервере, я пробовал, а вот гостевуха просто не грузится. Чего только не пробовал: и другое имя, и путь другой - ничего.