Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [FORM] dodanie ukrytej wartości do value
Forum PHP.pl > Forum > PHP
Dopler
Witam mój problem próbowałem rozwiązać tak
  1. $a = "a_";
  2. echo "<input name=\"zwierze\" type="text\" value=".$a."\"\">";

co oczywiście jest błędne
Czy ktoś mógłby mi pomóc ?

SZCZEGÓŁY:

Mam na stronie dwa formularze które wyciągają dane z tego samego pola
W 1 po wpisaniu np. "kot" - otrzymuję adres: index.php?zwierze=kot
i to jest OK
ale w drugim chcę aby po wpisaniu kot wartość szukana była a_kot
czyli żeby została przesłany adres: index.php?zwierze=a_kot

jednym słowem chcę dodać do wpisywanej value ukrytą wartość domyślną.


w sumie banalna sprawa, ale nie mogę tego rozwiązać



patrysiek2
Podaj cały formularz ...
Kshyhoo
Dodatkowy input z atrybutem hidden o wartości $a. Potem łączysz...
Dopler
formularz nie ma nic więcej poza
  1. <form name="getword" action="index.php" method="get">
  2. ...
  3. <input type="submit" value="Szukaj">


a co do łączenia to właśnie mi to nie wychodzi - bo też próbowałem z hidden - ale zawsze mi wychodzą dwie zmienne index.php?a=a_&zwierze=kot
coś chyba źle robię

d3ut3r
masz dwa wyjścia zakładam że twój form (ten drugi) wygląda tak:

  1. <form action="drugi_form.php" method="get" id="drugi_form">
  2. <input type="text" name="zwierze" id="zwierze" />
  3. <input type="submit" />
  4. </form>​​​​​​​​​​​​​


1. w jquery możesz zrobić
[JAVASCRIPT] pobierz, plaintext
  1. $(document).ready(function(){
  2. $('#drugi_form').submit(function(){
  3. $("#zwierze").val('a_'+$("#zwierze").val());
  4. return true;
  5. });
  6.  
  7. });&#8203;
[JAVASCRIPT] pobierz, plaintext


2. w php który odbiera formularz (drugi_form.php)
  1. $zwierze='a_'.$_GET['zwierze'];
Dopler
właśnie problem tkwi w tym, że formularz jest odbierany przez ten sam plik. Co więcej za realizację obu formularzy odpowiada jeden "if".

Chodzi o to żeby wysłać do tego ifa już gotową wartość "kot" lub "a_kot" - zależnie od użytego formularza.

Gdy umieszczam zmienną łączącą dane strona wyświetla się już z informacją "fraza "a_" jest za krótka (jest ustawione takie obostrzenie do 3 liter) a więc if się wykonuje bo otrzymuje wartość - pomimo tego że nie ma ?zwierze= w adresie.

Po wysłaniu formularza otwiera się ta sama strona która wysyła formularz a ify z adresu pobierają dane - jeśli jest "zwierze=" to uruchamia się if który szuka zwierzęcia

(ech - zacząłem ten przykład ze zwierzętami żeby było łatwiej więc go ciągnę)

a każdym razie zanim się wpisze w formularz to zmienna "zwierze" nie powinna istnieć - dopiero po wysłaniu formularza.

=========

no nic - na razie problem rozwiązałem dodają ukryte input o nazwie "a" w formularzu a w ifie dodając kolejny pod-if
  1. if ($a=on){$a= 'a_'; SELECT .... CONCAT('%$a','$zwierze%') ...}else {...}


nie jest to rozwiązanie idealne bo tworzy kolejny poziom z-if-owania a pozatym gdy dojdzie trzeci i czwarty formularz z kolejnymi zmiennymi to będę musiał albo zrobić CASE albo wprowadzić piętrowe ify. Dużo lepiej było by gdyby value były od razu wysyłane z dołączonym stringiem
Jeśli by ktoś znalazł sposób - będę wdzięczny.
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.