Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Bardzo Prostu System Newsow
Forum PHP.pl > Forum > Gotowe rozwiązania
Major
Witam,
zaczynam dopero programowac w php i chcialbym by ktos napisal PROSTY system newsow z Panelem Admina i Czytaj wiecej,(i ew. Komentarze ale nie koniecznie) z Komentarzami czyli co jaka funkcja robi bo ja najlepiej sie ucze na przykladach, niz czytajac kursy albo manuala(pewnie dlatego ze nie jest w pelni po Polsku :/)
Nie skorzystalem z jakiegos gotowego juz skryptu bo zadko w nim sa komentarze w j.polskim i jest łatwo napisany. sad.gif
Pozdrawiam
marlowe
Hm. Jakiś czas temu jeden z użytkowników poprosił o napisanie bardzo prostego systemu newsów opartego na plikach- napisałem go wtedy i znalazłem go teraz na komputerze. Nie ma w nim panelu admina ani komentarzy i jest naprawdę wybitnie prosty ale może Ci się przyda:
index.php
  1. <form action=\"zapis.php\" method=\"get\">
  2. Tytuł: <input type=\"text\" name=\"tytul\"/><br/>
  3. Treść: <textarea name=\"tresc\"></textarea><br/>
  4. <input type=\"submit\"/>
  5. <input type=\"reset\"/>
  6. </form><br/>
  7. Dostępne newsy:<br/>
  8. <?php
  9. $plik=&#092;"./news.txt\";
  10. if(!($fp=fopen($plik,&#092;"r\")))
  11.  die(&#092;"Nie moge otworzyć $plik.\");
  12. $posty=explode(&#092;"||\",fread($fp,1000));
  13. for($y=0;$y<count($posty)-1;$y++)
  14. {
  15. $zawartosc[]=explode(&#092;"*|*\",$posty[$y]);
  16. echo &#092;"<a href=\"wysw.php?post=$y\\">\".$zawartosc[$y][0].\"</a><br/>\";
  17. }
  18. ?>

Na początku jest oczywiście zwykły formularz HTML, potem podaję nazwę pliku, w którym znajdują się zapisane już newsy i otwieram go- w przypadku niepowodzenia wypisywany jest odpowiedni komunikat, następnie dzielę (explode) zawartość wczytanego pliku (fread) pod względem występowania podciągu "||" (stanowi on separator kolejnych postów), potem za pomocą pętli każdy podciąg między separatorami dzielę jeszcze ze względu na znaki "*|*"- oddzielają one tytuł posta od jego treści, potem wyświetlam tytuł wraz z linkiem do skryptu wyświetlającego treść.
wysw.php
  1. <?php
  2. $plik=&#092;"./news.txt\";
  3. if(!($fp=fopen($plik,&#092;"r\")))
  4.  die(&#092;"Nie moge otworzyć $plik.\");
  5. $posty=explode(&#092;"||\",fread($fp,1000));
  6. for($y=0;$y<count($posty)-1;$y++)
  7. {
  8. $zawartosc[]=explode(&#092;"*|*\",$posty[$y]);
  9. }
  10. $post=$_GET['post'];
  11. {
  12. echo &#092;"Oto news o tytule \".$zawartosc[$post][0].\"<br/>\";
  13. echo $zawartosc[$post][1];
  14. }
  15. ?>

Działanie skryptu jest podobne do poprzedniego- różni się tym, że pobiera on z tablic GET numer posta do wyświetlenia i wyświetla i tytuł i jego treść.
zapis.php
  1. <?php
  2. $plik=&#092;"./news.txt\";
  3. if(!($fp=fopen($plik,&#092;"a\")))
  4.  die(&#092;"Nie moge otworzyć $plik.\");
  5. $tytul=$_GET[tytul];
  6. $tresc=$_GET[tresc];
  7. $content=$tytul.&#092;"*|*\".$tresc.\"||\";
  8. if(fwrite($fp,$content)) echo &#092;"News o tytule <B>$tytul</b> i treści <i>$tresc</i> został zapisany.\";
  9. ?>

Ten skrypt pobiera przesłane przez formularz dane i zapisuje w pliku- stosuje wspomniane wcześniej separatory oraz wyświetla stosowny komunikat.
news.txt
W tym pliku są zapisywane newsy

Wiem, że skrypt jest hiper prosty ale o taki prosiłeś. Mam nadzieję, że się przyda.
Pozdrawiam. Bartek
Major
Dzieki za skrypt ale niestety mi nie dziala. Wyskakuje mi
Kod
Parse error: parse error, unexpected '&' in c:\usr\krasnal\www\news\index.php on line 10

Wolałbym na MySQL'u ale taki tez moze byc.
marlowe
Na forum jest błąd i zamieniane są niektóre znaki '!' na &#33; i '/' na '&#92;- musisz to sobie poprawić ręcznie.
Pozdrawiam. Bartek
Major
W pliku Index.php bodajze byl blad, bo wyskakiwal parse error. Ale wydaje mi sie ze go przerobilem
  1. <form action=\"zapis.php\" method=\"get\">
  2. Tytuł: <input type=\"text\" name=\"tytul\"/><br/>
  3. Treść: <textarea name=\"tresc\"></textarea><br/>
  4. <input type=\"submit\"/>
  5. <input type=\"reset\"/>
  6. </form><br/>
  7. Dostępne newsy:<br/>
  8. <?php
  9. $plik=&#092;"./news.txt\";
  10. if(!($fp=fopen($plik,&#092;"r\")))
  11. die(&#092;"Nie moge otworzyć $plik.\");
  12. $posty=explode(&#092;"||\",fread($fp,1000));
  13. for($y=0;$y<count($posty)-1;$y++)
  14. {
  15. $zawartosc[]=explode(&#092;"*|*\",$posty[$y]);
  16. echo &#092;"<a href=wysw.php?post=$y/ >\".$zawartosc[$y][0].\"</a><br/>\";
  17. }
  18. ?>

Ale jak uruchamiam to nie wyswietla mi sie news pisze mi "Oto news o tytule" ale nic sie nie wyswietla. A w pliku news.txt jest zapisany news. Co to mzoe byc?
Juz odkrylem poprostu myslalem ze jak wpisze sciezke do wysw.php to sie pokaza newsy ale juz jest dobrze. Szkoda ze t nie jest na MySQL :/
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-2024 Invision Power Services, Inc.