Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Ograniczenie długości łańcucha typu string zapisanej do zmiennej z formularza, długość, rozmiar, ograniczenie, limit, łańcuch, string
Fixer
post
Post #1





Grupa: Zarejestrowani
Postów: 123
Pomógł: 0
Dołączył: 24.10.2004
Skąd: TG

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


Problem:

$Zmienna która przyjmuje DŁUGĄ WARTOŚĆ typu string (ok 100 kb) pochodzącą z formularza z metody $_POST zostaje usunięta (empty true). Zaś na innym serwerze ten sam kod przyjmuje poprawnie wartość i przesyła ją do mysql (insert).

O co tu chodzi i w czym leży problem?

Dodam, że PHP nie wywala żadnego błędu [E_ALL; error_reporting(1); ini_set('display_errors', on')]
Problem z Mysql to to raczej nie jest bo w phpmyadminie mogę spokojnie dodać ręcznie ten tekst do bazy przez formularz phpmyadmina (pole jest typu mediumtext).

PS przepraszam jeśli umieściłem post w złym wątku ale nie wiem w czym leży problem apache/php czy mysql

Ten post edytował Fixer 16.12.2009, 18:57:40
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 10)
bim2
post
Post #2





Grupa: Zarejestrowani
Postów: 1 873
Pomógł: 152
Dołączył: 9.04.2006
Skąd: Berlin

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


Poczytaj o post_max_size (w pliku ini) (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
Fixer
post
Post #3





Grupa: Zarejestrowani
Postów: 123
Pomógł: 0
Dołączył: 24.10.2004
Skąd: TG

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


to raczej nie to bo aktualnie
  1. echo ini_get('post_max_size');
mówi, że jest to wartość wynosząca 8M

zaś
  1. echo ini_get('memory_limit');
daje wynik 32M

tu jest podobny temat ale nikt nie zna odpowiedzi: http://forum.php.pl/index.php?showtopic=84...l=post_max_size

Ten post edytował Fixer 16.12.2009, 20:30:32
Go to the top of the page
+Quote Post
bim2
post
Post #4





Grupa: Zarejestrowani
Postów: 1 873
Pomógł: 152
Dołączył: 9.04.2006
Skąd: Berlin

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


Pokaż w takim razie kod. Ja stawiam na register_globals (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
Fixer
post
Post #5





Grupa: Zarejestrowani
Postów: 123
Pomógł: 0
Dołączył: 24.10.2004
Skąd: TG

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


  1. <form method=POST action="TEST.PHP">
  2. <textarea name="zmienna"></textarea>
  3. <input type="submit">
  4. </form>
  5. <?
  6. echo '<pre>';
  7. print_r($_POST);
  8. echo '</pre>';
  9. ?>


nie ma zmiennych globalnych
Go to the top of the page
+Quote Post
bim2
post
Post #6





Grupa: Zarejestrowani
Postów: 1 873
Pomógł: 152
Dołączył: 9.04.2006
Skąd: Berlin

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


Hmmm, nie mam pomysłu. Testujesz to na tej samej przeglądarce, dla pewności pytam ? (IMG:style_emoticons/default/smile.gif) I jaki to jest serwer, ten który nie działa?

Może tyle danych wypadałoby wysyłać w pliku .txt w takim razie?
Go to the top of the page
+Quote Post
Fixer
post
Post #7





Grupa: Zarejestrowani
Postów: 123
Pomógł: 0
Dołączył: 24.10.2004
Skąd: TG

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


Cytat(bim2 @ 16.12.2009, 21:15:20 ) *
Testujesz to na tej samej przeglądarce?

tak (na IE i na FF)
zresztą problem jest po stronie serwera nie użytkownika przeglądarki

na tej konfiguracji działa
Windows / XP PRO PL SP3

Apache 2.2.11 (service)
PHP 5.2.8
memory_limit 128M
upload_max_filesize = 55M
post_max_size = 55M
MySQL 5.1.30 (service)
phpMyAdmin 3.1.2


a na tej nie działa:
Red Hat Enterprise Linux / CentOS 5.4

Apache 2.x
PHP 5.x
memory_limit 32M
upload_max_filesize 10M
zend_optimizer 3.3.3

MySQL 5.x
phpMyAdmin 2.11.9.5

Co wy na to?

Ten post edytował Fixer 16.12.2009, 22:14:27
Go to the top of the page
+Quote Post
blooregard
post
Post #8


Newsman


Grupa: Moderatorzy
Postów: 2 033
Pomógł: 290
Dołączył: 21.12.2007
Skąd: Łódź




Cytat
Co wy na to?


Stawiam na nazwę pliku napisaną dużymi literami TU:
Cytat
action="TEST.PHP">


Unix'y rozróżniają wielkość liter w nazwie plików. Dlatego na serwerze RedHat'a to nie działa, bo ten plik masz pewnie zapisany jako test.php, a nie TEST.PHP

Ten post edytował blooregard 16.12.2009, 21:58:07
Go to the top of the page
+Quote Post
Fixer
post
Post #9





Grupa: Zarejestrowani
Postów: 123
Pomógł: 0
Dołączył: 24.10.2004
Skąd: TG

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


nie... kombinujcie dalej...

Pisane czy z małej czy z dużej (i nazwa pliku i nazwa w action) efekt jest ten sam.
Pozatym gdyby nazwa była błędna to po prostu formularz po kliknięciu by znikł a on wyświetla się tylko traci wartość w zmiennej którą próbował pobrać z POST

po 2h kopania w wujka googla mam chyba odp (IMG:style_emoticons/default/smile.gif)
http://www.bradino.com/php/empty-post-array/

sprawdzę i dam znać...

Ten post edytował Fixer 17.12.2009, 00:53:18
Go to the top of the page
+Quote Post
bim2
post
Post #10





Grupa: Zarejestrowani
Postów: 1 873
Pomógł: 152
Dołączył: 9.04.2006
Skąd: Berlin

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


Jakie te dane wklejasz? Zwykły tekst czy jakieś śmieciopodobne rzeczy?

Aha, i serwer masz swój własny tj. sam nim zarządzasz czy jakiś hosting wirtualny?
Go to the top of the page
+Quote Post
Fixer
post
Post #11





Grupa: Zarejestrowani
Postów: 123
Pomógł: 0
Dołączył: 24.10.2004
Skąd: TG

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


litery, liczby, znaki specjalne i polskie znaki diakrytyczne

same "0" też nie przechodzą w ilości większej niż 65 tys.

przez formularz przechodzi max 65 000 znaków.... 65001 już nie (post jest empty)(IMG:style_emoticons/default/tongue.gif)
więc jest gdzieś nałożona blokada!!!

kombinujcie i podpowiadajcie...

dodano:
prawdopodobnie dodatek "suhosin" blokuje posta
w pliku .htaccess należy dodać wpisy:

[APACHE] pobierz, plaintext
  1. php_value suhosin.post.max_vars 5000
  2. php_value suhosin.post.max_value_length 500000
  3. php_value suhosin.request.max_vars 5000
  4. php_value suhosin.request.max_value_length 500000
[APACHE] pobierz, plaintext


Ten post edytował Fixer 17.12.2009, 01:17:56
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: 25.12.2025 - 20:37