Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Sprawdzenie który submit został wciśnięty.
Forum PHP.pl > Forum > Przedszkole
Croos22
Dobry.

Kombinuje coś zmienić w moim sklepie na coś bardziej wydaje mi się bezpiecznego. Teraz używam $_GET a chciałbym to zmienić na submity.

Próbowałem zrobić tak, że w name dam wyciągnięty z bazy numer unikalny id a następnie sprawdzić isset-em który submit został wciśnięty.

  1. if(isset($sklep["id"])){
  2. echo 'Kupiono '.$sklep["nazwa"];
  3. }
  4.  
  5. echo '<input type="submit" name="'.$sklep["id"].'" value="Kup" />';


Jak już teraz wiem nie był to dobry pomysł dlatego liczę na jakieś podpowiedzi. Z góry dzięki.
skowron-line
array_keys
Croos22
Nie bardzo rozumie o co chodzi. Ma to zwracać wszystkie klucze z tablicy w moim przypadku identyfikatory.

Zrobiłem tak:
  1. $tablica = array($sklep["id"]);
  2. print_r(array_keys($tablica));


no i lipa
Array ( [0] => 0 ) Array ( [0] => 0 )
tehaha
bez sensu pomysł, chcesz wszystkie przyciski kup zamienić teraz na submity? Nie tędy droga, to wcale nie będzie bardziej bezpieczne tylko bardziej przekombinowane, mogę wysłać na Twoją stronę $_POST, zrób normalne linki tak jak było, przy odbieraniu wartości możesz dać rzutowanie na int -> $id = (int)$_GET['id'], i sprawdzić w bazie czy taki produkt istnieje i jest dostępny.

p.s. ten array keys to miałeś dać na tablicę $_POST, żeby sprawdzić co zostało przesłane
Croos22
No to niech będzie. Jeszcze prosił bym o rzucenie okiem na ten kod. Jak uczynić to bardziej bezpieczniejszym?
  1. if($_GET['rodzaj'] == $_GET['rodzaj']){
  2. if((int)$_GET['kup'] == (int)$sklep['id']){
  3. echo 'Kupiono przedmiot '.$sklep['nazwa'].' za '.(int)$sklep['cena'].'zł.';
  4. }
  5. }
  6.  
  7. echo '<a href="?rodzaj='.$_GET["rodzaj"].'&kup='.(int)$sklep["id"].'">Kup</a>';
Fifi209
Po pierwsze w form może być chyba tylko jeden submit o ile mi się dobrze kojarzy smile.gif
nospor
Cytat
Po pierwsze w form może być chyba tylko jeden submit o ile mi się dobrze kojarzy
źle ci sie kojarzy smile.gif

if($_GET['rodzaj'] == $_GET['rodzaj'])
To jest dobre smile.gif

A co jeśli białe jest białe?
Croos22
nospor
  1. <a href="?rodzaj=cos1&kup=1">Kup</a>
  2. <a href="?rodzaj=cos2&kup=1">Kup</a>

Jeśli nie sprawdzam $_GET["rodzaj"] == $_GET["rodzaj"] to nie spełniało by mi $_GET["kup"] == $sklep["id"].
nospor

$_GET["rodzaj"] == $_GET["rodzaj"]

Równie dobrze możesz napisać:
2==2

Efekt będzie ten sam. Włącz myślenie, potem ze mną dyskutuj wink.gif
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.