Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: księga gości oparta na plikach
Forum PHP.pl > Forum > Przedszkole
Volume
Witam
Mam taką prośbę, nagle przestała działać mi księga gości, która cały czas normalnie się sprawowała. Sam ją kiedyś trochę przerobiłem ale chodziła bez zarzutów. Kasięga jest w 1 pliku (1.php no i pilk tekstowy) i jest oparta na plikach i niby wszystko jest ok bo poprawnie zapisuje mi wpisy do pliku (plik.txt) ale mimo to na stronce nie widze, żadnych wpisów. W zamian na okres tymczasowy zicludowałem sobie ten plik.txt więc niby księga działa. I ta moja prosba polega na tym czy mógłby ktos sprawdzić na swoim serwerze czy u niego dzieje się to samo czy może wina stoi po stronie mojego serwera - darmowy of.pl. Chciałem sprawdzic na Lycosie ale tam w ogóle nie moge się dostać na konto ftp... Wchodzę przez total commandera i wszystko się loguje ale na tym się kończy.. nei wiem co jest grane ale to juz inny temat.

Kod do pliku:

1.php

  1. <div id=\"tytul\">
  2. <div id=\"ksi\">Księga Gości</div>
  3. </div>
  4.  
  5. <?php
  6. if($i==1){
  7. ?>
  8.  
  9. <?php
  10. $dane = wordwrap($dane, 37, &#092;" \", 1);
  11. $dane=htmlspecialchars($dane);
  12. $autor=htmlspecialchars($autor);
  13. $file=&#092;"plik.txt\";
  14. $data_tekst=&#092;"<span class='kolor-wyroznienia-ksiega'>data:</span>\";
  15. $godzina_tekst=&#092;"<span class='kolor-wyroznienia-ksiega'>godzina:</span>\";
  16. $nick=&#092;"<span class='kolor-wyroznienia-ksiega'>nick:</span>\";
  17. $email=&#092;"<span class='kolor-wyroznienia-ksiega'>mail:</span>\";
  18. $wpis=&#092;"<br />\";
  19. $odstep=&#092;"<br /><br />\";
  20. $kreska_pionowa=&#092;"<span class='kolor-wyroznienia-ksiega'>|</span>\";
  21. $spacja=&#092;"&nbsp;\";
  22. $poczta=&#092;"<a href=mailto:$mail>$mail</a>\";
  23. $data=date(&#092;"h:i d-m-Y\");
  24. $linia=&#092;"<div class='linia'></div>\";
  25. $fp=fopen(&#092;"$file\", \"r+\");
  26. $dane=$dane.fread($fp, filesize($file)); 
  27.  
  28. rewind($fp); 
  29.  
  30. fwrite($fp, $wpis);
  31. fwrite($fp, $linia);
  32.  
  33. fwrite($fp, $wpis);
  34. fwrite($fp, $nick);
  35. fwrite($fp, $spacja);
  36. fwrite($fp, $autor);
  37. fwrite($fp, $spacja);
  38. fwrite($fp, $kreska_pionowa);
  39. fwrite($fp, $spacja);
  40. fwrite($fp, $email);
  41. fwrite($fp, $spacja);
  42. fwrite($fp, $poczta);
  43. fwrite($fp, $spacja);
  44. fwrite($fp, $kreska_pionowa);
  45. fwrite($fp, $spacja);
  46. fwrite($fp, $data_tekst);
  47. fwrite($fp, $spacja);
  48. fwrite($fp, $data);
  49.  
  50. fwrite($fp, $odstep);
  51. fwrite($fp, $dane);
  52. fclose($fp);
  53. ?>
  54. <div class=\"wpis-dodany\">wpis dodany - <a href=\"?strona=1&i=2\">Zobacz wpisy</a></div>
  55.  
  56. <?php 
  57. }else{
  58. ?>
  59.  
  60. <p>jakis tekst</p>
  61.  
  62. <form action=\"?strona=1&i=1\" method=\"POST\">
  63.  
  64. <table class=\"tabela-ksiega\">
  65. <tr><td>Nick:</td><td><input class=\"ksiega\" name=\"autor\" /></td></tr>
  66. <tr><td>E-mail:</td><td><input class=\"ksiega\" name=\"mail\" /></td></tr>
  67. <tr><td>Wpis:</td><td><textarea class=\"ksiega\" name=\"dane\" rows=\"4\" cols=\"12\"></textarea></td></tr>
  68. <tr><td></td><td><input class=\"przycisk\" type=\"submit\" value=\"Dodaj\" />&nbsp;<input class=\"przycisk\" type=\"reset\" value=\" wyczyść \" /></td></tr>
  69. </table>
  70.  
  71. </form>
  72.  
  73. <?php
  74. $file=&#092;"plik.txt\";
  75. $fp=fopen(&#092;"$file\", \"r\");
  76. readfile(&#092;"$file\");
  77. fclose($fp);
  78. ?>
  79.  
  80.  
  81. <?php
  82. }
  83. ?>
  84. <!-- tego nie powinno być, dałem w zamian zeby wyswietlalo tymczasowo te wpisy... -->
  85. <?php include (&#092;"plik.txt\"); ?>


plikowi plik.txt nadaje chmod 666

---
Prosze kod php dawac w [php] wszytkim bedzie lepiej :-)
hwao
sf
Wykasuj to co jest w liniach 79-84 i wstaw :

  1. <?
  2. error_reporting(E_ALL); // ta linia tylko do testów
  3. readfile('plik.txt');
  4. ?>


Jeżeli nie wyświetli pliku to powinno Ci się wyświetlić błąd dlaczego nie może tego zrobić.
Volume
Niestety nic się nei wyświetla jakby nie było błędu... Ale to moze być wina serwera bo tam nigdy nie widac błędów a jak jest coś źle to poprostu puste białe okno sie pojawia i tyle.

W zamian jak juz wspomnialem poprostu uzylem include pliku plik.txt a to juz wywalilem:

  1. <?php
  2. $file=&#092;"plik.txt\";
  3. $fp=fopen(&#092;"$file\", \"r\");
  4. readfile(&#092;"$file\");
  5. fclose($fp);
  6. ?>


Ale zastanawiam się po co ktos pisał cos takiego (jak powyżej) skoro mozna było od razu wykozystac funkcje include... Czy może taka metoda jest lepsza? Nie bardzo się jeszcze w tym php łapie...
sf
Linijki z użyciem fopen i fclose nie są potrzebne przy użyciu readfile, więc tam było za dużo kodu niepotrzebnego. Funkcja readfile" title="Zobacz w manualu PHP" target="_manual posiada dodatkowe opcje, które nie są dostępne przy include. Przeczytaj sobie w manualu o szczegółach.
Volume
a czy jest możliwe, ze serwer na którym mam konto np wyyłączył tą funkcje? (jak to się niegdyś stało z funkcją mail). To by wyjaśniało czemu nei działa... Jeszcze sprawdze na Krasnalu bo gdzieś go miałem...
ganimedes
Nie używaj w funkcjach przed zmiennymi apostrofów to po pierwsze.

Po drugie zaglądaj czasem do manuala:
  1. <?php
  2. $uchwyt = fopen (&#092;"plik.txt\", \"r\");
  3. while (!feof ($uchwyt)) {
  4.  $buffer = fgets($uchwyt, 4096);
  5.  echo $buffer;
  6. }
  7. fclose ($uchwyt);
  8. ?>


Regards
Volume
Udało mi się sprawddic na innym serwerze i ten pierwszy kod zadziałała... czyli u mnie coś jest skopane..
Cytat
Nie używaj w funkcjach przed zmiennymi apostrofów to po pierwsze.

Po drugie zaglądaj czasem do manuala:
  1. <?php
  2. $uchwyt = fopen (&#092;"plik.txt\", \"r\");
  3. while (!feof ($uchwyt)) {
  4.    $buffer = fgets($uchwyt, 4096);
  5.    echo $buffer;
  6. }
  7. fclose ($uchwyt);
  8. ?>


Regards

Ten kod pomógł - wielkie dzięki za to.
Ale przyznam się szczerze, że nie do końca go rozumiem...
Również nie bardzo rozumiem co masz namyśli pisząc apostrof.... tzn gdzie ja mam apostrofy przed zmiennymi... czy chodzi o " cudzysłowia... sorki prawdopodobnie się chyba zamotałem... Wiem, wiem że mam braki;].

wielkie dziki wszytskim za pomoc.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.