Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Skrypt dodawanie newsów
radziowie
post
Post #1





Grupa: Zarejestrowani
Postów: 83
Pomógł: 0
Dołączył: 1.11.2010

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


Chcę stworzyć prosty skrypt newsów. Napisałem pewien kod i chodzi o to, żebym chciał aby formularz dokonywał wpisu dopiero po wciśnięciu przycisku "wyslij". Jak można zauważyć tutaj mamy dodawanie od razu po wczytaniu strony. Co możecie zaproponować? Co można tu przerobić/dodać?

  1. <?
  2. include ('../dodatki/bonus.php');
  3.  
  4. polacz_baza();
  5.  
  6. echo "<h1>NEWSY - DODAWANIE I WYŚWIETLANIE</H1>";
  7. echo '<form action="wiadomosci.php" method="post">
  8. Tytuł wiadomości: <input type="text" name="tytul" /><br />
  9. Treść wiadomości: <textarea></textarea><br />
  10. Autor: <input type="text" name="autor" /><br />
  11. <input type="submit" value="wyślij" />
  12. </form>';
  13.  
  14. $tytul = $_POST['tytul'];
  15. $text = $_POST['text'];
  16. $autor = $_POST['autor'];
  17. $data = date('Y-m-j');
  18.  
  19. //dodawanie danych do bazy
  20. $zapytanie = "INSERT INTO newsy VALUES (NULL, '".$tytul."', '".$text."', '".$autor."', '".$data."')";
  21. $result = mysql_query($zapytanie);
  22.  
  23.  
  24.  
  25. //wyświetlenie danych z bazy
  26. $wynik = mysql_query("SELECT * FROM newsy");
  27. echo '<table border="1" width="700"><tr><td width="30">ID</td><td>Tytuł</td><td width="170">text</td><td>autor</td><td>data</td></tr>';
  28. WHILE ($rekord = mysql_fetch_assoc ($wynik)) {
  29. $nrid = $rekord['id'];
  30. $tytul = $rekord['tytul'];
  31. $text = $rekord['text'];
  32. $autor = $rekord['autor'];
  33. $data = $rekord['data'];
  34.  
  35. echo '<tr><td width="30">'.$nrid.'</td><td>'.$tytul.'</td><td>'.$text.'<td>'.$autor.'</td><td>'.$data.'</td></tr>';
  36. }
  37. echo '</table>';
  38.  
  39. ?>
  40.  
  41. </body>
  42. </html>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
radziowie
post
Post #2





Grupa: Zarejestrowani
Postów: 83
Pomógł: 0
Dołączył: 1.11.2010

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


Dzięki. Zrobiłem to tak:
  1. if (isset($_POST['tytul']) && isset($_POST['text']) && isset($_POST['autor'])) {
  2. $tytul = mysql_real_escape_string(trim($_POST['tytul']));
  3. $text = mysql_real_escape_string(trim($_POST['text']));
  4. $autor = mysql_real_escape_string(trim($_POST['autor']));
  5. $data = date('Y-m-j');
  6. }

A co do jednego formularza do dodawania wiadomości i edycji ma ktoś jakiś pomysł?

Z góry przepraszam za ponownego posta. Udało mi się coś nowego stworzyć i niby pojawia się formularz, ale troche kiepsko ten kod wygląda. Da sie to jakoś inaczej zrobić?

  1. <?php
  2. //stosować tylko do projektu do wyszukania błędów
  3. ini_set('display_errors','1');
  4. // usunąć po zakończeniu projektowania
  5. //załączenie plików
  6. include ('../meta.php');
  7. include ('../dodatki/bonus.php');
  8. polacz_baza();
  9. $data = date('Y-m-j');
  10. function add_news () {
  11. echo "<h1>NEWSY - DODAWANIE I WYŚWIETLANIE</H1>";
  12. echo '<form action="wiadomosci.php" method="post">
  13. Tytuł wiadomości: <input type="text" name="tytul" /><br />
  14. Treść wiadomości: <textarea name="text" cols="50" rows="10"></textarea><br />
  15. Autor: <input type="text" name="autor" /><br />
  16.  
  17. <input type="submit" name="submit" value="wyślij" />
  18. </form>';
  19. }
  20. //sprawdzenie czy istnieją zmienne
  21. if (isset($_POST['tytul']) && isset($_POST['text']) && isset($_POST['autor'])) {
  22. //mysql_real_escape_string Dodaje znaki unikowe w łańcuchu znaków do użycia w instrukcji SQL, trim wycina spacje
  23. $tytul = mysql_real_escape_string(trim($_POST['tytul']));
  24. $text = mysql_real_escape_string(trim($_POST['text']));
  25. $autor = mysql_real_escape_string(trim($_POST['autor']));
  26. }
  27. //sprawdza czy istnieje zmienna$_POST['submit'], czyli czy nastąpiło wysłanie danych
  28. if (isset($_POST['submit'])) {
  29. //dodawanie danych do bazy
  30. $zapytanie = "INSERT INTO newsy VALUES (NULL, '".$tytul."', '".$text."', '".$autor."', '".$data."')";
  31. $result = mysql_query($zapytanie);
  32. }
  33. //sprawdzenie czy istnieją zmienne
  34. if (isset($_GET['co']) && isset($_GET['id']) && $_GET['co'] == 'skasuj') {
  35. $wynik = mysql_query("DELETE FROM newsy WHERE id = '".$_GET['id']."'");
  36. add_news();
  37. //sprawdzenie czy istnieją zmienne
  38. } elseif (isset($_POST['co']) && $_POST['co'] == 'popraw') {
  39. if ($_POST['tytul'] && $_POST['text'] && $_POST['autor']) {
  40. $popraw = mysql_query("UPDATE newsy SET tytul = '".$_POST['tytul']."', text = '".$_POST['text']."', autor = '".$_POST['autor']."'
  41. WHERE id = '".$_POST['id']."';")
  42. $wynik = mysql_query($popraw);
  43. add_news();
  44.  
  45. }
  46. }
  47. //sprawdzenie czy istnieją zmienne
  48. elseif (isset($_GET['co']) && $_GET['co'] == 'edytuj') {
  49. $edycja = mysql_query("SELECT * FROM newsy WHERE id = '".$_GET['id']."';");
  50. $rekord = mysql_fetch_assoc($edycja);
  51. $nrid = $rekord['id'];
  52. $tytul = $rekord['tytul'];
  53. $text = $rekord['text'];
  54. $autor = $rekord['autor'];
  55. $data = $rekord['data'];
  56. echo "<table border=\"1\">
  57. <tr>
  58. <td width=\"120\"><form action=\"wiadomosci.php\" method=\"post\">
  59. nr id: ".$nrid."<input type=\"hidden\" name=\"co\" value=\"popraw\">
  60. <input type=\"hidden\" name=\"id\" value=\"".$nrid."\"><br /></td>
  61. </tr><tr>
  62. Tytuł:<input type=\"text\" name=\"tytul\" value=\"".$tytul."\"><br /></td>
  63. </tr><tr>
  64. <td width=\"120\">Treść wiadomości:<textarea name=\"text\" cols=\"50\" rows=\"10\">".$text."</textarea><br /></td>
  65. </tr><tr>
  66. <td width=\"120\">Autor:<input type=\"number\" name=\"autor\" min=\"0\" max=\"7\" value=\"".$autor."\"><br /></td>
  67. </tr><tr>
  68. <td>Data: ".$data."</td>
  69. </tr><tr>
  70. <td align=\"center\"><input type=\"submit\" name =\"popraw\" value=\"popraw\"><br />
  71. </form></td>
  72. </tr>
  73. </table>";
  74. } elseif (!isset($_GET['co'])) {
  75. add_news();
  76. }
  77.  
  78.  
  79.  
  80.  
  81.  
  82. $wynik = mysql_query("SELECT * FROM newsy ORDER BY id DESC;") or
  83. die ("zle polecenie");
  84. //liczba rekordów
  85. $ile = mysql_num_rows($wynik);
  86. echo "Znaleziono: ".$ile." rekordów";
  87. echo "<table border=\"1\" width=\"750\"><tr><td width=\"30\">Nr. ID</td><td width=\"100\">Tytuł</td><td width=\"400\">Text</td>
  88. <td width=\"10\">autor</td>
  89. <td>data</td>
  90. <td width=\"50\">Usuwanie
  91. </td><td>Edytowanie</td></tr>";
  92. //wyświetlanie danych z bazy komórka po komórce
  93. WHILE ($rekord = mysql_fetch_assoc ($wynik)) {
  94. $nrid = $rekord['id'];
  95. $tytul = $rekord['tytul'];
  96. $text = $rekord['text'];
  97. $autor = $rekord['autor'];
  98. $data = $rekord['data'];
  99.  
  100. echo "<tr><td width=\"30\">".$nrid."</td><td width=\"100\">".$tytul."</td>
  101. <td width=\"40\">".$text."</td>
  102. <td width=\"10\">".$autor."</td>
  103. <td width=\"120\">".$data."</td>
  104. <td><a href=\"wiadomosci.php?co=skasuj&amp;id=$nrid\">usuń</a></td><td>
  105. <a href=\"wiadomosci.php?co=edytuj&amp;id=$nrid\">edytuj</a></td></tr>";
  106. }
  107. echo "</table>";
  108.  
  109.  
  110. ?>
  111.  
  112. </body>
  113. </html>
Go to the top of the page
+Quote Post

Posty w temacie


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: 8.10.2025 - 18:49