Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [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 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

Ten post edytował jjarkus 26.08.2008, 20:02:55
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
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 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

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 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
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 11:32