Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] jeden przycisk dla dwóch formularzy
Forum PHP.pl > Forum > Przedszkole
tenloginjestzajety
  1. <form action="search.php" method="post">
  2. <div>
  3.  
  4. Nazwa? <input type="text" class="tytul" style="width:250px;" name="szukaj" value="<?php echo urldecode($_GET['szukaj']); ?>" />
  5. <input type="submit" class="dodaj" value="szukaj" />
  6. </div>
  7. </form>
  8. <form method="post">
  9. od <input type="text" class="tytul" name="min" value="<?php $_POST['min']; ?>" style="width:50px;" /> do <input type="text" name="max" value="<?php $_POST['max']; ?>" class="tytul" style="width:50px;" /> pln
  10. <input type="submit" class="dodajbtn" value="" />
  11. </form>


Witam czy jest możliwość wysłania dwóch formularzy jednym przyciskiem? Dodam, że muszą być osobno.
adrianpl20
Nie da się, a nawet jeśli dałoby się to jak by miało wyglądać "odebranie" danych z formularzy? Tak samo gdybyś wysłał to w jednym formularzu, nie mam pojęcia dlaczego tu muszą być 2 formularze a nie 1.

// edit
chyba że pobawisz się z Ajaxem, to może i by to jakoś działało
tenloginjestzajety
Ponieważ nie działa drugi formularz, dopiero jak usunę action, dlatego stworzyłem dwa.
adrianpl20
nie możesz po prostu dać tak? :

  1. <form action="search.php" method="post">
  2. <div>
  3. Nazwa? <input type="text" class="tytul" style="width:250px;" name="szukaj" value="<?php echo urldecode($_GET['szukaj']); ?>" />
  4. </div>
  5.  
  6. od <input type="text" class="tytul" name="min" value="<?php $_POST['min']; ?>" style="width:50px;" /> do <input type="text" name="max" value="<?php $_POST['max']; ?>" class="tytul" style="width:50px;" /> pln
  7. <input type="submit" class="dodaj" value="szukaj" />
  8. </form>
tenloginjestzajety
no właśnie nie działa:/ problem tkwi w action..
adrianpl20
troche powaliłeś kod, najpierw wyświetlasz w inpucie "szukaj", wartość z $_GET, a niżej z $_POST, a w formie masz method POST, więc zdecyduj się bo tu pewnie napaćkałeś i pewnie w search.php też źle zczytujesz (GET/POST)

W tych 2 inputach - min i max, brakuje ci echo w value
tenloginjestzajety
Zrobiłem miałem błąd w zmiennej. Pozostał mi jeden problem, przed wprowadzeniem danych do input nie mogę zrobić zapytania tym samym zawartość strony jest pusta. Jak zrobić warunek żeby przed zapytaniem w input były dane?
Lord
nie wiem czy rozumiem twój problem ale chodzi ci o to?

  1. <?=(isset($_GET['szukaj']))?urldecode($_GET['szukaj']):'to cos jak nie ma get?'; ?>
tenloginjestzajety
Dziękuje wszystkim za pomoc, zostały mi dwa problemy:

plik search:
  1. <?php
  2. header('Location: ./1_'.$_POST['szukaj'].'.'.$_POST['min'].'.'.$_POST['max']);
  3. ?>


  1. <form action="search.php" method="post">
  2. <div>
  3. <span class="dodanodata">Wypełnij minimum jedno pole.</span>
  4. <br />
  5. Czego szukasz?
  6. <input type="text" class="tytul" style="width:250px;" name="szukaj" value="<?php echo $szukaj; ?>" />
  7. <input type="text" class="tytul" name="min" value="<?php echo $min; ?>" style="width:50px;" />
  8. <input type="text" class="tytul" name="max" value="<?php echo $max; ?>" style="width:50px;" />
  9. <input type="submit" class="dodajbtn" value="szukaj" />


Problem polega na tym, że wszystkie 3 pola muszą być wypełnione. Nie wiem jak zrobić aby wystarczyło jedno.
Mój drugi problem polega na zamanie dowolnej liczby - obecnie 1_:
  1. $szukaj = str_replace('1_','',strip_tags($end2[0]));


Zapytanie w bazie wygląda tak:
  1. $query = mysql_query("SELECT * FROM `item` WHERE `tag` LIKE '%$szukaj%' AND price <= '$max' AND price >= '$min'")
adrianpl20
1. By nie trzeba było wypełniać wszystkich 3 pól, można zrobić osobne zapytanie, bez tych wartości min i max
Czyli robisz coś takiego

  1. if(!empty($_POST['min']) && !empty($_POST['max']))
  2. {
  3. $query = mysql_query("SELECT * FROM `item` WHERE `tag` LIKE '%$szukaj%' AND price <= '$max' AND price >= '$min'");
  4. }
  5. else
  6. {
  7. $query = mysql_query("SELECT * FROM `item` WHERE `tag` LIKE '%$szukaj%'");
  8. }


Co do 2 punktu - nie wiem o co chodzi.

Lord
Co do 1 problemu, to albo przyjmij wartosci domyslne, albo modyfikuj xapytanie w zaleznosci od ilosci parametrow
A 2 nie wiem co chcesz osiagnac, opisz cos wiecej
tenloginjestzajety
Dzięki, problem numer dwa - nie wiem jak zrobić aby zamieniał dowolną liczbę która wystąpi razem z _ np. 1_ lub 4_
  1. $szukaj = str_replace('1_','',strip_tags($end2[0]));
adrianpl20
  1. $szukaj = preg_replace('/[0-9]+\_/', '', strip_tags($end2[0]));
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.