Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][HTML]Niedziałający formularz
sweter
post
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
 
Start new topic
Odpowiedzi (1 - 7)
r4xz
post
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 (IMG:style_emoticons/default/winksmiley.jpg)

-----

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

Go to the top of the page
+Quote Post
thek
post
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 (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
sweter
post
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 (IMG:style_emoticons/default/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 (IMG:style_emoticons/default/sad.gif)
Go to the top of the page
+Quote Post
potreb
post
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
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 (IMG:style_emoticons/default/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ą (IMG:style_emoticons/default/biggrin.gif) Poczytaj dokładnie o możliwościach htaccess a sam zobaczysz, że to możliwe (IMG:style_emoticons/default/smile.gif) htaccess to nie tylko url rewrite (IMG:style_emoticons/default/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
Go to the top of the page
+Quote Post
potreb
post
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 (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
thek
post
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 (IMG:style_emoticons/default/winksmiley.jpg)

Ten post edytował thek 25.08.2009, 23:29:04
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 24.08.2025 - 13:26