![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 26 Pomógł: 0 Dołączył: 23.07.2003 Ostrzeżenie: (0%) ![]() ![]() |
Wiam,
mam takie dosyć dziwny problem :oops:. Chpdzi o slashe w zmiennych. Inaczej skrypt się zachowuje u mnie na komputerze a inaczej jak go prześlę na serwer w internecie. Powiedzmy że mam formularz (nieważne czy metoda POST czy GET) z polem "pole_form". Przesyłem tekst do tego samego skryptu i który wygląda tak: [php:1:be419cd5fc]<?php echo "<br>OTRZYMANY TEXT: $pole_form"; ?>[/php:1:be419cd5fc] W formularzu wpisuje: Kod TEST C:WindowsSystem , przesyłam do przez Submit. Jeżeli uruchomię ten skrypt w domu to wyświetli się:
Kod TEST C:WindowsSystem
jeżeli to samo zrobię na serwerze to otrzymam: Kod TEST C:WindowsSystem
Dodam jeszcze, że w domu mam php 4.3.4, RegisterGlobals=On, Apache 1.2.7 na Windowsie XP. Serwer w internecie ma zablkowane phpinfo(), ale na pewno stoi na najnowszym php 4.x.x z RegisterGlobals=On. Moje pytanie: dlaczego są różne ilości slashy? Co mam u siebie ustawić, żeby moje php w domu działało tak samo jak serwer w internecie? Czy moje php, czy może to na serwerze w internecie działa poprawnie? Ten problem z rozbieżnością w ilościch slashy mam już ponad pół roku... (IMG:http://forum.php.pl/style_emoticons/default/rolleyes.gif) POMOCY |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarząd Postów: 3 503 Pomógł: 28 Dołączył: 17.10.2002 Skąd: Wrocław ![]() |
Cytat Cytat Poczytaj o [manual:69a885dab9]addslashes [/manual:69a885dab9]i [manual:69a885dab9]stripslashes[/manual:69a885dab9] przecież opis funkcji nijak się ma do mojego problemu. Ja chcę wiedzieć, dlaczego u mnie domu po przesłaniu formularzem stringu "C:windowstest" pokazuje się:
C:windowstest a na serwerze w internecie pokazuje się C:windowstest chcę wiedzieć jak skonfigurować moje php, żeby nie było rozbieżności w formacie przesyłania zmiennych... Gdybyś zajrzał do manuala w opisie funcji [manual:69a885dab9]addslashes[/manual:69a885dab9] nastepujący fragment: Cytat The php directive magic_quotes_gpc is on by default, and it essentially runs addslashes() on all GET, POST, and COOKIE data. Do not use addslashes() on strings that have already been escaped with magic_quotes_gpc as you'll then do double escaping. The function get_magic_quotes_gpc() may come in handy for checking this. oraz w komentarzach do tejrze funkcji nastepujący listing:[php:1:69a885dab9]<?php
// This function is a generic data processing function. It adds slashes if the magic quotes is off. function reslash($string) { if (!get_magic_quotes_gpc()) $string = addslashes($string); return $string; } // This function takes out slashes if if the magic quotes are on. function deslash($string) { if (get_magic_quotes_gpc()) $string = stripslashes($string); return $string; } ?>[/php:1:69a885dab9]Te dwa fragmenty w pełni wyjaśniają co i dlaczego się dzieje i jak rozwiązać Twój problem. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 7.10.2025 - 08:00 |