Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Dwa submity w jednym <form>
Forum PHP.pl > Forum > Przedszkole
bonasera
Dzień Dobry.

Mam taki o to skrypt:
  1. <form action="<?php echo ($_SERVER["PHP_SELF"]); ?>" method = "POST">
  2. <tr>
  3. <th rowspan = '2'>Edytuj </th> <td>Data/Klasa</td> <td rowspan = '2'><input type="submit" value="Edytuj" /><br><input type="submit" name="usunRaport" value="Usuń" /></td>
  4. </tr>
  5.  
  6. <tr>
  7. <td><?php edytuj();?></td>
  8. </tr>
  9. </form>


Skrypt odwołuje się do:

  1. if (isset($_POST['edytuj']))
  2. {
  3.  
  4. if (isset($_POST['usunRaport']))
  5. {
  6. $id=$_POST[edytuj];
  7. mysql_query("DELETE FROM dane where ID_dane='$id'");
  8.  
  9. }
  10. else{
  11.  
  12. $id=$_POST[edytuj];
  13.  
  14. $klasa1=mysql_result(mysql_query("SELECT ID_klasy FROM dane where ID_dane='$id'"),0);
  15. $location = $_SERVER['REQUEST_URI']."?klasa=$klasa1"."&go=1&id=$id";
  16. echo '<meta http-equiv="refresh" content="0;url='.$location.'">';
  17. }
  18. }


I mam taki problem. Nie potrafię rozróżnić który submit został wciśnięty. O ile się nie mylę sprawdzenie " if (isset($_POST['usunRaport']))" będzie zawsze prawdziwe. Chciałbym aby było tylko prawdziwe gdy kliknę "Usuń", zaś gdy kliknę "Edytuj", ma ominąć ten 'if', nic mi nie usuwać z bazy.



@edit
Ymm.. zaczęło działać poprawnie, temat można usunąć.
sadistic_son
Zle do tego podszedłeś, zrób tak:
  1. if (isset($_POST['edytuj'])){
  2. $id=$_POST['edytuj'];
  3.  
  4. $klasa1=mysql_result(mysql_query("SELECT ID_klasy FROM dane where ID_dane='$id'"),0);
  5. $location = $_SERVER['REQUEST_URI']."?klasa=$klasa1"."&go=1&id=$id";
  6. echo '<meta http-equiv="refresh" content="0;url='.$location.'">';
  7. }
  8. if(isset($_POST['usunRaport'])){
  9. $id='nie wiem skad bierzesz to id';
  10. mysql_query("DELETE FROM dane where ID_dane='$id'");
  11. }
Ale żeby to zadziałało musisz nadać wartość name="edytuj" inputowi z value="Edytuj"
Fifi209
Jak może zacząć działać skoro dalej nie przekazujesz id? Dodaj do forma jako input type=hidden smile.gif
bonasera
Dzięki za rady!

ID dodaje się do formularza za pomocą funkcji edytuj();.

Trochę skąpo opisałem mój problem. ten skrypt jest bardzo rozbudowany i chciałem pokazać tylko najważniejsze jego części. Chodziło mi tylko o rozróżnienie który submit został kliknięty. Na początku myślałem że jeśli jest dodany w formularzu to tak czy siak będzie się przesyłał dalej, niezależnie od tego czy został naciśnięty czy nie. Wtedy ten if zawsze byłby prawdziwy. Po chwili od opublikowania tematu w magiczny sposób zaczęło działać tak jak powinno.
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.