Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [HTML][PHP]problem z formularzem
mako11
post 8.03.2012, 13:19:16
Post #1





Grupa: Zarejestrowani
Postów: 32
Pomógł: 0
Dołączył: 22.02.2012

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


witam mam problem jak połączyć się do pliku php w formularzu w rożnych lokalizacjach na serwerze
ja odwołuje się w taki sposób
  1. <form action=<?php require __DIR__.'plik.php';?><method="post">

ale plik.php jest ładowany od razu a nie po wypełnieniu danych co jest nie tak?questionmark.gif
Go to the top of the page
+Quote Post
Niktoś
post 8.03.2012, 13:47:34
Post #2





Grupa: Zarejestrowani
Postów: 1 195
Pomógł: 109
Dołączył: 3.11.2011

Ostrzeżenie: (10%)
X----


  1. <form action=<?php require __DIR__.'plik.php';?> method="post">
Go to the top of the page
+Quote Post
mortus
post 8.03.2012, 13:52:22
Post #3





Grupa: Zarejestrowani
Postów: 2 178
Pomógł: 596
Dołączył: 25.09.2009
Skąd: Piwniczna-Zdrój

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


Nie require a echo. Poza tym stała magiczna __DIR__ nie zawiera slasha/backslasha (w zależności od systemu) na końcu. Zatem poprawnie będzie:
  1. <form action="<?php echo __DIR__ . DIRECTORY_SEPARATOR . 'plik.php'; ?>" method="post">


require w Twoim przypadku działa tak, jak trzeba, tylko nie do tego służy.

Ten post edytował mortus 8.03.2012, 13:56:34
Go to the top of the page
+Quote Post
Niktoś
post 8.03.2012, 13:56:05
Post #4





Grupa: Zarejestrowani
Postów: 1 195
Pomógł: 109
Dołączył: 3.11.2011

Ostrzeżenie: (10%)
X----


@Up trochę przekombinowałeś,ale faktycznie brakuje slasha by określić prawidłową ściezkę powinno być:
  1. <form action=<?php require __DIR__.'/plik.php';?> method="post">

http://www.hermanradtke.com/blog/using-the...magic-constant/

Ten post edytował Niktoś 8.03.2012, 14:05:32
Go to the top of the page
+Quote Post
mortus
post 8.03.2012, 13:58:30
Post #5





Grupa: Zarejestrowani
Postów: 2 178
Pomógł: 596
Dołączył: 25.09.2009
Skąd: Piwniczna-Zdrój

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


Cytat(Niktoś @ 8.03.2012, 13:56:05 ) *
@Up trochę przekombinowałeś,ale faktycznie brakuje slasha by określić prawidłową ściezkę powinno być:
  1. <form action=<?php require __DIR__.'/plik.php';?> method="post">

Nic nie przekombinowałem. DIRECTORY_SEPARATOR to stała uzależniona od systemu operacyjnego (po co sie zastanawiać, czy ma tam być /, czy \). Poza tym kod, który podałem działa, a Twój działa nadal tak, jak kod autora.

EDIT:
@up: A jednak wyedytowałeś, choć pewien nie jestem, że zadziała.
@down: Nadal źle - echo require?!
@down: Raczej zepsułeś z powrotem.

Ten post edytował mortus 8.03.2012, 14:10:47
Go to the top of the page
+Quote Post
Niktoś
post 8.03.2012, 14:05:47
Post #6





Grupa: Zarejestrowani
Postów: 1 195
Pomógł: 109
Dołączył: 3.11.2011

Ostrzeżenie: (10%)
X----


poprawiłem hehe.
Go to the top of the page
+Quote Post
mako11
post 8.03.2012, 20:48:55
Post #7





Grupa: Zarejestrowani
Postów: 32
Pomógł: 0
Dołączył: 22.02.2012

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


dzięki wszystki za szybka odpowiedź,
żadna powiedź nie pomogła po zatwierdza formularz wywala 404 - Artykułu nie znaleziono
ten plik plik.php jest na serwerze a formularz jest zmiennych ,
  1. <?php echo__DIR__ . DIRECTORY_SEPARATOR . 'garden.php';?>
Go to the top of the page
+Quote Post
mortus
post 8.03.2012, 22:07:59
Post #8





Grupa: Zarejestrowani
Postów: 2 178
Pomógł: 596
Dołączył: 25.09.2009
Skąd: Piwniczna-Zdrój

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


Cytat(mako11 @ 8.03.2012, 20:48:55 ) *
dzięki wszystki za szybka odpowiedź,
żadna powiedź nie pomogła po zatwierdza formularz wywala 404 - Artykułu nie znaleziono
ten plik plik.php jest na serwerze a formularz jest zmiennych ,
  1. <?php echo__DIR__ . DIRECTORY_SEPARATOR . 'garden.php';?>

Ale niedość, że plik ma być na serwerze, to ma być dokładnie w tym samym katalogu, co plik zawierający formularz (przynajmniej takiej lokalizacji używasz w skrypcie, który tutaj pokazałeś). Jeśli natomiast ten plik.php, jak i garden.php znajdują się w innej lokalizacji, to tę lokalizację w atrybucie action formularza trzeba wskazać.

Kolego to są podstawy podstaw, więc zajżyj do jakiegoś kursu.
Go to the top of the page
+Quote Post
mako11
post 9.03.2012, 22:28:16
Post #9





Grupa: Zarejestrowani
Postów: 32
Pomógł: 0
Dołączył: 22.02.2012

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


mam pytanie czy jest możliwość aby formularz zmieniał lokalizacje na serwerze a plik php obsługujący nie i to działało,
Go to the top of the page
+Quote Post
mortus
post 9.03.2012, 23:29:01
Post #10





Grupa: Zarejestrowani
Postów: 2 178
Pomógł: 596
Dołączył: 25.09.2009
Skąd: Piwniczna-Zdrój

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


Tak, jest taka możliwość. Atrybut action zawsze musi wskazywać plik/skrypt, który obsluguje formularz. Problem można rozwiązać na wiele sposobów, niemniej każdy będzie się sprowadzał do znaleziena główego katalogu aplikacji i doklejenia ścieżki do wsponianego pliku. Można posłużyć się funkcją getenv() lub tablicą superglobalną $_SERVER:
  1. <?php
  2. $action = getenv('DOCUMENT_ROOT') . '/sciezka/do/pliku/obslugujacego/formularz.php';
  3. ?>
  4. <form action="<?php echo $action; ?>" method="post">
  5. <!-- ... -->
  6. </form>


PS: Trochę dziwny ten zabieg ze zmianą lokalizacji formularza? Może to kwestia błędnych założeń architektury systemu?

Ten post edytował mortus 9.03.2012, 23:30:01
Go to the top of the page
+Quote Post
mako11
post 10.03.2012, 20:18:18
Post #11





Grupa: Zarejestrowani
Postów: 32
Pomógł: 0
Dołączył: 22.02.2012

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


problemow ci mako11

problemów ciąg dalszy wa dresie zamiast / albo \ a jsest tak %5Cvar%5Cwww%5C1.7%5C
Go to the top of the page
+Quote Post
Niktoś
post 10.03.2012, 20:58:25
Post #12





Grupa: Zarejestrowani
Postów: 1 195
Pomógł: 109
Dołączył: 3.11.2011

Ostrzeżenie: (10%)
X----


http://www.php.net/manual/en/function.urldecode.php
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: 20.06.2025 - 18:46