Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Metoda GET a wyświetlanie danych
Forum PHP.pl > Forum > Przedszkole
artkow00
Witam.

Napotkałem niewyjaśniony problem z wyświetlaniem danych przesłanych do strony za pomocą formularza z metodą get.

Oto kod:

  1. $a = ''.$_GET['id'].'';
  2. echo ''.$a.'';
  3. // jeśli zostanie naciśnięty przycisk "Zarejestruj"
  4. if(isset($_POST['mail'])) {
  5. // filtrujemy dane...
  6. $_POST['mail'] = clear($_POST['mail']);
  7. if(empty($_POST['mail']) ) {
  8. echo '<p>Musisz wypełnić wszystkie pola.</p>';
  9. } elseif(filter_var($_POST['mail'], FILTER_VALIDATE_EMAIL) === false) {
  10. echo '<p>Podany email jest nieprawidłowy.</p>';
  11. } else {
  12.  
  13. $result = mysql_query("SELECT Count(id) FROM `user` WHERE `user_email` = '{$_POST['mail']}'");
  14. $row = mysql_fetch_row($result);
  15. if($row[0] > 0) {
  16. echo '<p>Istnieje już handlowiec o takim adresie e-mail.</p>';
  17.  
  18. } else {
  19.  
  20. $b = mysql_query("UPDATE `user` SET `user_email` = '{$_POST['mail']}' WHERE `id` = '".$a."' ");
  21. if ($b) {
  22. header ("Location: user.php");
  23. }
  24. }
  25. }
  26. }


Otóż przesyłam metodą get daną "id", którą następnie przekształcam sobie w celu sprawdzenia poprawności na zmienną $a i wyświetlam. Wyświetla poprawną wartość np. 120 i o takie id usera mi chodzi. Problem pojawia się w miejscu :
  1. WHERE `id` = '".$a."'


Bez tego warunku zapytanie działa ładnie, tyle, że zmienia email u wszytkich userów, a nie u tego o id =120.

Jakieś pomysły?
Turson
  1. //niepotrzebne znaki dałeś
  2. $a = $_GET['id'];
  3. echo $a;
  4. WHERE `id` = '$a'
artkow00
Cytat(Turson @ 13.11.2013, 17:32:22 ) *
  1. //niepotrzebne znaki dałeś
  2. $a = $_GET['id'];
  3. echo $a;
  4. WHERE `id` = '$a'


Nic nie dało. Teoretycznie jedna i druga forma jest poprawna, ale żadna nie daje rezultatu. Nie edytuje mi maila, dopóki nie usunę warunku WHERE...
Inny pomysł? Od razu nadmienię, że dane w bazie są napewno porpawne..
Turson
daj '$echo a' przed samym $b
artkow00
Po problemie - dałem dodatkowy input hidden gdzie wywołałem zmienną $a, a następnie w warunku WHERE wykorzystałem wysłaną $a metodą 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.