Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Przesyłanie danych z formularza
q3d
post 20.01.2013, 00:02:33
Post #1





Grupa: Zarejestrowani
Postów: 98
Pomógł: 7
Dołączył: 10.01.2006

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


Na serwerze znajduje się skrypt z formularzem:

  1. <form action="http://adres_serwera/pl/users,list,0,0.html" method="post">
  2. ...
  3. </form>


Po przeniesieniu skryptu na nowo utworzony lokalny LAMP dane wysyłane z tego forumlarza nie są przesyłane (tablica $_POST) jest pusta. Trochę się z tym namęczyłem ale doszedłem do tego, że jeżeli zmodyfikuję wartość atrybutu action na:

  1. <form action="pl/users,list,0,0.html" method="post">
  2. ...
  3. </form>


a więc usunę adres serwera poprzedzony http, to dane znowu są poprawnie przesyłane. Dlaczego tak się dzieje i co za to jest odpowiedzialne?
Go to the top of the page
+Quote Post
sajegib
post 20.01.2013, 00:24:10
Post #2





Grupa: Zarejestrowani
Postów: 352
Pomógł: 59
Dołączył: 16.01.2013

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


<form action="http://adres_serwera/pl/users,list,0,0.html" method="post">

zamiast kropki wskoczył Ci slash ( / ) - powyżej pogrubiony

Ten post edytował sajegib 20.01.2013, 00:25:38
Go to the top of the page
+Quote Post
q3d
post 20.01.2013, 09:18:04
Post #3





Grupa: Zarejestrowani
Postów: 98
Pomógł: 7
Dołączył: 10.01.2006

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


Problem nie polega na błędzie w adresie. Adresy tej strony zbudowane są wg schematu:
$BASE_URL.$lang.'/'.$component.','$parameters.'.html'

gdzie np:
  1. define ('BASE_URL', 'http://www.adres_strony.pl/');


i na serwerze firmyt hostingowej wszystko działa poprawnie czyli dane z tego formularza są przesyłane.

Wczoraj uruchomiłem na Ubuntu swój serwer (swoją drogą bardzo ciekawy problem z katalogiem public_html, w którym nie moga znajdować się strony www gdyż w katalogu tym nie będzie działać php) i na tym serwerze dane są przesyłane ale jedynie gdy zmienię na:

  1. define ('BASE_URL', '');


Skrypt wykrywa czy działa w środowisku produkcyjnym i wczytuje odpowiednią konfigurację z tym, że dla localhosta musi być własnie tak jak wyżej, a w przypadku:

  1. define ('BASE_URL', 'http://www.adres_strony.local');


zmienne nie są przesyłane.

P.S.
http://www.adres_strony.local dla strony na localhoscie to poprawnie zmapowany w pliku hosts adres domenowy wskazujący na 127.0.0.1 (VirtualHost).

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: 17.06.2025 - 06:42