Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Problem z przesyłaniem zmiennej $_GET i $_POST
Forum PHP.pl > Forum > Przedszkole
DerekDX
Witam,
mam skrypt który aktualizuje mi rekordy w tabeli mysql i mam taki problem,
Gdy używam metody $_GET do przesłania ID rekordu który chce zauktualizować to nie chcą się przesłać wartości które mają zastąpić obecne wartości,
które są przesyłane za pomocą $_POSTa i na odwrót gdy chce przesłać ID $_POSTem to wartości które zatepują dane się przesyłają a ID nie , oto moje wypociny

  1. <?php
  2. require("naglowek_adm.php");
  3. <div id="tabela">';
  4. ?>
  5. <?php
  6. $edytowanie=$_GET[edytuj_id];
  7. $polaczenie=mysql_connect("localhost","root","");
  8. mysql_select_db("portal",$polaczenie);
  9. $zapytanie="SELECT * FROM artykuly WHERE id=$edytowanie";
  10.  
  11. $wynik=mysql_query($zapytanie,$polaczenie);
  12. while ($tab=mysql_fetch_array($wynik))
  13. {
  14. $id=$tab['id'];
  15. $tytul=$tab['tytul'];
  16. $autor=$tab['autor'];
  17. $tresc=$tab['tresc'];
  18. }
  19. echo '<form action="aktualizuj_artykul.php" method="post">';
  20. echo 'ID artykulu: ';
  21. echo $id;
  22. echo '<br><br>Autor:<br /><input type="text" name="autor" value="';
  23. echo $autor;
  24. echo '" /><br>';
  25.  
  26. echo 'Tytul<br /><input type="text" name="tytul" value="';
  27. echo $tytul;
  28. echo '" /><br>';
  29.  
  30. echo 'Tresc:<br><input type="text" name="tresc" value="';
  31. echo $tresc;
  32. echo '" /><br>';
  33. /*echo '<input type="submit" value="zmien">';*/
  34.  
  35. echo '<a href="aktualizuj_artykul.php?edytuj_id=';
  36. echo $id;
  37. echo '">Aktualizuj</a></form>';
  38.  
  39. mysql_close($polaczenie);
  40. require("stopka_adm.php");
  41. ?>


  1. <?php
  2. $config_adres="http://127.0.0.1/strona/";
  3. $autor=$_POST[autor];
  4. $tytul=$_POST[tytul];
  5. $tresc=$_POST[tresc];
  6.  
  7. $polaczenie=mysql_connect("localhost","root","");
  8. mysql_select_db("portal",$polaczenie);
  9. $aktualizacja="UPDATE artykuly SET autor='$_POST[autor]','tytul=$_POST[tytul]', tresc='$_POST[tresc]' WHERE id='$_GET[edytuj_id]'";
  10.  
  11. if (mysql_query($aktualizacja,$polaczenie))
  12. {
  13. /*echo '<script type="text/javascript">
  14.   alert("Dodano nowy artykul!");
  15.   </script>';*/
  16. echo 'zmieniono';
  17. mysql_close($polaczenie);
  18. require("pokaz_artykuly.php");
  19. }
  20. else
  21. {
  22. mysql_close($polaczenie);
  23.  
  24. echo $_POST[autor];
  25. echo $_POST[tytul];
  26. echo $_POST[tresc];
  27.  
  28. echo $_GET[edytuj_id];
  29. echo 'niezmieniono';
  30.  
  31. require("pokaz_artykuly.php");
  32. }
  33.  
  34. ?>
blooregard
Masz ustawioną w formularzu metodę POST, a linkiem do aktualizacji jest zwykły href. To niby jak ma Ci cokolwiek formularz wysłać?

Ta instrukcja jest ok, dlaczego ją wykomentowałeś?
  1. /*echo '<input type="submit" value="zmien">';*/
  2.  



Wystarczy w parametrze action formularza podać:
  1. echo '<form action="aktualizuj_artykul.php?id=' . $_GET['id'] . ' method="post">';
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.