現在、作成しているwebアプリの中(管理画面)に、リッチテキストエディタを自作して
表示しており、動作も問題ありません。
・使用言語:php, js
※ブログなどの記事編集できる管理画面を想像していただければ、
イメージしやすいと思います。
今回、お聞きしたいのは2点です。
1.編集した記事をMySQLに挿入するとカラムの値が0になってしまうこと。
例えば、エディタから記事のタイトル、記事本文を保存したい場合、
下のように書いています。(もちろん, $_POSTには値はしっかり入っています。)
$req = $db->prepare('insert into texts (title, edit_text) values (title = :title, edit_text = :edit_text)');
$req->execute(array(
':title' => ($_POST['title']),
':edit_text' => stripslashes($_POST['mytext'])
));
すると、テーブルtextsのtitle,edit_textにそれぞれ0が入ってしまいます。
ログをみても特に怪しいところもなく、エラーも出てないようなので全く理由が
わかりません。なぜなのか、ご教授いただけないでしょうか?
2. エディタで編集した記事の内容はどこに保存するべきなのでしょうか?
※こちらも、ブログ記事編集画面を想像していただければと思います。
1つのtextareaに装飾したテキストや画像もある場合、一気mysqlに
保存することは難しいと思っております。
また、仮に保存できたとしても、強調したテキストや下線の入ったテキストなどの形式まで
保存はできないですよね?
どのようにしたらよいのか全く解決策が見えませんので、ご教授いただけないでしょうか?
宜しくお願い申し上げます。
No.5ベストアンサー
- 回答日時:
>このままで、問題なく表示はできるのですが、
>大丈夫でしょうか?
質問の意図がよくわからないのですが
考え方だけ・・・
まずもともとの質問、データを登録するときの問題は、どう保存してもよい
という回答でご理解いただいたでしょうか?
むしろそれを考慮してのプリペアード処理なのだと推測して回答したつもりです。
また今回の質問が信頼できないユーザーの投稿や、他人の書いた文書を取り込んで
そのまま表示させたときに問題があるか?という命題であれば、
閲覧者が意図していないページへ誘導されたりいろいろ問題です
仮に自分が書いたものもしくは自分の属するグループが書いたものであれば
セキュリティ面ではある程度リスクは低くなりますが、「強調したテキストや下線」
など意図したとおり見せることは少し難しいです
必ずしも情報提供者と同じ環境ではないユーザーが閲覧するため
ご自身で下線と思って表示したつもりでも相手の環境では網掛けになっているかも
しれません(もちろんそれを考慮していろいろデザインを工夫するのでしょうけど)
ご自身の見られる表示に近い形で他人にみせようとするなら、画像やpdfといった
環境に依存しにく手法をとることになります。
No.3
- 回答日時:
1.
カラムの型がINTになっていたりはしませんか?一般的にはサイズ指定したVARCHARかTEXTを用います。
2.
装飾テキストや画像はどうやって埋め込んでいるのでしょうか?単にHTMLタグを使った装飾なら何の問題も無く保存できます。画像に関しては、画像のバイナリデータを格納できるテーブルも作っておけばいいんじゃないでしょうか。表示するときにだけ引っ張り出してきてテンポラリファイルを生成するなり、PHPファイルで直接画像を出力するなりすればいいと思います。
あと1つ気になったのですが、
stripslashes($_POST['mytext'])
このstripslashesって不要なのでは?
バックスラッシュが含まれていても問題なく処理できますよ。
PHPからデータベースに接続するときのまとめ
http://qiita.com/mpyw/items/b00b72c5c95aac573b71
ご回答ありがとうございます。
>装飾テキストや画像はどうやって埋め込んでいるのでしょうか?
designMode= Onにして execCommandで埋め込んでます。
現在,mysql二保存されているソースは以下のようなイメージです。
このままでもよいのか、それともバイナリデータだけ
別にmysqlに保存したほうのがよいのか、パフォーマンスに
差がでないのならこのままでもよいかと思っているのですが、
実際、どうなんでしょうか?
以上、宜しくお願いします。
<font color="#0000ff">テストテスト</font><div><font color="#0000ff"><br></font></div><div>テストテスト</div><div><br></div><div>テストテスト<br><div></div><div><img src="./images/preview_hogehoge.jpg"></div>
No.2
- 回答日時:
>htmlのソースごとmysqlに保存するのは、できたのですが、
>果たしてそのやり方でよいのでしょうか?
データはなるべく生に近い形で持った方がよいので、
特に変なエンコードを考えずにソースのあるがままとっておけばよいのでは?
運用ポリシーの問題なので好きにすればいいです
そこからキーワードを検索したいなどあるなら
全文検索など視野に入れてもよいかもしれませんが、思う以上に面倒です
mysqlに保存されているソースが下のようなイメージです。
<font color="#0000ff">テストテスト</font><div><font color="#0000ff"><br></font></div><div>テストテスト</div><div><br></div><div>テストテスト<br><div></div><div><img src="./images/preview_hogehoge.jpg"></div>
このままで、問題なく表示はできるのですが、
大丈夫でしょうか?
No.1
- 回答日時:
的外れな回答かもしれませんが
>insert into texts (title, edit_text) values (title = :title, edit_text = :edit_text)
ってSQL文としておかしくないですか?
せめて、insert into texts (title, edit_text) values (:title, :edit_text) ではない?
この回答への補足
htmlのソースごとmysqlに保存するのは、できたのですが、
果たしてそのやり方でよいのでしょうか?
念のため、edit_textのデータ型をLONGTEXTにしているのですが、
他に方法はあるものなのでしょうか?
どーもhtmlソースごと保存するということに違和感を覚えましたので。
宜しくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/21 09:42
- PHP imageフォルダに、画像をリサイズして保存する時のファイル名を変更したい 1 2023/05/30 11:39
- Excel(エクセル) エクセルVBA、間違っているコード内容を正して頂けませんか? エクセルワークシートに納品書を作ったの 2 2023/08/02 21:13
- Access(アクセス) Access IF文でテーブルに存在しない場合の処理について 2 2022/10/10 18:09
- 画像編集・動画編集・音楽編集 inkscapeで作成した図の保存の仕方とその保存したファイルの編集の仕方 1 2022/09/22 09:33
- JavaScript 【jquery】EasyUIのSubGridにMySQLのテーブルデータを表示&編集にしたい 5 2022/05/02 13:10
- Evernote Evernote(エバーノート)の文字化け 1 2022/04/05 19:30
- HTML・CSS ヘッダーの画像にメインエリアがかぶってしまいます 1 2022/11/28 14:06
- バックアップ Windows11パソコンのデータを数クリックで完全に引っ越しするにはどうすれば良いでしょうか? 5 2022/10/11 14:08
- gooブログ ブログの記事を書きだしのみに表示したい 1 2022/06/25 19:11
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Googleドライブへの保存がWi-Fi...
-
エクセルをPDFで保存し、ファイ...
-
サイト上の画像や背景等を保存...
-
PCR後の遺伝子の安定性について...
-
『SoundEngine』のファイルの保...
-
DNAの保存温度
-
Wordの自動保存が解除できません
-
【Word】自動的に上書き保存さ...
-
Excelの保存で" "を付けないよ...
-
「名前を付けてリンク先を保存」と「...
-
知恵袋を見ていたら、Googleド...
-
20MBの画像をダウンロード
-
Webページと単一ファイルWebぺ...
-
Firefoxアドオン DownThemAll!...
-
office365って抵抗感ないですか?
-
オフィスビルやショッピングモ...
-
VBAでPDFを保存する
-
フォトショップでブラシで書い...
-
FireFoxで動画を保存できない
-
PDFの回転と保存
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Googleドライブへの保存がWi-Fi...
-
エクセルをPDFで保存し、ファイ...
-
FireFoxで動画を保存できない
-
サイト上の画像や背景等を保存...
-
Wordの自動保存が解除できません
-
知恵袋を見ていたら、Googleド...
-
「名前を付けてリンク先を保存」と「...
-
月が地球の周りを回る運動で、...
-
Excelの保存で" "を付けないよ...
-
DNAの保存温度
-
法律上の「備置き」と「保存」...
-
保存用のグッズって何の為に使...
-
one drive とは何だ
-
【Word】自動的に上書き保存さ...
-
フォトショップでブラシで書い...
-
最悪
-
PCR後の遺伝子の安定性について...
-
PDFの回転と保存
-
Webページと単一ファイルWebぺ...
-
MicrosoftOffice2019なんですが、
おすすめ情報