![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
No.2ベストアンサー
- 回答日時:
" や ' はPHPではちょっと特殊な意味があります
例えば、_POST["name"]の中身が 名"前
だったとします
そのまま
echo $_POST["name"];
としたらどうなるでしょう
PHPが理解する内容としては
echo "名"前";
となります
これではエラーが出て当然ですよね
ですから、 ” を文字列として扱うために前に¥をつけて
echo "名\"前";
とし、 名と前の間にある " を「文字列の一部として扱いなさい」と解釈させるわけです
"や'を文字として扱いたいときには \を前につけるという約束事があります
\ そのものも文字として扱いたいときには \\ とします
_POSTや_GET等で送られてくるデータすべてに対して特殊な文字が含まれている場合に自動的に\をつけるようにしているのが
php.iniの中の
magic_quotes_gpc = On
となっている部分です
自動で付けたくない場合は
magic_quotes_gpc = Offにしてください
この場合、なんらかの方法で 特殊文字をエスケープ(¥をつける)しないと、セキュリティ的に大変危険になる可能性がありますので十分に注意してください
PHPの標準関数の中に同じように特殊な文字に対して¥をつける
addslashes()
という関数がありますが、2バイト文字(ここでは日本語)に対して深刻がバグがあるので使わない様にしてください
ちなみに¥を取り外すのは
stripslashes()
です
http://jp.php.net/stripslashes
No.1
- 回答日時:
一部の特殊記号は、リテラルとしての識別のためにバックスラッシュでエスケープされます。
下記の設定(php.ini)でエスケープされなくなると思いますが、文字列を扱うときには注意が
必要になります。
文中ではダブルコーテーション(")は使用しないようにするのが無難です。
他にも思わぬ問題が出る可能性が有りますので注意して下さい。
magic_quotes_gpc FALSE
参考URL:http://www.php.net/manual/ja/ref.info.php#ini.ma …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
文字列を大文字の2桁ごとのコン...
-
is_callable()の第二引数の使い方
-
onedrive にexcelファイルをア...
-
別ファイルの変数を呼び出した...
-
PHPのif文でその処理を途中で抜...
-
フォントの色を変えるには?
-
.phpと.incファイルの違いはな...
-
「@$変数」の「@の意味は?」
-
【file_exists】ファイルが存在...
-
$_SESSION 有効期限をブラウザ...
-
stat failed
-
2つの画像ファイルが異なるファ...
-
PHPで新しいウインドウで開く命...
-
CFileDialogの最初のディレクト...
-
【PHP】画像が表示されず「×」...
-
Subversionのリポジトリの削除
-
別PHPファイルに変数を渡す
-
「クラス関数」「メンバ関数」...
-
mailやmb_send_mail関数で、本...
-
TCPDFについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
php文字列中のシングルクオート...
-
if ('0.0'=='0'){ の0.0とは何
-
文字列の抜き取りなのですが思...
-
文字列を%+2桁のヘキサ
-
PHPのGETとPOSTの処理を学習中...
-
GETの値について
-
【比較演算子】偶数・奇数識別...
-
ランダム(不規則)な文字列の...
-
phpで、数字+文字列(ex.13才、5...
-
終端識別子 とは?
-
パラメーター付きのURLをリダイ...
-
特定の漢字に\\マークが入って...
-
愚かにもワンクリック詐欺のサ...
-
秀丸エディタのハイライト(mar...
-
php→JavaScript間の変数受け渡し
-
文字列に含まれている「,」をカ...
-
文字列を大文字の2桁ごとのコン...
-
仕様ならしようがない(洒落)
-
PHPでPが2個あるので分かりず...
-
PHPにおいて16進数のアスキー文...
おすすめ情報