Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> przekierowanie po wysłaniu formularza
maciu
post
Post #1





Grupa: Zarejestrowani
Postów: 238
Pomógł: 1
Dołączył: 27.08.2003

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


Powiedzmy, że formularz wysyłam ze strony http://nazwa.com/katalog/?zmienna=wartosc&zmienna2=wartosc2

W jaki sposób zrobić, aby formularz ten został wysłany do tej samej strony, z której został wysłany, innymi słowy, aby po wysłaniu formularza zostać przekierowanym do tej samej strony.

Ten post edytował maciu 12.07.2004, 18:02:16
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 9)
invx
post
Post #2





Grupa: Zablokowani
Postów: 655
Pomógł: 0
Dołączył: 28.11.2003
Skąd: Zagórz

Ostrzeżenie: (80%)
XXXX-


normalnie:
  1. <form action="http://nazwa.com/katalog/?zmienna=wartosc&zmienna2=wartosc2" method="POST"></form>


hyba ze Ci chodzi o header(); to w tedy tak:
  1. <?php
  2. header(&#092;"location=http://nazwa.com/katalog/?zmienna=wartosc&zmienna2=wartosc2\");
  3. ?>


Ten post edytował invx 12.07.2004, 18:08:13


--------------------
RCXcms
www.rcx.prv.pl
Pierwszy polski w pełni zintegrowany system portal
Go to the top of the page
+Quote Post
marlowe
post
Post #3





Grupa: Zarejestrowani
Postów: 178
Pomógł: 0
Dołączył: 2.11.2003
Skąd: Kraków

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


php_self
  1. <?php
  2. if($_GET['zmienna'])
  3. $zmienna = htmlspecialchars($_GET['zmienna']);
  4. echo &#092;"<b>\".$zmienna.\"</b>\";
  5. ?>
  6. <form action=\"<?php echo $PHP_SELF; ?>\" method=\"get\">
  7. <input type=\"text\" name=\"zmienna\"/>
  8. <input type=\"submit\">
  9. </form>

Pozdrawiam.
Bartek

Ten post edytował marlowe 12.07.2004, 18:08:30
Go to the top of the page
+Quote Post
maciu
post
Post #4





Grupa: Zarejestrowani
Postów: 238
Pomógł: 1
Dołączył: 27.08.2003

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


jak wpisze
  1. <?php
  2.  
  3. $_SERVER['php_self']
  4.  
  5. ?>

to przeniesie mnie tylko do http://nazwa.com/katalog/ a reszte adresu pomija. Myślałem, że trzeba użyć
  1. <?php
  2.  
  3.  <FORM method=post action='.$_SERVER['PHP_SELF'].'?'.$_SERVER['query_string'].'
  4. ';
  5.  
  6. ?>

ale to też nie pomaga
Go to the top of the page
+Quote Post
invx
post
Post #5





Grupa: Zablokowani
Postów: 655
Pomógł: 0
Dołączył: 28.11.2003
Skąd: Zagórz

Ostrzeżenie: (80%)
XXXX-


napisz dokladniej co chcesz osiagnac, bo nie rozumiem.


--------------------
RCXcms
www.rcx.prv.pl
Pierwszy polski w pełni zintegrowany system portal
Go to the top of the page
+Quote Post
borec
post
Post #6





Grupa: Zarejestrowani
Postów: 260
Pomógł: 0
Dołączył: 18.07.2003
Skąd: Tarnów

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


nie $_SERVER['query_string'] a $_SERVER['QUERY_STRING']


--------------------
Gentoo Linux 64bit / PHP 5.2 / MySQL 5.1
-> Administracja serwerami Linux i FreeBSD
Go to the top of the page
+Quote Post
Dawid Pytel
post
Post #7





Grupa: Zarejestrowani
Postów: 133
Pomógł: 0
Dołączył: 15.09.2003

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


Widzę, że mało kto potrafi zrozumieć skąd są wysyłane dane.
Ja zakładam, że chodzi o coś takiego:

  1. <?php
  2.  
  3. header(&#092;"Location: \". $_SERVER['HTTP_REFERER'] .\"\");
  4.  
  5. ?>


To przenosi Cię do strony z której przyszedłeś.


--------------------
Ez Partner :]
Go to the top of the page
+Quote Post
marlowe
post
Post #8





Grupa: Zarejestrowani
Postów: 178
Pomógł: 0
Dołączył: 2.11.2003
Skąd: Kraków

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


@Dawid Pytel:
Cytat("maciu")
...aby formularz ten został wysłany do tej samej strony, z której został wysłany...

Przecież to nie daje takiego efektu...?
Pozdrawiam.
Bartek
Go to the top of the page
+Quote Post
maciu
post
Post #9





Grupa: Zarejestrowani
Postów: 238
Pomógł: 1
Dołączył: 27.08.2003

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


zarówno
  1. <?php
  2.  
  3. <FORM method=post action='.$_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'].'
  4. ';
  5.  
  6. ?>

jak i
  1. <?php
  2.  
  3. <FORM method=post action='.$_SERVER['HTTP_REFERER'].'
  4. ';
  5. ?>

przenoszą na strone nazwa.com/katalog zamiast na strone nazwa.com/katalog/?zmienna=wartosc&zmienna2=wartosc2
Go to the top of the page
+Quote Post
marlowe
post
Post #10





Grupa: Zarejestrowani
Postów: 178
Pomógł: 0
Dołączył: 2.11.2003
Skąd: Kraków

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


Cóż. Pewnie jest jakiś mądrzejszy pomysł ale rozwiązałem to tak:
  1. <?php
  2. if($_GET['zmienna1']!=&#092;"\")
  3. {
  4. if($_GET['zmienna2']!=&#092;"\")
  5. {
  6. echo &#092;"<b>Skrypt skierował wykonanie formularza na siebie samego i nie zgubił ciągu za
  7. ytań.</b>\";
  8. }
  9. echo \"<form action=\"$PHP_SELF\\" method=\"get\">n\";
  10. echo \"<input type=\"text\\" name=\"zmienna2\" />n\";
  11. foreach($_REQUEST as $form=>$form_val)
  12. {
  13. echo \"<input type=\"hidden\\" name=\"$form\" value=\"$form_val\" />n\";
  14. }
  15. echo \"<input type=\"submit\\" />n\";
  16. echo \"</form>n\";
  17. echo \"<hr />$zmienna1 wynosi $zmienna1<br />n$zmienna2 wynosi $zmienna2<br />n\";
  18. }
  19. else
  20. {
  21. echo \"Zmienna $zmienna1 w ciągu zapytań jest pusta.\";
  22. }
  23. ?>

Tutaj jest przykład.
Pozdrawiam.
Bartek
PS Przepraszam- znów mi mi zmieniło niektóre znaczki w listingu... zamień je proszę sobie na "!" i "\".

Ten post edytował marlowe 12.07.2004, 23:22:25
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 Aktualny czas: 19.08.2025 - 19:43