Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Problem z wyświetleniem newsów., Znak ENTER w formularzu rozpoczyna nowy news
Fiox
post
Post #1





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 19.03.2011

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


Witam.
Mam prosty skrypt newsów oparty na plikach i podczas dodawania newsa, gdy w formularzu dam enter, aby rozpoczęło mi nową linię, to dzieli mi newsa na dwa, i ogólnie wszystko się rozwala. Wygląda to mniej więcej tak jak na screenie niżej.



A tutaj kod z pliku dodaj.php który odpowiada za tworzenie nowego newsa
  1. <?php
  2. // Ten skrypt należy tylko i wyłącznie do Marii Budnik. Kopiowanie i wykorzystywanie go tylko z tym komentarzem.
  3. ?>
  4. <!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">
  5. <html>
  6. <head>
  7. <meta http-equiv="content-type" content="text/html; charset=iso-8859-2">
  8. <meta name="description" content="krótki opis">
  9. <meta name="keywords" content="keyword1, keyword2, keyword3">
  10. <meta name="Authoring-tool" content="Pajaczek NxG PRO v5.9.5">
  11. <title>Tytuł</title>
  12. </head>
  13. <body>
  14. <?php
  15. if($_SESSION['login']==Fiox)
  16. {
  17. if(isset($_SESSION['login']))
  18. {
  19. if (isset($_POST['dodaj']))
  20. {
  21. if (empty ($_POST['tytul']) OR empty($_POST['tresc']))
  22. {
  23. echo 'Dodawanie<br />';
  24. echo 'Jezli chcesz dodać newsa wypełnij poniższy formularz. Jezeli nie, wróć do <a href="main.php">poprzedniej strony</a>.<br />';
  25. echo '<form method="post" action="dodaj.php">';
  26. echo '<table>';
  27. echo '<tr><td>Autor newsa:</td>';
  28. echo '<td><input type="text" name="autor" size="50" value="'.$autor.'" /></td></tr>';
  29. echo '<tr><td>Tytuł newsa:</td>';
  30. echo '<td><input type="text" name="tytul" size="50" value="'.$tytul.'" /></td></tr>';
  31. echo '<tr><td>Tresc newsa:</td>';
  32. echo '<td><textarea name="tresc" cols="50" rows="15" value="'.$tresc.'"/></textarea></td></tr>';
  33. echo '<tr><td colspan="2" align="center">';
  34. echo '<input type="submit" value="Dodaj" name="dodaj" /></td></tr>';
  35. echo '</table></form>';
  36. }
  37. else
  38. {
  39. $tytul=trim($_POST['tytul']);
  40. $autor=trim($_POST['autor']);
  41. $tresc=trim($_POST['tresc']);
  42. $data=date('d-m-Y');
  43. {
  44. $tytul=addslashes($tytul);
  45. $autor=addslashes($autor);
  46. $tresc=addslashes($tresc);
  47. }
  48. $ciagwyjsciowy = $tytul."\t".$data."\t".$tresc."\t".$autor."\n";
  49. @ $wp = fopen('newsy.txt', 'ab');
  50. if (!$wp)
  51. {
  52. echo 'Błąd<br />';
  53. echo 'News nie może zostać zapisany w tej chwili. Proszę spróbować póĽniej.';
  54. }
  55. fwrite($wp, $ciagwyjsciowy, strlen($ciagwyjsciowy));
  56. fclose($wp);
  57. echo 'Dodawanie<br />';
  58. echo 'News dodany.<br /></a><a href="main.php">>>Wróć</a>';
  59. }
  60. }
  61. else
  62. {
  63. echo 'Dodawanie<br />';
  64. echo 'Jezeli chcesz dodać newsa wypełnij poniższy formularz. Jezeli nie, wróć do <a href="main.php">poprzedniej strony</a>.<br />';
  65. echo '<form method="post" action="dodaj.php">';
  66. echo '<table>';
  67. echo '<tr><td>Autor newsa:</td>';
  68. echo '<td><input type="text" name="autor" size="50" value="'.$autor.'" /></td></tr>';
  69. echo '<tr><td>Tytuł newsa:</td>';
  70. echo '<td><input type="text" name="tytul" size="50" value="'.$tytul.'" /></td></tr>';
  71. echo '<tr><td>Tresc newsa:</td>';
  72. echo '<td><textarea name="tresc" cols="50" rows="15" value="'.$tresc.'"/></textarea></td></tr>';
  73. echo '<tr><td colspan="2" align="center">';
  74. echo '<input type="submit" value="Dodaj" name="dodaj" /></td></tr>';
  75. echo '</table></form>';
  76. }
  77. }
  78. }
  79. else
  80. {
  81. echo 'Aby dodać newsa musisz byc zalogowany jako admin!';
  82. }
  83. ?>
  84. </body>
  85. </html>


Oraz wyświetl.php, które odpowiada za wyświetlanie newsa

  1. <!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">
  2. <html>
  3. <head>
  4. <meta http-equiv="content-type" content="text/html; charset=iso-8859-2">
  5. <meta name="description" content="krótki opis">
  6. <meta name="keywords" content="keyword1, keyword2, keyword3">
  7. <meta name="Authoring-tool" content="Pajaczek NxG PRO v5.9.5">
  8. <title>Tytuł</title>
  9. </head>
  10. <body>
  11. <?php
  12. // Ten skrypt należy tylko i wyłacznie do Marii Budnik. Kopiowanie i wykorzystywanie go tylko z tym komentarzem.
  13. $newsy = file("newsy.txt");
  14. $ile_znal = count($newsy);
  15. $ile_newsow=$ile_znal-5;
  16. echo '<center><b>Aktualnosci</b></center><br />';
  17. for ($i=$ile_znal-1; $i>=$ile_newsow; $i--)
  18. {
  19. $linia = explode( "\t", $newsy[$i]);
  20. if ($linia[0]==null) {
  21. }
  22. else
  23. {
  24. echo "".$linia[0]."<br />".$linia[1]."<br />";
  25. echo '<img src="aeonnews.png" align="left" />'.$linia[2];
  26. echo "<table><tr><td>Napisał: ".$linia[3]."</td></tr></table><br /><hr><br />";
  27.  
  28. }
  29.  
  30. }
  31. echo '<center><a href="archiwumnewsow.php">Archiwum aktualnosci</a></center>';
  32. ?>
  33.  
  34.  
  35. </body>
  36. </html>


Oraz plik newsy.txt w którym są zapisywane newsy:
News testowy (1)<tabulator>15-04-2011<tabulator>TEST TEST1 TEST2 TEST3 TEST4 TEST5 TEST6 TEST7 TEST8 TEST9 TEST10 i tak dalej...<tabulator>FioxNews testowy (2)<tabulator>15-04-2011<tabulator>TEST1 TEST2 TEST3 TEST4 TEST5 enter<nowa linia>
i tutaj po enterze TEST6 TEST7 TEST8 TEST9 TEST10<tabulator>Mat

Tutaj nie zmieściło mi się tak jak jest w pliku .txt więc znak tabulatora oznaczyłem <tabulator> a znak nowej lini <nowa linia>

PS: Skrypt nie jest mój
Go to the top of the page
+Quote Post

Posty w temacie


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: 22.08.2025 - 03:59