Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: jak dodać link do tematu w tym systemie newsów?
Forum PHP.pl > Forum > PHP
kemsi
Witam!! Mam taki banalny system newsów oparty na plikach tekstowych. Jak dodaje newsa to nie wime jak zrobić, żeby jak się kliknie w temat to się otwierałjak link. Chodzi o to, żeby miałswój adres, abym później mógł coś tam dodać np. możliwośc komentowania.

plik dodaje.php

  1. <? 
  2. echo &#092;" 
  3. <FORM METHOD=&#092;"POST\" action=\"wysylam.php\"> 
  4. <b>Tytul: </b> <input type=&#092;"text\" name=\"tytul\" style=\"width: 300px;\"><br> 
  5. <b>Tresc: </b><textarea type=&#092;"text\" name=\"tresc\" style=\"height: 300px; width: 300px;\">$linia[2]</textarea><br> 
  6. <b>Dodał </b><input type=&#092;"text\" name=\"imie\" style=\"width: 100px;\">$linia[3]<br> 
  7. <b>Mail: </b><input type=&#092;"text\" name=\"mail\" style=\"width: 100px;\">$linia[4]<br> 
  8. <b>Dodaj Newsa: </b><input type=&#092;"submit\" value=\" DODAJ \"> 
  9. </form> 
  10. &#092;"; 
  11. ?>




plik news.php

  1. <HTML> 
  2. <HEAD> 
  3. </HEAD> 
  4. <BODY> 
  5. <? 
  6. $sciezka=file(&#092;"newsy.txt\"); 
  7. for($i=0;$i<count(5);$i++) 
  8. { 
  9. $linia=explode(&#092;"|\", $sciezka[$i]); 
  10. echo &#092;"<table border=\"1\" width=\"300\"><tr><td> 
  11. Tytul: $linia[0]</td></tr><tr><td height=&#092;"100%\" valign=\"top\">$linia[2]</td></tr> 
  12. <tr><td>News napisany przez: <b><i><a href=&#092;"mailto:$linia[4]\">$linia[3]</a> 
  13. </td></tr></table><br> 
  14. &#092;"; 
  15. } 
  16. ?> 
  17. <br><br> 
  18. <table><tr><td>Wszystkie newsy:</td></tr> 
  19. <? 
  20. $sciezka=file(&#092;"newsy.txt\"); 
  21. for($i=0;$i<count(5);$i++) 
  22. { 
  23. $linia=explode(&#092;"|\", $sciezka[$i]); 
  24. echo &#092;" 
  25. <tr><td><a href=&#092;"#$linia[0]\">$linia[0]</a></td></tr> 
  26. &#092;"; 
  27. } 
  28. ?> 
  29. <tr><td>Pokaż wszystkie tematy: <a href=\"archiwum.php\">Archiwum</a></td></tr></table> 
  30. </BODY> 
  31. </HTML>




plik wysylam.php

  1. <? 
  2. $data = date(&#092;"j.m.Y G:i\"); 
  3. $tytul=$_POST[&#092;"tytul\"]; 
  4. $autor=$_POST[&#092;"imie\"]; 
  5. $tresc=$_POST[&#092;"tresc\"]; 
  6. $mail=$_POST[&#092;"mail\"]; 
  7.  
  8. $fn = &#092;"newsy.txt\"; 
  9. $pokaz = &#092;"$tytul|$data|$tresc|$autor|$mail\"; 
  10.  
  11. $plik = file($fn); 
  12. $plik = implode(&#092;"\",$plik); 
  13. $plik = $pokaz.&#092;"rn\".$plik; 
  14.  
  15. $fp = fopen($fn , &#092;"w\");flock($fp, 2); 
  16. fputs($fp, $plik); 
  17. flock($fp, 3); fclose($fp); 
  18.  
  19. echo &#092;"Twój news został dodany prawidłowo!! <a href=\"news.php\">Strona z newsami</a><br>\"; 
  20.  
  21. ?>




Jak ktoś wie jak to przekształcić to prosiłbym, aby mi to ktoś wytłumaczył.
shima
Jeżeli masz newsa w pliku news12345689.php to twórz dla niego np. news12345689_comment.php i tam dorzucaj komentarze.
kemsi
A jeśli zapisuje te wszystkie newsy do jednego pliku .txt to jak mam to zrobic? Teraz drugie pytanie. Jka zrobic, aby zapisywał mi pliki pod nazwą np. 123456789.php?
shima
Cytat(kemsi @ 2004-12-11 11:32:08)
A jeśli zapisuje te wszystkie newsy do jednego pliku .txt to jak mam to zrobic? Teraz drugie pytanie. Jka zrobic, aby zapisywał mi pliki pod nazwą np. 123456789.php?

Jeżeli zapisujesz do jednego tak po prostu bez identyfikatora, to problem. Używaj osobnych plików, a najlepiej mysql-a. A jezeli chodzi o kolejne numery plików, to nie numeruj ich jak napisałem, 12345678.ext tylko, skoro to newsy, datami np: news2004_12_11_3.ext bo to np 3 dzisiaj. Jak to zrobić? Tworzysz string z datą
date" title="Zobacz w manualu PHP" target="_manual
time" title="Zobacz w manualu PHP" target="_manual
sprawdzasz, czy istnieje plik z dzisiajszą datą i nr 1, jeżeli tak, to czy istnieje nr2 i tak aż znajdziesz wolny numer. A plik stworzyć umiesz, bo w końcu napisałeś system newsów.
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.