Przesyłanie formularza metodą "get" działa, a "post" już nie.

0

No więc mam plik login.php:

	<form action="loged.php" method="post" enctype="text/plain" onsubmit="if (sprawdz(this)) return true; return false">
	Login: <input type="text" name="log" /> <br /> <br />
	Hasło: <input  type="password" name="pass" /> <br />
	<!--<input type="hidden" name="action" value="login" />-->
	<input type="submit" />
</form> 

A w pliku loged.php:

<?php echo $_REQUEST['log']; ?> 

I gdy chcę to uruchomić wyskakuje mi komunikat: Notice: Undefined index: log in C:\wamp\www\a\Loged.php on line 1
Zaznaczę, że używam WAMPa, bo myślę, że to musi być wina konfiguracji. Gdy post zamienię na get to wszystko działa. I dobrze by było gdyby odpowiedzi były w miarę proste, bo jestem bardzo początkujący.

1
enctype="text/plain"

Usuń to.

0

Usunąłem, ciągle nie działa. Jakieś inne propozycje?

2

Nie używaj REQUEST tylko POST. REQUEST to pole do popełniania dziur i głupi mechanizm, który prędzej czy później zostanie z php usunięty (a przynajmniej taką mam nadzieję).

Druga rzecz: if (sprawdz(this)) return true; return false robi dokładnie to samo co return sprawdz(this);

0

Wcześniej używałem POST, ale kiedy próbowałem coś zrobić z moim problemem to napisałem REQUEST, żeby nie zmieniać co chwilę gdy sprawdzałem czy get działa.
Co do sprawdź: Skopiowałem to z jakiegoś kursu internetowego.

2

No to zachowaj sobie w głowie, że REQUEST nie używamy. To jeden z kilkunastu bardzo złych mechanizmów w PHP (stąd i cały hejt na PHP - tam bardzo dużo dodają, a potem myślą i usuwają, a w międzyczasie dziurawe strony wiszą w internecie). U Ciebie pewnie usługodawca hostingu zablokował zmienne POST w REQUEST.

A druga ważna rzecz: kursy internetowe to często gnioty. Tu tragedii nie ma, bo tylko zmienia się zapis i to taka ciekawostka tylko, ale wiedz, że sporo z nich jest pisanych przez amatorów, którzy nie mają pojęcia, co robią. Nowi czytający nie mają pojęcia, że tamci nie mają pojęcia i tak to się kręci ;)

Edit: No i powiedz czy pomogło, bo to może coś innego - ja się nie przyglądam, jeżeli tak istotna rzecz jak używanie REQUEST wpada w oko - pierwsze eliminujemy poważne babole, bo często są przyczyną błędów, a potem ew. zgłębiamy detale.

0

Niestety, zmiana REQUEST NA POST nie pomogła. Ale dzięki za odpowiedzi.

1

Twój błąd zwraca wielką literę w nazwie pliku, a link odnosi się do małej, nie wiem czy zwróciliście uwagę.

Undefined index: log in C:\wamp\www\a\Loged.php on line 1 
0

O Jezu, jestem strasznym idiotą. Tak, rzeczywiście, plik zaczyna się z dużej litery, a ja w linku napisałem z małej. Przepraszam za zamieszanie. Tylko zastanawia mnie dlaczego formularz się nie przesyłał, ale przeglądarka przechodziła na poprawną stronę. W każdym razie dziękuje za wszystkie odpowiedzi.

0

Postaram się wyjaśnić, ale nie twierdzę że to jest 100% zgodne z prawdą. Przeglądarka zmienia litery w linku na małe litery. Można to spróbować wpisując www.4PROGRAMMERS.net , ale interpeter PHP już potrzebuje mieć dokładnie wielką lub mała literę. ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1