dポイントプレゼントキャンペーン実施中!

初めて質問させていただきます。

PHPで簡単なフォームを作成しているのですが、
入力画面に特定のhtmlタグ(span、img)を入力した際、
確認画面に上手く情報が引き継がれず、DBにも登録されません。
--------------------------------------
【例】
<strong>aaaaa</strong>
<span style="color:#999900;">aaaaa</span>
<a href="aaa.html">aaaaa</a>
<img src="./aaa.jpg" alt="">

このように入力したものが確認画面では

aaaaa ←太字になっている
aaaaa ←単なる文字列
aaaaa ←リンクが貼られている
\"aaaaa\" ←画像が表示されない

というふうになり、DBにも上記のまま登録されます
--------------------------------------

aタグ、strongタグでは上手くいくのですが…。

お分かりになる方いらっしゃれば、どうかご回答お願いいたします。
よろしくお願いします。

A 回答 (2件)

http://www.php.net/manual/ja/info.configuration. …

恐らく、コレが原因です。
get_magic_quotes_gpc()
上記関数がtrueを返す場合、URLに記載されている通り、'(シングルクオート)、" (ダブルクオート)、\(バックスラッシュ) 、NULL には全て自動的に バックスラッシュでエスケープ処理が行われます。

ですので、
php.iniがいじれるのであれば、「magic_quotes_gpc」の項目を「Off」にするか、PHPスクリプト内で
if(get_magic_quotes_gpc == true){
$textarea = stripslashes($_POST['該当するtextareaの名前']);
}
とでもして、余計に付加されたバックスラッシュを削除する必要があります。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
まさにこれでした!

php.iniがいじれないので、ご教示いただいた方法で解決しました。
本当に助かりました。
ありがとうございました!

お礼日時:2009/07/17 11:25

質問の意図をわかりかねますが



>このように入力したものが確認画面では

入力とはなんでしょうか?
textareaをつかってフォームで受け渡しをしているということですか?

普通に受け渡しはされているはずですので、なんらかの変換が
かんでいるだけではないでしょうか?
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました。
また質問の意図を上手く伝えられず申し訳ありません。

get_magic_quotes_gpc()が原因で、何とか解決できましたが、
いろいろ変換やエスケープ処理を考えるきっかけになり勉強になりました。

ありがとうございました。

お礼日時:2009/07/17 11:27

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!