Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][HTML][PHP]Dwa formularze na jednej stronie, submit działa zawsze dla pierwszego formularza :(
b79
post
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 11.02.2010

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


Witam wszystkich to mój pierwszy post na forum więc proszę mnie oszczędzić

mam stronę na której są dwa formularze

1. dodawanie danych do bazy(cały czas widoczny)
2. edycja danych (pojawia sie dopiero po kliknieciu w link do edycji )

pierwszy formularz działa dobrze, drugi w połowie bo pojawiają się odpowiednie dane do edycji, jednak jak wprowadzę zmiany i klikne w przycisk popraw to i tak zadziała pierwszy submit i zamiast edytowac dane formularz dodaje nowy rekord (IMG:style_emoticons/default/sad.gif)

na pewno mógłbym to rozwiązać gdyby formularze odwoływały sie do osobnych skryptów, jednak podoba mi się jak działa to wszystko na jednej stronie i chciałbym aby tak zostało, jednak sam nie potrafię zmusić tego do działania.

To jest mój pierwszy kontakt z PHP (ok 5 dni z tym walcze) więc proszę o wyrozumiałość.

załączam fragment kodu.

  1. <form action="" method="post">
  2.  
  3. url: <input type="text" name="url" /> słowo kluczowe:<input type="text" name="keyword" /> <input type="submit" value="Dodaj" name="submit"/><br /><br/>
  4.  
  5. </form>

  1. <?php
  2. $url = $_POST['url'];
  3. $keyword = $_POST['keyword'];
  4.  
  5. if($url and $keyword) {
  6.  
  7. // dodajemy rekord do bazy
  8. $ins = @mysql_query("INSERT INTO static_data SET url='$url', keyword='$keyword', added_date='1234567890', active='1'");
  9.  
  10. if($ins) echo "Rekord został dodany poprawnie";
  11. else echo "Błąd nie udało się dodać nowego rekordu";
  12.  
  13. }
  14.  
  15. ?>
  16.  
  17. <?php
  18. $a = trim($_GET['a']);
  19. $id = trim($_GET['id']);
  20.  
  21. if($a == 'del' and !empty($id)) {
  22.  
  23. /* usuwamy rekord */
  24. mysql_query("DELETE FROM static_data WHERE id='$id'")
  25. or die('Błąd zapytania: '.mysql_error());
  26.  
  27. echo 'Rekord został usunęty z bazy';
  28. }
  29.  
  30. if($a == 'edit' and !empty($id)) {
  31. /* zapytanie do tabeli */
  32. $wynik = mysql_query("SELECT * FROM static_data WHERE id='$id'")
  33. or die('Błąd zapytania');
  34. /* wyświetlamy wyniki, sprawdzamy, czy zapytanie zwróciło wartość większą od 0 */
  35. if(mysql_num_rows($wynik) > 0) {
  36. /* odczytujemy zawartość wiersza z tabeli */
  37. $lista = mysql_fetch_assoc($wynik);
  38. /* wczytujemy dane do formularza */
  39. /* w formularz znajdują się ukryte pola "a" z wartością "save" i pole "id" z wartością zmiennej id */
  40. echo '<form action="" method="post">
  41. <input type="hidden" name="a" value="save" />
  42. <input type="hidden" name="id" value="'.$id.'" />
  43. url:<input type="text" name="url" value="'.$lista['url'].'" /> keyword:<input type="text" name="keyword" value="'.$lista['keyword'].'" /> active:<input type="text" name="active" value="'.$lista['active'].'" /> <input type="submit" value="popraw" />
  44. </form>';
  45. }
  46. }
  47. elseif($a == 'save') {
  48. /* odbieramy zmienne z formularza */
  49. $id = $_POST['id'];
  50. $url = trim($_POST['url']);
  51. $keyword = trim($_POST['keyword']);
  52. $active = trim($_POST['active']);
  53.  
  54. /* uaktualniamy tabelę */
  55. mysql_query("UPDATE static_data SET url='$url', keyword='$keyword', active='$active' WHERE id='$id'")
  56. or die('Błąd zapytania');
  57. echo 'Dane zostały zaktualizowane';
  58. }
  59.  
  60. // pobierabie wartości z tabeli
  61. $sql = "SELECT id, url, keyword FROM static_data WHERE active = 1 ORDER BY url ASC";
  62. $rezultat = mysql_query($sql) or die(mysql_error());
  63.  
  64.  
  65. // wyświetlanie rezultatu na ekranie
  66. echo "<table cellpadding=\"2\" border=1>";
  67. echo "<tr>";
  68. echo "<th>DOMENA</th>";
  69. echo "<th>SŁOWO KLUCZOWE</th>";
  70. echo "<th>SZCZEGÓŁY</th>";
  71. echo "<th>EDYCJA</th>";
  72. echo "<th>USUŃ</th>";
  73. echo "</tr>";
  74. while ($lista = mysql_fetch_array($rezultat)) {
  75. echo "<tr>";
  76. echo "<td>".$lista['url']."</td>";
  77. echo "<td>".$lista['keyword']."</td>";
  78. echo "<td align=\"center\"><a href=\"stats.php?s=".$lista['id']."\">info</a></td>";
  79. echo "<td align=\"center\"><a href=\"stats.php?a=edit&amp;id=".$lista['id']."\">edytuj</a></td>";
  80. echo "<td align=\"center\"><a href=\"stats.php?a=del&amp;id=".$lista['id']."\">usuń</a></td>";
  81. echo "</tr>";
  82. }
  83. echo "</table>";
  84.  
  85.  
  86. ?>


kod to zlepek z tutoriali i kursów które przerobiłem w ostatnim czasie więc prosze nie krytukować jakości kodu, chociaż wszystkie sugestie mile widziane.
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: 16.10.2025 - 21:24