Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: dwa różne submity z jednego formularza
Forum PHP.pl > Forum > PHP
ktuvok
Mam formularz o następującej konstrukcji:

  1. <FORM NAME=nazwa ACTION=skrypt.php METHOD=POST>
  2. <INPUT TYPE=hidden NAME=IDRekordu value=5>
  3. <INPUT TYPE=image NAME=Zapisz value=Zapisz src="../img/zapisz.gif">
  4. &nbsp;
  5. <INPUT TYPE=image NAME=Usun value=Usun src="../img/usun.gif">
  6. </FORM>

Chciałbym, aby skrypt rozpoznawał, który z submitów kliknięto:
  1. <?php
  2.  
  3. if(isset($_POST['Zapisz']))
  4. {
  5. echo 'Zapisuję... ';
  6. }
  7.  
  8. if(isset($_POST['Usun']))
  9. {
  10. echo 'Usuwam... ';
  11. }
  12.  
  13. ?>

Niestety tak się nie dzieje... Dlaczego? Czy jedynym rozwiązaniem jest podział na 2 formularze, albo użycie javascriptu?

Pozdrawiam,
K
Levabul
Przecież jeżeli w jednym formularzu wystawiasz 2 <input type="image"> to obydwa są wysyłane (chyba)
ktuvok
No właśnie chyba nie... Obydwa warunki if(isset(... są nie spełnione!
Skobi
możesz po prostu zrobić tak:

  1. <?php
  2.  
  3. if ( isset($_POST['Zapisz_x']) && isset($_POST['Zapisz_y']) )
  4. {
  5. echo &#092;"zapisz\";
  6. }
  7.  
  8. if ( isset($_POST['Usun_x']) && isset($_POST['Usun_y']) )
  9. {
  10. echo &#092;"Usun\";
  11. }
  12.  
  13. ?>


a dla pewnosci to wypisz sobie całą tablice formularza na ekran i zobaczysz co Ci zwraca:

  1. <?php
  2.  
  3. foreach( $_POST as $key => $value )
  4. {
  5. echo $key.&#092;" => \".$value.\"<br>\";
  6. }
  7.  
  8. ?>
ktuvok
OK, działa z 'Zapisz_x' - ale skąd się ten '_x' wziąłquestionmark.gif
Rastman
Zrób jak mówi Skobi, tylko nie wiem po co na raz sprawdzać _x i _y. Nie przesyła się Zapisz, tylko Zapisz_x iZapisz_y.Po kliknięciu na obrazek przesyłane są dwie zmienne z podkreślnikiem, odpowiadające współrzędnym punktu kliknięcia na obrazku. Nie powinieneś mieć problemów.
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.