Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][HTML]Niedziałający formularz
sweter
post 25.08.2009, 13:25:44
Post #1





Grupa: Zarejestrowani
Postów: 623
Pomógł: 11
Dołączył: 1.01.2009
Skąd: Wrocław

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


Mam taki prosty formularz:

  1.  
  2. <form enctype="multipart/form-data" action="aktualizacja.php" method="POST">
  3.   <input type="file" name="plik">
  4.   <input type="hidden" name="wyslano" value="1" />
  5.   <input type="submit" value=" OK " />
  6. </form>
  7.  
  8.  


I tak:

1. jeżeli wybiorę jakiś plik i kliknę w "OK" to strona się tylko przeładowywuje i tablica $_POST jest całkiem pusta

2. jeżeli kliknę "OK" i pole plik zostawie puste jest ok.

if sprawdzający, czy formularz został wysłany wygląda tak:

  1.  
  2. if($_POST['wyslano']=="1"){
  3.  
  4.   // wszystko ok
  5.  
  6. }else{
  7.  
  8.   // nie wysłno
  9.  
  10.   // wyświetlany jest powyższy formularz
  11.  
  12. }
  13.  


EDIT: dowiedziałem się, że to przez za duży plik, który wgrywałem.
Czy istnieje możliwość zmiany ograniczenia uploadowanego pliku bez dostępu do php.ini?

Ten post edytował sweter 25.08.2009, 13:47:44


--------------------
Go to the top of the page
+Quote Post
r4xz
post 25.08.2009, 14:01:24
Post #2





Grupa: Zarejestrowani
Postów: 673
Pomógł: 106
Dołączył: 31.12.2008

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


polecam np.

if($_POST['OK']){

zamiast

if($_POST['wyslano']=="1") {

(nie jest to błąd, ale zawsze 1 linijka mniej i wygląda bardziej profesjonalnie winksmiley.jpg

-----

$_FILES["plik"]["size"]



--------------------
Go to the top of the page
+Quote Post
thek
post 25.08.2009, 14:07:23
Post #3





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Po pierwsze nie używaj niepotrzebnie pola "wysłano" jest zbędne. Wystarczy że nadasz submitowi nazwę (choćby name="wyslano") i sprawdzisz w POST czy on istnieje. Choćby funkcją array_key_exists( 'wyslano', $_POST)
To po pierwsze. Po drugie zamykaj inputy... Dla file tego nie zrobiłeś.
A po trzecie to można zmienić - używając htaccess smile.gif


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
Go to the top of the page
+Quote Post
sweter
post 25.08.2009, 14:38:28
Post #4





Grupa: Zarejestrowani
Postów: 623
Pomógł: 11
Dołączył: 1.01.2009
Skąd: Wrocław

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


Dziękuję za wszystkie uwagi.
A co do używania array_key_exists() - nie lepiej użyć isset()? W końcu mniej pisania biggrin.gif

Poza tym pogooglowałem i zalazłem linijkę do htaccess zmieniającą limit pliku:
Cytat
php_value upload_max_filesize 120M

Niestety nie działa sad.gif


--------------------
Go to the top of the page
+Quote Post
potreb
post 25.08.2009, 14:43:34
Post #5





Grupa: Zarejestrowani
Postów: 1 568
Pomógł: 192
Dołączył: 7.03.2005
Skąd: Warszawa

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


Panie, ustawienia limit max_upload_size oraz max_post_size należy ustawić w php.ini.

Ten post edytował potreb 25.08.2009, 14:43:44


--------------------

Go to the top of the page
+Quote Post
thek
post 25.08.2009, 14:53:34
Post #6





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




@potreb: ciekawe kto Ci udostępni php.ini na serwerze zewnętrznym biggrin.gif W większości przypadków jeśli hosting nie da Ci takiej opcji to możesz to tylko przez htaccess zrobić... O ile i na to Ci pozwolą biggrin.gif Poczytaj dokładnie o możliwościach htaccess a sam zobaczysz, że to możliwe smile.gif htaccess to nie tylko url rewrite smile.gif

@sweter: array_key_exists( 'wyslano', $_POST) i isset( $_POST['wyslano']) dadzą równoważne wyniki więc tutaj jest dowolność w stosowaniu. Jeśli to nie działa to sprawdź na ile masz ustawione te dane. i czy nie wywala jakiegoś błędu innego. Możliwe, że hosting nie pozwala zmieniać php.ini w żaden sposób. Jakby co zawsze możesz do ich BOK napisać z pytaniem czy jest taka możliwość.

Ten post edytował thek 25.08.2009, 14:55:48


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
Go to the top of the page
+Quote Post
potreb
post 25.08.2009, 17:15:51
Post #7





Grupa: Zarejestrowani
Postów: 1 568
Pomógł: 192
Dołączył: 7.03.2005
Skąd: Warszawa

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


Dlatego trzeba wybierać dobry hosting, co do httaccess to nie używam, bo nie każdy serwer ma taki coś jak Apache smile.gif


--------------------

Go to the top of the page
+Quote Post
thek
post 25.08.2009, 21:51:03
Post #8





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Jedyny hosting w Polsce jaki udostępnia php.ini i jaki znam to AZ.pl i mają skopany tak konfig oraz usługi że wolę dopłacić za serwer innej firmie i mieć spokój :] Sorki ale grzebanie we wszystkich ustawieniach php od nich i wyłączanie takich idiotyzmów domyślnych jak magiczne cytowania czy globalsy, które domyślnie mają włączone woła o pomstę do nieba. A nie mam zamiaru odpalać phpinfo i sprawdzać co mają skopane. Wolałem hosting zmienić niż się użerać z dziadami i czekać na ich zbytek dobrej woli by mi być może w ciągu godziny te ustawienia wprowadzili. Bo tyle sobie od maila jaki im wysyłam by ich o tym fakcie poinformować sobie ustalili. Godzinę czekania na zmianę, a teraz niech zrobisz sobie literówkę, to czekaj kolejną godzinę, zanim serwer być może ruszy, o ile gdzieś znów byka nie walnąłeś lub do ich ustawień bezpieczeństwa Twój php.ini nie pasuje i się wykrzacza. Wolę w htaccess zrobić zmianę i widzieć efekt po sekundzie winksmiley.jpg

Ten post edytował thek 25.08.2009, 23:29:04


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
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: 10.07.2025 - 05:56