Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php/html]Przesyłanie z formularza do formularza
AQuatro
post 12.02.2007, 15:40:31
Post #1





Grupa: Zarejestrowani
Postów: 92
Pomógł: 0
Dołączył: 29.09.2004

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


Mam ciekawy problem. Chodzi mi o przesłanie danych do formularza.
Jak wiadomo zazwyczaj robi się tak:
Jest formularz w html'u i z tego formularza przesyłana jest wartość w nagłóku do pliku php np typu POST.
Lecz ja mam problem tego typu, że chciałbym aby już do formularza w htmlu, była przesłana jakaś wartość, a potem w tym formularzu uzupełniona o kolejne wartości i dopiero przesłana do php.
Opiszę na przykładzie.
Załóżmy, że jest 1000 stron. Powiedzmy opisujących różne przedmioty. Załóżmy, że ktoś chce kupić przedmiot to klika na jednej z tych stron i uruchamia formularz. Ja mam 1000 formularzy więc nie ma problemu. Jednak chciał bym aby był tylko jeden formularz, który to obsłuży. Tylko tutaj pojawia się problem, że ten formularz "musi wiedzieć" z jakiej strony ktoś go uruchomił, czyli np co chce kupić.
Jak to rozwiązać ?
Go to the top of the page
+Quote Post
Cienki1980
post 12.02.2007, 21:08:58
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

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


Może wykorzystać tak $_SERVER['HTTP_REFERER'] i w zależności co ta zmienna zwróci uruchamiać odpowiedni formularz z odpowiednim wypełnieniem czy też innymi opcjami.


--------------------
404
Go to the top of the page
+Quote Post
AQuatro
post 13.02.2007, 08:19:53
Post #3





Grupa: Zarejestrowani
Postów: 92
Pomógł: 0
Dołączył: 29.09.2004

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


Ok. ale drugi formularz musi być w html'u o ole się nie mylę, dopiero po jego wypełnieniu jesteśmy kierowani do pliku php.
Mam sytuację taką - kilka tysięcy stron w html, (załóżmy różne przedmioty na każdej stronie), po kliknięciu na jakiejkolwiek ze stron, mam przekierowanie do jednego, tego samego formularza html (w którym uzupełniam np dane kupującego, po uzupełnianiu tego formularza informacja wędruje do pliku php,
Tylko jak zrobic aby powędrowała równiez informacja o przedmiocie, czyli o jednej z wielu stron, które kierowały na ten formularz.
Słabo znam php, ale wiem, że da się w php wtrącić jakoś kod html. Gdyby ten formularz był w php, to było by rozwiązanie. Pytanie więc czy przejęta wartość, np typu post lub inna, może posłużyć jako domyślna i niezmienna wartość zawartego formularza.
(na marginesie prościutkie pytanie - jak wtrącić kawałek kodu w htmlu do php, pamiętam coś że się da, tylko nie wiem jak.)
Go to the top of the page
+Quote Post
Cienki1980
post 13.02.2007, 08:34:22
Post #4





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

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


Przecież możesz zrobić cały formularz w php ot w taki prosty sposób biggrin.gif
  1. <?php
  2. //tu wykonujesz jakieś funkcje linijki kodu php
  3. //albo coś innego
  4. ?>
  5.  
  6. <table><tr><td>zawartość komórki</td></tr></table>
  7.  
  8. <div>zawartość div'a</div>
  9. <!--i tak dalej i tak dalej -->
  10. <?php
  11. //tu jakieś linijki dalsze jeżeli ich potrzebujesz
  12. //jeżeli nie to nie
  13. ?>


Taki plik zapisujesz jako php i działa jak powinno.
W tych linijkach kodu możesz w zależności od adresu skąd przyszło zlecenie wykonać jakieś czynności, wyciągnąć jakieś dane, czy też inaczej sformatować formularz.


--------------------
404
Go to the top of the page
+Quote Post
AQuatro
post 13.02.2007, 10:13:27
Post #5





Grupa: Zarejestrowani
Postów: 92
Pomógł: 0
Dołączył: 29.09.2004

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


Ok, dochodzimy powoli do rozwiazania problemu.
Czyli przejściowy formularz koniecznie musi być w php.
Więc mój formularz bedzie wyglądał tak:
  1. <?php
  2. $informacja=$_POST['tresc'] # mój formularz przyjmuje jakąś informację z konkretnej strony.
  3. ?>
  4.  
  5. # no i teraz html:
  6. <FORM action="post.php" method="POST">
  7. <INPUT type="text" name="tekst">
  8. <INPUT type="submit" value="zamieszczaj">
  9. <?php ?>

Więc programik wyglądał by tak:
Pytanie:, jak sprawić, aby do pliku post.php powędrowała nie tylko zmienna tekst, ale również i zmienna $informacja questionmark.gif
Go to the top of the page
+Quote Post
Cienki1980
post 13.02.2007, 10:17:22
Post #6





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

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


  1. <?php
  2. $informacja=$_POST['tresc'];
  3.  
  4. echo "<form action="plik.php" method="post">";
  5. echo "<input type="hidden" name="informacja" value="".$informacja."">";
  6. echo "<input type="text" name="pole_txt">";
  7. echo "<input type="submit" value="zatwierdz"></form>";
  8. ?>



Tu cały formularz napisany w php, ale ogólnie zasada jest taka, że umieszczasz pole 'hidden' i tam wpisujesz wartość pobraną w php


--------------------
404
Go to the top of the page
+Quote Post
AQuatro
post 13.02.2007, 15:48:52
Post #7





Grupa: Zarejestrowani
Postów: 92
Pomógł: 0
Dołączył: 29.09.2004

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


Wygląda na to, że problem rozwiązany.
Dzięki za pomoc.

Pojawił się jeszcze jeden, ostatni chyba już, problem.
Do tego samego pliku php w przyjmuję wartości z różnych stron.
Przyjmuję plik 'post.php za pomocą:
$wartosc=_POST['tresc'];

Jeżeli strona wysyła z formularza typu post, to jest ok.
Jednak niektóre strony nie wysyłają z formularza, lecz wysyłają w takiej formie:
<a href="http://www.xx.pl/post.php?tresc=aaaaaaabbbbbbcccc">LINK

Jak przyjąć taką treść w php ?
Dlaczego nie działa wyżej wymieniony sposób ?

Ten post edytował AQuatro 13.02.2007, 15:50:32
Go to the top of the page
+Quote Post
nospor
post 13.02.2007, 15:51:59
Post #8





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




1) z forma wysylanego metoda post, pobiera sie z z $_POST
2) z forma wysylanego metoda get, pobiera sie z z $_GET
3) z linku pobiera sie z $_GET
4) gdy nie interesuje cie skad pochodzi, pobierasz z $_REQUEST


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 25.07.2025 - 09:43