teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

3

追記

2015/08/25 09:40

投稿

amakusa
amakusa

スコア176

title CHANGED
File without changes
body CHANGED
@@ -59,4 +59,62 @@
59
59
  <input type="hidden" name="report_id" value=<?php echo $reportId ?>>
60
60
  <input id="reportcomment_submit" type="submit" value="更新"><input id="reportcomment_reset" type="reset" value="リセット">
61
61
  </form>
62
+ ```
63
+
64
+
65
+ ※追記
66
+ あと、sanitize.phpのcleanではこのように記述されています。
67
+ ここ変えればよかったりもしないですよね、、、
68
+ ```php
69
+ public static function clean($data, $options = array()) {
70
+ if (empty($data)) {
71
+ return $data;
72
+ }
73
+
74
+ if (!is_array($options)) {
75
+ $options = array('connection' => $options);
76
+ }
77
+
78
+ $options += array(
79
+ 'connection' => 'default',
80
+ 'odd_spaces' => true,
81
+ 'remove_html' => false,
82
+ 'encode' => true,
83
+ 'dollar' => true,
84
+ 'carriage' => true,
85
+ 'unicode' => true,
86
+ 'escape' => true,
87
+ 'backslash' => true
88
+ );
89
+
90
+ if (is_array($data)) {
91
+ foreach ($data as $key => $val) {
92
+ $data[$key] = Sanitize::clean($val, $options);
93
+ }
94
+ return $data;
95
+ }
96
+
97
+ if ($options['odd_spaces']) {
98
+ $data = str_replace(chr(0xCA), '', $data);
99
+ }
100
+ if ($options['encode']) {
101
+ $data = Sanitize::html($data, array('remove' => $options['remove_html']));
102
+ }
103
+ if ($options['dollar']) {
104
+ $data = str_replace("\\\$", "$", $data);
105
+ }
106
+ if ($options['carriage']) {
107
+ $data = str_replace("\r", "", $data);
108
+ }
109
+ if ($options['unicode']) {
110
+ $data = preg_replace("/&amp;#([0-9]+);/s", "&#\\1;", $data);
111
+ }
112
+ if ($options['escape']) {
113
+ $data = Sanitize::escape($data, $options['connection']);
114
+ }
115
+ if ($options['backslash']) {
116
+ $data = preg_replace("/\\\(?!&amp;#|\?#)/", "\\", $data);
117
+ }
118
+ return $data;
119
+ }
62
120
  ```

2

追記

2015/08/25 09:39

投稿

amakusa
amakusa

スコア176

title CHANGED
File without changes
body CHANGED
@@ -39,4 +39,24 @@
39
39
  $this->redirect($_SERVER['HTTP_REFERER']);
40
40
 
41
41
  }
42
+ ```
43
+
44
+ View/Details/index.ctp
45
+ ```php
46
+ <div id="comment">
47
+ <?php echo "●管理側コメント" ?><br />
48
+ <?php
49
+ if (isset($comment)) {
50
+ echo "$comment";
51
+ } else {
52
+ echo "";
53
+ }
54
+ ?>
55
+ </div>
56
+
57
+ <form action="/details/update" method="post">
58
+ <textarea name="report_comment" cols=40 rows=4 maxlength=66></textarea>
59
+ <input type="hidden" name="report_id" value=<?php echo $reportId ?>>
60
+ <input id="reportcomment_submit" type="submit" value="更新"><input id="reportcomment_reset" type="reset" value="リセット">
61
+ </form>
42
62
  ```

1

追記

2015/08/25 08:09

投稿

amakusa
amakusa

スコア176

title CHANGED
File without changes
body CHANGED
@@ -5,12 +5,12 @@
5
5
  今、管理パネル側で、違反通報があった際に、その報告に対して管理側でコメントを残すようにしていますが
6
6
  そのコメントを残すと最初と最後の文字が文字化けしてしまい、正しく表示できていません。
7
7
 
8
- おそらくはsanitizeしたところで文字化けしてしまっていると思うのですが、どうすれば解決できますでしょうか。
8
+ おそらくはsanitizeしたところで文字化けしてしまっていると思うのですが、どうすれば解決できますでしょうか。
9
- mb_convert_encodingは、これがないとかな入力による文字列の表示ができなかったので書き加えております。
9
+ mb_convert_encodingは、これがないとかな入力による文字列の表示ができなかったので書き加えております。
10
10
 
11
11
  どうぞ宜しくお願い致します。
12
12
 
13
-
13
+ Controller/DetailsController.php
14
14
  ```php
15
15
  if(isset($this->request->data['report_comment'])){
16
16
  $reportId = $this->request->data['report_id'];