Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] problem z news'ami
Forum PHP.pl > Forum > PHP
jjarkus
witam,
mam problem z newsami sadsmiley02.gif
tu podaje kod php
CODE

<?php
if($HTTP_POST_VARS['submit']) {
if($HTTP_POST_VARS['password'] == 'password') {
if(!$HTTP_POST_VARS['name']) {
echo "You must enter a name";
exit;
}
if(!$HTTP_POST_VARS['news']) {
echo "Napisz cos baranie";
exit;
}
if(strstr($HTTP_POST_VARS['name'],"|")) {
echo "Imie nie może zawierać symbolu - |";
exit;
}
if(strstr($HTTP_POST_VARS['news'],"|")) {
echo "News nie moze zawierac symbolu - |";
exit;
}
$fp = fopen('news.txt','a');
if(!$fp) {
echo "Error opening file!";
exit;
}
$line = date("m.d.y") . "|" . $HTTP_POST_VARS['name'];
$line .= "|" . $HTTP_POST_VARS['news'];
$line = str_replace("\r\n","
",$line);
$line .= "\r\n";
fwrite($fp, $line);
if(!fclose($fp)) {
echo "Error closing file!";
exit;
}
} else {
echo "Bad Password";
}
}

?>


a tutaj część odpowiedzialną za wyświetlanie newsów
CODE

<?php
$data = file('news.txt');
$data = array_reverse($data);
foreach($data as $element) {
$element = trim($element);
$pieces = explode("|", $element);
echo
$pieces[2] . "<BR>" . "<b>Dodane przez " . $pieces[1] . " dnia " . $pieces[0] . "</b><BR><BR>";
}
?>


I teraz mam problem bo za chiny nie mogę dostosować wyglądu newsa sciana.gif
Nie mogę do tego wstawić kodu php, bo za każdym razem strona znika (wyświetla się tylko białe tło)
CODE
<div class="post">
<div class="header">
<h3>ble ble</h3>
<div class="date">Tutaj powinna być data wyświetlona</div>
</div>
<div class="content">
Treść newsa i autor powinny być tutaj wyświetlone
<div>
<div>
Dzięki za pomoc czarodziej.gif
krzmig
Do sekcji która odpowiada za wyświetlanie wstaw:

  1. <?php
  2. $data = file('news.txt');
  3. $data = array_reverse($data);
  4. foreach($data as $element) {
  5. $element = trim($element);
  6. $pieces = explode("|", $element);
  7. echo '<div class="post">
  8. <div class="header">
  9. <h3>ble ble</h3>
  10. <div class="date"><b>Dodane dnia '.$pieces[0].'</div>
  11. </div>
  12. <div class="content">
  13. Autor: '.$pieces[1].'<br/>
  14. '.$pieces[2].'
  15. </div>
  16. </div>';
  17. }
  18. ?>


nie sprawdzałem ale powinno działać

kod php:
  1. <?php
  2. if($HTTP_POST_VARS['submit']) 
  3. {
  4. if($HTTP_POST_VARS['password'] == 'password') 
  5. {
  6. if(!$HTTP_POST_VARS['name']) 
  7. {
  8. echo "You must enter a name";
  9. }
  10. if(!$HTTP_POST_VARS['news']) 
  11. {
  12. echo "Napisz cos baranie";
  13. }
  14. if(!$HTTP_POST_VARS['title']) 
  15. {
  16. echo "You must enter some title";
  17. }
  18. if(strstr($HTTP_POST_VARS['name'],"|")) 
  19. {
  20. echo "Imie nie może zawierać symbolu - |";
  21. }
  22. if(strstr($HTTP_POST_VARS['news'],"|")) 
  23. {
  24. echo "News nie moze zawierac symbolu - |";
  25. }
  26. if(strstr($HTTP_POST_VARS['title'],"|")) 
  27. {
  28. echo "Tytuł nie moze zawierac symbolu - |";
  29. }
  30. $fp = fopen('news.txt','a');
  31. if(!$fp) 
  32. {
  33. echo "Error opening file!";
  34. }
  35. $line = date("m.d.y") . "|" . $HTTP_POST_VARS['name'];
  36. $line .= "|" . $HTTP_POST_VARS['news'] . "|" . $HTTP_POST_VARS['title'];
  37. $line = str_replace("r\n","
  38. ",$line);
  39. $line .= "r\n";
  40. fwrite($fp, $line);
  41. if(!fclose($fp)) 
  42. {
  43. echo "Error closing file!";
  44. }
  45. }
  46. else 
  47. {
  48. echo "Bad Password";
  49. }
  50. }
  51.  
  52. ?>


Nie zapisywałeś tytułu do pliku i nie sprawdzałeś czy nie zawiera "|" ;P
jjarkus
Dzięki, wszystko działa yahoo.gif
Teraz pracuje nad dodaniem komentarzy do tego skryptu newsów.
I zastanawiam się jak to zrobić.
Np. przy dodawaniu news'a żeby mi skrypt tworzył nowy plik txt z komentarzami do niego?
Tylko nie za bardzo wiem jak się do tego zabrać wstydnis.gif

Załóżmy, że to będzie plik dodkom.php
  1. <?
  2. if($HTTP_POST_VARS['submit']) {
  3. if(!$HTTP_POST_VARS['name']) {
  4. echo "Podaj nick";
  5. }
  6. if(!$HTTP_POST_VARS['tresc']) {
  7. echo "Wpisz tresc komentarza";
  8. }
  9. if(strstr($HTTP_POST_VARS['name'],"|")) {
  10. echo "Imie nie moze zawierac symbolu - |";
  11. }
  12. if(strstr($HTTP_POST_VARS['tresc'],"|")) {
  13. echo "Tresc komentarza nie moze zawierac symbolul - |";
  14. }
  15. $fp = fopen('komentarz.txt','a');
  16. if(!$fp) {
  17. echo "Error opening file!";
  18. }
  19. $line = date("m.d.y") . "|" . $HTTP_POST_VARS['name'].;
  20. $line .= "|" . $HTTP_POST_VARS['tresc'];
  21. $line = str_replace("r\n","<BR>",$line);
  22. $line .= "r\n";
  23. fwrite($fp, $line);
  24. if(!fclose($fp)) {
  25. echo "Blad podczas zamykania pliku!";
  26. }  
  27. }
  28.  
  29.  
  30. ?>
  31.  
  32. <FORM ACTION="<?=$PHP_SELF?>" METHOD="POST" NAME="komentarze">
  33. Imię:<BR>
  34. <INPUT TYPE="text" SIZE="30" NAME="name"><BR>
  35. Treść komentarza:<BR>
  36. <TEXTAREA NAME="tresc" COLS="40" ROWS="5"></TEXTAREA><BR><BR>
  37. <INPUT TYPE="submit" NAME="submit" VALUE="Dodaj!"><BR>
  38. </FORM>


A tu kod odpowiedzialny za wyświetalnie:
  1. <?php
  2. $data = file('news.txt');
  3. $data = array_reverse($data);
  4. foreach($data as $element) {
  5. $element = trim($element);
  6. $pieces = explode("|", $element);
  7. echo $pieces[2] . "<BR>" . "<b>Dodane przez " . $pieces[1] . " dnia " . $pieces[0] . "</b><BR><BR>";
  8. }
  9. ?>


Nie działa mi niestety strona dodkom.php
krzmig
dodkom.php
  1. <?
  2. if($HTTP_POST_VARS['submit']) {
  3. if(!$HTTP_POST_VARS['name']) {
  4. echo "Podaj nick";
  5. }
  6. if(!$HTTP_POST_VARS['tresc']) {
  7. echo "Wpisz tresc komentarza";
  8. }
  9. if(strstr($HTTP_POST_VARS['name'],"|")) {
  10. echo "Imie nie moze zawierac symbolu - |";
  11. }
  12. if(strstr($HTTP_POST_VARS['tresc'],"|")) {
  13. echo "Tresc komentarza nie moze zawierac symbolul - |";
  14. }
  15. $fp = fopen('komentarz.txt','a');
  16. if(!$fp) {
  17. echo "Error opening file!";
  18. }
  19. $line = date("m.d.y") . "|" . $HTTP_POST_VARS['name'];
  20. $line .= "|" . $HTTP_POST_VARS['tresc'];
  21. $line = str_replace("r\n","<BR>",$line);
  22. $line .= "r\n";
  23. fwrite($fp, $line);
  24. if(!fclose($fp)) {
  25. echo "Blad podczas zamykania pliku!";
  26. }  
  27. }
  28.  
  29.  
  30. ?>
  31.  
  32. <FORM ACTION="<?=$PHP_SELF?>" METHOD="POST" NAME="komentarze">
  33. Imię:<BR>
  34. <INPUT TYPE="text" SIZE="30" NAME="name"><BR>
  35. Treść komentarza:<BR>
  36. <TEXTAREA NAME="tresc" COLS="40" ROWS="5"></TEXTAREA><BR><BR>
  37. <INPUT TYPE="submit" NAME="submit" VALUE="Dodaj!"><BR>
  38. </FORM>

u mnie przeszło, ale nie sprawdzałem czy zapisuje itp.

i zmień w wyświetlaniu news.txt na komentarz.txt
jjarkus
Hmm... a więc tak worriedsmiley.gif
Postanowiłem zmienić trochę system newsów i oprzeć go na TinyMCE.
I mam teraz kłopot.. Pracuje nad edycją newsów i mam pytanie.
Otóż moje newsy po dodaniu są zapisywane w katalogu "news".
I teraz jak zrobić żebym mógł wybrać newsa i otworzyć go z poziomu przeglądarki i edytować?
Chodzi mi o zwykły kod php, który np. wyświetli listę plików z folderu "news", później będe mógł wybrać właściwy plik, odczytać go, zmienić jego treść, a następnie zapisać.

Tu zamieszczam skrypt dodawania newsów:
  1. <?php
  2. if (!isset($_POST['submit'])) {
  3. ?>
  4.  
  5. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
  6. <html>
  7. <head>
  8.  <title>Newsy</title>
  9.  <script language="javascript" type="text/javascript" src="/jscripts/tiny_mce/tiny_mce.js"></script>
  10. <script language="javascript" type="text/javascript">
  11.  
  12. tinyMCE.init({
  13. mode : "textareas",
  14. theme : "advanced",
  15. plugins : "safari,pagebreak,style,layer,table,save,advhr,advimage,
  16. advlink,emotions,iespell,insertdatetime,preview,media,searchreplace,
  17. print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbre
  18. king,xhtmlxtras,template"
  19. });
  20. </script>
  21. <head>
  22. <body>
  23. Dodawanie newsów<br/>
  24. <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
  25. Tytuł:<br/>
  26. <input type="text" name="title" size="40"/><br/><br/>
  27. Treœć:<br/>
  28. <textarea name="newstext" rows="15" cols="67"></textarea><br/>
  29. <center><input type="submit" name="submit" value="Zapisz" /></center>
  30. </form> 
  31. </body>  
  32.  
  33. <?php } else {
  34.  $newsTitel  = isset($_POST['title']) ? $_POST['title'] : 'Untitled';
  35.  $submitDate = date('Y-m-d g:i:s A');
  36.  $newsContent = isset($_POST['newstext']) ? $_POST['newstext'] : 'No content';
  37.  
  38.  $filename = date('YmdHis');
  39.  $f = fopen('news/'.$filename.".txt","w+");  
  40.  fwrite($f,$newsTitel."\n");
  41.  fwrite($f,$submitDate."\n");
  42.  fwrite($f,$newsContent."\n");
  43.  fclose($f);
  44.  
  45.  header('Location:index.php');  
  46. }
  47. ?>
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.