Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Przesyłanie zmiennych i problem ze Slashami
yakass
post 13.05.2004, 14:22:10
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... rolleyes.gif POMOCY


--------------------
[ TO MIEJSCE CZEKA NA TWOJĄ REKLAMĘ ! ]
Go to the top of the page
+Quote Post
scanner
post 13.05.2004, 14:36:59
Post #2





Grupa: Zarząd
Postów: 3 503
Pomógł: 28
Dołączył: 17.10.2002
Skąd: Wrocław




Poczytaj o [manual:ae4ac46879]addslashes [/manual:ae4ac46879]i [manual:ae4ac46879]stripslashes[/manual:ae4ac46879]


--------------------
scanner.info
Warto pamiętać: KISS, DRY
Go to the top of the page
+Quote Post
yakass
post 13.05.2004, 14:48:29
Post #3





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 23.07.2003

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


Cytat
Poczytaj o [manual:9506b3e4b8]addslashes [/manual:9506b3e4b8]i [manual:9506b3e4b8]stripslashes[/manual:9506b3e4b8]


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...


--------------------
[ TO MIEJSCE CZEKA NA TWOJĄ REKLAMĘ ! ]
Go to the top of the page
+Quote Post
hwao
post 13.05.2004, 14:53:31
Post #4


Developer


Grupa: Moderatorzy
Postów: 2 844
Pomógł: 20
Dołączył: 25.11.2003
Skąd: Olkusz




[php:1:446351fbb6]<?php
$text = str_replace('', '', $text);
?>[/php:1:446351fbb6]
Może tak?
Go to the top of the page
+Quote Post
evo
post 13.05.2004, 14:57:20
Post #5





Grupa: Zarejestrowani
Postów: 110
Pomógł: 0
Dołączył: 4.02.2003

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


Cytat
Cytat
Poczytaj o [manual:c8fa922053]addslashes [/manual:c8fa922053]i [manual:c8fa922053]stripslashes[/manual:c8fa922053]


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...


Akurat scanner ci podal poprawna odpowiedz! I opis tych funkcji ma bardzo duzo do twego problemu!

Krotko mowiac problem lezy w sciezkach windowsowskich uzywjacych backslashe! Na systemach unixowych zostaja one wykomentowywane poprzez poprzedzajacy je znak backslasha.

Dlatego przeczytaj opis tych funkcji i zacznij je stosowac winksmiley.jpg


Pozdrawaim
evo
Go to the top of the page
+Quote Post
yakass
post 13.05.2004, 14:58:39
Post #6





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 23.07.2003

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


Cytat
[php:1:ea6e92788d]<?php
$text = str_replace('', '', $text);
?>[/php:1:ea6e92788d]
Może tak?


ale problem w tym, że chcę, żeby skrypty działały TAK SAMO na MOIM komputerze i na serwerze w INTERNECIE. Takie modyfikacje to sobie mogę wprowadzać (i to do tej pory robiłem), ale jak będę musiał mieć 2 wersje skryptów. 1 wersja działająca poprawnie na moim kompie i 2 warsja działająca popawnie w internecie.

Mi chodzi o to, jak skonfigurować moje php w domu, żeby wyświetlało zamiast . Albo najlepiej co ma mój admin zmienić, żeby na serwerze w internecie pokazywało się - bo chyba podwójne slashe są standardowo wyświetlane...


--------------------
[ TO MIEJSCE CZEKA NA TWOJĄ REKLAMĘ ! ]
Go to the top of the page
+Quote Post
scanner
post 13.05.2004, 15:00:39
Post #7





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...
No a co ja ci poradziłem?

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.


--------------------
scanner.info
Warto pamiętać: KISS, DRY
Go to the top of the page
+Quote Post
yakass
post 13.05.2004, 15:13:05
Post #8





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 23.07.2003

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


rzeczwiście :oops: :oops: :oops:, już sobie poprawiłem.

Przepraszam, myślałem, że nie zrozumiałeś o co mi chodzi...

I pomyśleć, że miałem tyle problemów ze skryptami, ponieważ mój admin orzestawił tą zmienną na Off angrysmiley.gif angrysmiley.gif


--------------------
[ TO MIEJSCE CZEKA NA TWOJĄ REKLAMĘ ! ]
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: 19.07.2025 - 12:47