Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] Dyrektywa Magic_quotes_gpc, Jak Ją Skutecznie Wyłączyć ?
sailor
post
Post #1





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 27.03.2007
Skąd: Pszczyna

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


Mam Prośbę o pomoc, w manulau php nie znalazłem rozwiązania mojego problemu, dlatego piszę w pod forum przedszkole.

Czy jest jakiś sposób na wyłączenie dyrektywy magic_quotes_gpc na serwerze(konkretnie na moim koncie FTP), nie mając praw administratora serwera ?. Próbowałem poradzić sobie z problemem umieszczając w głównym katalogu mojej strony plik ”.htaccess” (umieszczając w nim: php_flag magic_quotes_gpc off) ale wtedy zamiast załadować się strona, wyskoczył błąd ”500 Internal Server terror”. Chcę wyłączyć tę dyrektywę gdyż dodaje mi podczas pracy skryptu slashe(obok cudzysłowów i apostrofów), niestety użycie w skrypcie funkcji stripslashes nie dało efektu, a na forum nie uzyskałem pomocy. Stąd też szukam innej możliwości poradzenia sobie z tym koszmarnym problemem.

Za fachową pomoc będę bardzo wdzięczny
Serdecznie Pozdrawiam

Ten post edytował sailor 10.08.2007, 19:49:41
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
drPayton
post
Post #2





Grupa: Zarejestrowani
Postów: 890
Pomógł: 65
Dołączył: 13.11.2005
Skąd: Olsztyn

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


A gdyby tak po prostu:
  1. <?php
  2. function escape_data($string) {
  3. return (ini_get('magic_quotes_gpc')) ? trim(stripslashes($string)) : trim($string);
  4. }
  5. ?>


Odpowiedź na pytanie przez PW
Tak przy okazji odpowiedzi, nie używaj konstrukcji
  1. <?php 
  2. echo "$zmienna";
  3. ?>

bo to bez sensu. Wystarczy:
  1. <?php
  2. echo $zmienna;
  3. ?>

Funkcję podaną wcześniej umieścić trzeba gdziekolwiek, byle przed pierwszym jej wywołaniem, np na początku skryptu, i potem:
  1. <?php
  2. $zmienna = escape_data($zmienna ); // Ta zmienna, z której chcemy się pozbyć slash'y przed cudzysłowami etc
  3. ?>

Jeśli to nie pomoże, to: (źródło):
  1. <?php
  2. function stripslashes_deep($value){
  3. $value = is_array($value) ? array_map('stripslashes_deep', $value) : stripslashes($value); return $value; 
  4. } 
  5. $_POST = array_map('stripslashes_deep', $_POST); 
  6. $_GET = array_map('stripslashes_deep', $_GET);}
  7. ?>


Co do .htaccess, to można jeszcze inaczej spróbować: (źródło):

Kod
# Disable all magic quoting.
php_value    magic_quotes_gpc off
php_value    magic_quotes_runtime off


Ten post edytował drPayton 7.09.2007, 12:58:34
Go to the top of the page
+Quote Post

Posty w temacie


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: 10.06.2026 - 10:31