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


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


Jak można zobaczyć w funkcji warunkowej odpowiedzialnej za edycje mamy formularz, W związku z tym mam pytanie czy i co mogę zobaczyć aby edycja odbywała w formularzu który znajduje sie u góry pliku?

Mam też tu taki problem, że coś nie dział poprawnie z aktualizowaniem danych. Owszem wyświetlaja sie w formularzu, ale po wcisnięciu przycisku popraw ... dane nie sa zamieniane.

Ten post edytował radziowie 1.11.2010, 21:25:27
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: 9.10.2025 - 22:38