Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][PHP]Wysyłanie w formularzu zmiennej (2 form action na 1 stronie)
Forum PHP.pl > Forum > Przedszkole
rossecki
Witam, po raz n-ty wiem że tytuł tematu jest niejasny i wiekszość z was przyprawił o palpitację serca i podejście "co za debil".
No niestety tutaj nie chodzi o proste wysłanie $_POST['xxx']; z formularza...

Problem jest taki iż tworząc stronę logowania założyłem iż jest formularz, obsługa błędów itd (to akurat nie ważne bo dobrze działa) i po wpisaniu danych przycisk submit "wraca" nas na początek strony gdzie znajduje się "includowany" plik.php obsługujący ten formularz, następnie w zależności czy są błędy czy nie to albo realizuje i loguje albo dodaje zmienne do tablicy błędów i zostają one wyświetlone...
No i niestety jak już pisałem wcześniej, wpadłem na (debilny?/genialny?) pomysł aby skorzystać a jquery tabs..
i to skomplikowało wszystko..
Na 1 stronie znajdują się 2 formularze, i każdy z nich obsługuje inny plik php (include) ale teraz nie mam pojęcia w jaki sposób przekazać informację stronie aby skorzystała z jednego albo z drugiego.. oto kod ( po godzinie kombinowania tylko coś takiego udało mi się wymyślić a i tak nie działa :/)

  1. <?php
  2. require('./includes/config.inc.php');
  3. require(MYSQL);
  4. redirect_logged();
  5. if ($_SERVER['REQUEST_METHOD'] == 'POST') {
  6. //kombinacje, normalnie to tu jest include ('./login.inc.php'); ale dla 2 formularzy to nie działa..
  7. if (isset($POST_['pesel'])) {
  8. include ('./login.inc.php');
  9. }
  10. else if (isset($POST_['email'])) {
  11. include ('./forgot_password.inc.php');
  12. }
  13. }

1 formularz
  1. <form action="./login_form.inc.php" method="post" accept-charset="utf-8">
  2. <p><?php if (array_key_exists('login', $login_errors)) {
  3. echo '<span class="error">' . $login_errors['login'] . '</span><br />';
  4. }
  5. ?>
  6. <label for="pesel"><strong>Pesel</strong></label><br /><?php create_form_input('pesel', 'text', $login_errors); ?><br />
  7. <label for="pass"><strong>Hasło</strong></label><br /><?php create_form_input('pass', 'password', $login_errors); ?><br /><br />
  8. <input type="submit" value="Login &rarr;"/>
  9. </p>
  10. </form>


2 formularz

  1. <div id="tab2">
  2. <h2>Odzyskanie hasła</h2>
  3. <p>Podaj adres email, aby zresetować hasło, jeżeli jeszcze nie podałeś w systemie adresu email, nie możesz skorzystać z tej opcji.<br />
  4. W takim przypadku proszę o kontakt z administratorem serwisu </p>
  5.  
  6. <form action="./login_form.inc.php" method="post" accept-charset="utf-8">
  7. <p><?php if (array_key_exists('wykonano', $pass_errors)) {
  8. echo '<span class="error">' . $pass_errors['wykonano'] . '</span><br />';
  9. }?>
  10. <label for="email"><strong>Adres Email</strong></label><br /><?php create_form_input('email', 'text', $pass_errors); ?></p>
  11. <input type="submit" value="Reset &rarr;"/>
  12. </form>
  13. </div>


I teraz pytanie.. czy istnieje opcja żeby jakoś przekazać przy kliknięciu przycisku który formularz został wykorzystany?
csharp
ja czytając 3 razy w dalszym ciągu nie rozumiem o co chodzi... możesz tak punkt po punkcie smile.gif ?
peter13135
Daj atrybut name dla submitów, czy jakchś tam innych hidden inputów i za pomocą tego identyfikuj który form został wysłany.
sobol6803
  1. $POST_['pesel'])
  1. $POST_['email']
  1. require(MYSQL);

A to co?
rossecki
O rany.. no fakt.. pewnie bym to zauważył z tym POSTEM jutro albo pojutrze, (mysql) jest zdefiniowane w config.inc

Dzięki za pomoc!
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.