Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> dwa submity -> dwa docelowe pliki php, jeden form - dwa submit - dwa pliki docelowe
pela222
post
Post #1





Grupa: Zarejestrowani
Postów: 85
Pomógł: 0
Dołączył: 17.04.2013

Ostrzeżenie: (0%)
-----


Witam,
proszę o pomoc w rozwiązaniu problemu:
Mam jeden plik form.html z formularzem. Chcę dodać coś co by dało mi taki efekt że po kliknięciu przycisku nr1 formularz jest wysłany do pliku 1.php a po kliknięciu przycisku nr2 do pliku 2.php Oczywiście podany przeze mnie kod nie działa (pewnie nie można zagnieżdżać php wewnątrz <form>).
Przeczytałem na ten moment chyba ok 20 różnych tematów na różnych forach ale nie mogę znaleźć rozwiązania.

  1. $prz1 = $_POST['prz1'];
  2. $prz2 = $_POST['prz2'];

  1. <form action="<?php if(isset($prz1)) {echo "1.php";} elseif(isset($prz2)) {echo "2.php";} ?>" method="post">
  2.  
  3. .....tutaj mój formularz....
  4.  
  5. <input type="submit" value="inter" name="prz1"/>
  6. <input type="submit" value="domestic" name="prz2"/>
  7. </form>


No ale to nie działa niestety!

Jedno co mi działa to:
  1. <form id="form" method="post">
  2. <input type="submit" value="1" onclick="document.getElementById('form').action='test1.php';" >
  3. <input type="submit" value="2" onclick="document.getElementById('form').action='test2.php';" >
  4. </form>


ale niestety po "cofnięciu" sie do formularza jest on pusty a mi zależy żeby dane pozostały!! no bo ja zawsze bede najpierw generował raport nr1 (po kliknięciu przycisku nr1 i bede się cofał żeby wygenerować raport nr2 (po kliknięciu przyciksu nr 2)

Najczęstsze porady zawierają i pewnie to jest coś bardzo blisko tego co potrzebuję ale moja zerowa wiedza sprawia że nie potrafię tego zastosować:
  1. if (isset($_POST['action1']) || isset($_POST['action2'])) {
  2. // handle textarea
  3.  
  4. if (isset($_POST['action1'])) {
  5. header('Location:action1.php');
  6. exit();
  7. }
  8.  
  9. header('Location:action2.php');
  10. exit();
  11. }

  1. <input type="submit" name="action1" value="Action1">
  2. <input type="submit" name="action1" value="Action2">
  3. </form>


Ten post edytował pela222 17.04.2013, 22:39:16
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
pela222
post
Post #2





Grupa: Zarejestrowani
Postów: 85
Pomógł: 0
Dołączył: 17.04.2013

Ostrzeżenie: (0%)
-----


Z tym uczysz się to chyba trochę na wyrost...to rozwiązanie z wykorzystaniem js znalazłem w necie i sam podałem już 1,5 miesiąca temu, ale tak jak wtedy, tak dziś nie potrawię sprawić żeby form.php (czyli mój podstawowy formularz z danymi osobowymi) był wypełniony po powrocie do niego (no potrafię w IE bo przegladarka pamięta:) ).

Chyba nie rozumiem...więc...

mam http://www.polskibroker.ie/statement/test/form.php

a na dole Przycisk PL i ENG.
form.php wyglada następująco:

  1. <form id="form" method="post">
  2. <tr>
  3. <td>Type of Cover</td>
  4. <td><select name="type">
  5. <option value="single">Single Life</option>
  6. <option value="dual">Dual Life</option>
  7. </select>
  8. </td>
  9. <td></td>
  10. </tr>
  11. <tr>
  12. <td>Imię</td>
  13. <td><input type="text" name="name1"></td>
  14. <td><input type="text" name="name2"></td>
  15. </tr>
  16. <input type="submit" value="ENG" onclick="document.getElementById('form').action='form1.php';" >
  17. <input type="submit" value="PL" onclick="document.getElementById('form').action='form1pl.php';" >
  18. </form>


no i dane trafiają do pliku form1.php po wciśnieciu przycisku submit ENG a do form1pl.php po wciśnieciu submit PL.

Jak zmodyfikować plik form.php a jak form1.php/from1pl.php aby po cofnięciu się do form.php pamiętał wpisaną zawartość pola 'name' oraz wybraną wartość pola 'type'?

Przyjmijmy że plik form1.php ma następujący wyglad:

  1. <?php
  2. $name1 = $_POST['name1'];
  3. $name2 = $_POST['name2'];
  4. $type = $_POST['type'];
  5. ?>
  6. <form action="form2.php" method="post">
  7. <input type="checkbox" name="check1[]" checked="checked" value="Your name is <?php echo $name1; ?>."> - Your name is <?php echo $name1; ?><br>
  8. <input type="checkbox" name="check1[]" checked="checked" value="Your wife name is <?php echo $name1; ?>."> - Your wife name is <?php echo $name2; ?><br>
  9. <input type="checkbox" name="check1[]" checked="checked" value="Insurance type selected: <?php echo $name1; ?>."> - Insurance type selected: <?php echo $type; ?><br>
  10. <input type="button" value="Back" onClick="history.go(-1);return true;">
  11. <input type="submit" value="Next">
  12. </form>


a form1pl.php wyglada analogicznie tylko jest tłumaczeniem.

Czy możesz mi na tych kodach pokazać jak mam zastosować to o czym pisałeś? Dzięki.
Proszę zwróć uwagę że w IE działa to tak jak chcę żeby było w chrome (wieć może jakoś to do cache wysłąć w chrome wystarczy?)

Ten post edytował pela222 7.06.2013, 19:39:20
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 17.10.2025 - 15:48