Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] problem z news'ami
jjarkus
post
Post #1





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 26.08.2008

Ostrzeżenie: (0%)
-----


witam,
mam problem z newsami (IMG:http://forum.php.pl/style_emoticons/default/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 (IMG:http://forum.php.pl/style_emoticons/default/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 (IMG:http://forum.php.pl/style_emoticons/default/czarodziej.gif)

Ten post edytował jjarkus 26.08.2008, 20:02:55
Go to the top of the page
+Quote Post
krzmig
post
Post #2





Grupa: Zarejestrowani
Postów: 22
Pomógł: 3
Dołączył: 24.01.2008
Skąd: Witnica

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
jjarkus
post
Post #3





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 26.08.2008

Ostrzeżenie: (0%)
-----


Dzięki, wszystko działa (IMG:http://forum.php.pl/style_emoticons/default/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ć (IMG:http://forum.php.pl/style_emoticons/default/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

Ten post edytował jjarkus 27.08.2008, 14:40:55
Go to the top of the page
+Quote Post
krzmig
post
Post #4





Grupa: Zarejestrowani
Postów: 22
Pomógł: 3
Dołączył: 24.01.2008
Skąd: Witnica

Ostrzeżenie: (0%)
-----


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

Ten post edytował krzmig 27.08.2008, 18:06:21
Go to the top of the page
+Quote Post
jjarkus
post
Post #5





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 26.08.2008

Ostrzeżenie: (0%)
-----


Hmm... a więc tak (IMG:http://forum.php.pl/style_emoticons/default/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. ?>
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 05:15