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%)
-----


Włączyłem wyświetlanie błędów otrzymałem:
  1. Notice: Undefined index: tytul in C:\Program Files (x86)\WebServ\httpd-users\praca\admin\wiadomosci.php on line 17
  2.  
  3. Notice: Undefined index: text in C:\Program Files (x86)\WebServ\httpd-users\praca\admin\wiadomosci.php on line 18
  4.  
  5. Notice: Undefined index: autor in C:\Program Files (x86)\WebServ\httpd-users\praca\admin\wiadomosci.php on line 19


Edycje poprawiłem i już działa. Tylko mam jeszcze pytanie gdzie tkwi błąd w tych linijkach oraz czy mogę coś zrobić aby dodawanie i edycja odbywała się w tym samym formularzu. Aktualny kod wygląda następująco:

  1. <?php
  2. ini_set('display_errors','1');
  3. include ('../meta.php');
  4. include ('../dodatki/bonus.php');
  5. polacz_baza();
  6. $data = date('Y-m-j');
  7. echo "<h1>NEWSY - DODAWANIE I WYŚWIETLANIE</H1>";
  8. echo '<form action="wiadomosci.php" method="post">
  9. Tytuł wiadomości: <input type="text" name="tytul" /><br />
  10. Treść wiadomości: <textarea name="text" cols="50" rows="10"></textarea><br />
  11. Autor: <input type="text" name="autor" /><br />
  12.  
  13. <input type="submit" name="submit" value="wyślij" />
  14. </form>';
  15.  
  16. $tytul = mysql_real_escape_string(trim($_POST['tytul']));
  17. $text = mysql_real_escape_string(trim($_POST['text']));
  18. $autor = mysql_real_escape_string(trim($_POST['autor']));
  19. $data = mysql_real_escape_string(trim(date('Y-m-j')));
  20.  
  21. if (isset($_POST['submit'])) {
  22. //dodawanie danych do bazy
  23. $zapytanie = "INSERT INTO newsy VALUES (NULL, '".$tytul."', '".$text."', '".$autor."', '".$data."')";
  24. $result = mysql_query($zapytanie);
  25. }
  26.  
  27. if (isset($_GET['co']) && isset($_GET['id']) && $_GET['co'] == 'skasuj') {
  28. $wynik = mysql_query("DELETE FROM newsy WHERE id = '".$_GET['id']."'");
  29.  
  30. } elseif (isset($_POST['co']) && $_POST['co'] == 'popraw') {
  31. if ($_POST['tytul'] && $_POST['text'] && $_POST['autor']) {
  32. $popraw = mysql_query("UPDATE newsy SET tytul = '".$_POST['tytul']."', text = '".$_POST['text']."', autor = '".$_POST['autor']."'
  33. WHERE id = '".$_POST['id']."';")
  34. $wynik = mysql_query($popraw);
  35.  
  36. }
  37. }
  38. elseif (isset($_GET['co']) && $_GET['co'] == 'edytuj') {
  39. $edycja = mysql_query("SELECT * FROM newsy WHERE id = '".$_GET['id']."';");
  40. $rekord = mysql_fetch_assoc($edycja);
  41. $nrid = $rekord['id'];
  42. $tytul = $rekord['tytul'];
  43. $text = $rekord['text'];
  44. $autor = $rekord['autor'];
  45. $data = $rekord['data'];
  46. echo "<table border=\"1\">
  47. <tr>
  48. <td width=\"120\"><form action=\"wiadomosci.php\" method=\"post\">
  49. nr id: ".$nrid."<input type=\"hidden\" name=\"co\" value=\"popraw\">
  50. <input type=\"hidden\" name=\"id\" value=\"".$nrid."\"><br /></td>
  51. </tr><tr>
  52. Tytuł:<input type=\"text\" name=\"tytul\" value=\"".$tytul."\"><br /></td>
  53. </tr><tr>
  54. <td width=\"120\">Treść wiadomości:<textarea name=\"text\" cols=\"50\" rows=\"10\">".$text."</textarea><br /></td>
  55. </tr><tr>
  56. <td width=\"120\">Autor:<input type=\"number\" name=\"autor\" min=\"0\" max=\"7\" value=\"".$autor."\"><br /></td>
  57. </tr><tr>
  58. <td>Data: ".$data."</td>
  59. </tr><tr>
  60. <td align=\"center\"><input type=\"submit\" value=\"popraw\"><br />
  61. </form></td>
  62. </tr>
  63. </table>";
  64. }
  65.  
  66.  
  67.  
  68.  
  69. $wynik = mysql_query("SELECT * FROM newsy ORDER BY id DESC;") or
  70. die ("zle polecenie");
  71.  
  72. $ile = mysql_num_rows($wynik);
  73. echo "Znaleziono: ".$ile." rekordów";
  74. echo "<table border=\"1\" width=\"750\"><tr><td width=\"30\">Nr. ID</td><td width=\"100\">Tytuł</td><td width=\"400\">Text</td>
  75. <td width=\"10\">autor</td>
  76. <td>data</td>
  77. <td width=\"50\">Usuwanie
  78. </td><td>Edytowanie</td></tr>";
  79. WHILE ($rekord = mysql_fetch_assoc ($wynik)) {
  80. $nrid = $rekord['id'];
  81. $tytul = $rekord['tytul'];
  82. $text = $rekord['text'];
  83. $autor = $rekord['autor'];
  84. $data = $rekord['data'];
  85.  
  86. echo "<tr><td width=\"30\">".$nrid."</td><td width=\"100\">".$tytul."</td>
  87. <td width=\"40\">".$text."</td>
  88. <td width=\"10\">".$autor."</td>
  89. <td width=\"120\">".$data."</td>
  90. <td><a href=\"wiadomosci.php?co=skasuj&amp;id=$nrid\">usuń</a></td><td>
  91. <a href=\"wiadomosci.php?co=edytuj&amp;id=$nrid\">edytuj</a></td></tr>";
  92. }
  93. echo "</table>";
  94.  
  95.  
  96. ?>
  97.  
  98. </body>
  99. </html>


Ten post edytował radziowie 2.11.2010, 12:27:10
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: 7.10.2025 - 10:30