[질문] php에서의 "++" 코드입력.
php를 이용하는데, ++ (plusplus)를 입력창에
넣고 확인을 누르면 ++표시가 사라지고 디비에 저장이 되는 군요.
get방식이든 post방식이든 마찬가지입니다.
이거 왜이런 걸까요? 무슨 옵션을 넣지 않고 php를 컴파일 해서 그런
것일까요? 미리 감사드립니다.
아. 다시확인 해보니 + 표시는 무조건 사라지는 군요 =-_-=
php는 다음과 같은 옵션으로 컴파일 하였습니다.
'./configure' '--prefix=/usr' '--with-config-file-path=/usr/lib/php' '--disable-debug' '--with-exec-dir=/usr/bin' '--with-regex=php' '--with-mod_charset' '--with-gd=shared' '--with-mysql=shared' '--with-ttf' '--enable-sigchild' '--enable-socket' '--enable-gd-native-ttf' '--enable-safe-mode' '--enable-inline-optimization' '--enable-magic-quotes' '--enable-mailparse' '--enable-track-vars' '--enable-debugger' '--enable-mbstring' '--enable-mbstr-enc-trans' '--enable-mbregex' '--enable-sysvsem' '--enable-sysvshm' '--with-apache=../apache_1.3.27'
질문이 명확하지 않습니다.
어디에 ++를 입력해서 어떻게 디비에 넣는다는 건지 안 적혀있습니다.
form 에서 ++를 입력한 결과가.
아래와 같이 form에서 갑을 입력하였을때를 말합니다.
form에다가 ++를 입력하고 확인 버튼을 누르면 저런 현상이 벌어지는 군요.
컴파일 옵션에 '--with-charset=euc_kr' '--with-language=korean'
을 넣었는데도 마찬가지군요 -_-;
form.php
get.php
----------
http://sunny.sarang.net
JAVA,Oracle,MySQL,Linux,PHP
Re: form 에서 ++를 입력한 결과가.
라면, global 변수 문제로 보입니다. 최근 버전에선 바로 전역변수로 전달하지 않습니다.
php, global 정도로 검색하면 얘기가 많을 겁니다.
url encode를 하셔야겠군요
url에서 +는 space를 의미합니다.
a.php?c=%2b
로 줘서 해보세요
자세한건 url encode관련 글을 보면 아실 수 있을겁니다.
a.php?c=%2b
a.php?c=%2b
위의 내용은 이해합니다만, form을 통하여 전달하는 plus값은
자동으로 %2b형태로 변환되지 않나요?
저의 문제점은 form의 text나 textarea안에 입력한 +글자가
공백으로 전달되는 문제점입니다. -_-;;
----------
http://sunny.sarang.net
JAVA,Oracle,MySQL,Linux,PHP
먼저 phpinfo() 로 값을 검증해 보세요.$_GET[c] 에 +
먼저 phpinfo() 로 값을 검증해 보세요.
$_GET
컴파일을 다시 했더니 문제가 사라졌습니다.
아마도 컴파일상에서 문제가 있었던 것 같은데.
정확히 어떤 옵션때문인지는 모르겠군요. -_-;
외국사이트에 있는 qna를 뒤져보니 그런 경우가 종종 있는 것 같습니다.
----------
http://sunny.sarang.net
JAVA,Oracle,MySQL,Linux,PHP
댓글 달기