Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][PHP]problem z formularzem
Forum PHP.pl > Forum > Przedszkole
mako11
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
Niktoś
  1. <form action=<?php require __DIR__.'plik.php';?> method="post">
mortus
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.
Niktoś
@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/
mortus
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.
Niktoś
poprawiłem hehe.
mako11
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';?>
mortus
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.
mako11
mam pytanie czy jest możliwość aby formularz zmieniał lokalizacje na serwerze a plik php obsługujący nie i to działało,
mortus
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?
mako11
problemow ci mako11

problemów ciąg dalszy wa dresie zamiast / albo \ a jsest tak %5Cvar%5Cwww%5C1.7%5C
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.