質問編集履歴

3

textareaのコードを追加しました。

2019/02/06 13:31

投稿

art_porokyu
art_porokyu

スコア44

test CHANGED
File without changes
test CHANGED
@@ -211,3 +211,31 @@
211
211
  document.write('<p class="message-user"><?php echo mb_substr($myMessage['message'],0,20); ?><a href="message-view.php?message_id=<?php echo $myMessage['message_id'];?>&kind=<?php echo
212
212
 
213
213
  がtext型の部分です。
214
+
215
+
216
+
217
+ textareaのコードです。
218
+
219
+ ```html
220
+
221
+ <label>
222
+
223
+ <p>件名</p>
224
+
225
+ <textarea class="text text1" type="text" name="subject" placeholder="件名" value=""></textarea>
226
+
227
+ </label>
228
+
229
+ <label>
230
+
231
+ <p>内容</p>
232
+
233
+ <textarea class="text text2" type="text" name="message" placeholder="内容" value=""></textarea>
234
+
235
+ </label>
236
+
237
+
238
+
239
+ <input id="button" class="btn-button submit" name="post" type="submit" value="Happy">
240
+
241
+ ```

2

コードを追加しました。

2019/02/06 13:31

投稿

art_porokyu
art_porokyu

スコア44

test CHANGED
File without changes
test CHANGED
@@ -39,3 +39,175 @@
39
39
 
40
40
 
41
41
  入力の際の改行をDBに保存し、ブラウザで表示させるにはどのようにすればいいでしょうか?
42
+
43
+
44
+
45
+ INSERT時のコード
46
+
47
+ ```php
48
+
49
+
50
+
51
+ if(!empty($_POST)){
52
+
53
+ debug('POST送信があります。');
54
+
55
+
56
+
57
+ // 変数に投稿内容を代入
58
+
59
+ $kind = $_POST['post'];
60
+
61
+ $subject = $_POST['subject'];
62
+
63
+ $message = $_POST['message'];
64
+
65
+ // 例外処理
66
+
67
+ try {
68
+
69
+ $dbh = dbConnect();
70
+
71
+ debug('DBに接続します。');
72
+
73
+ // SQL文作成
74
+
75
+ $sql = 'INSERT INTO messages (user_id,kind,subject,message,created_date) VALUES(:user_id,:kind,:subject,:message,:created_date)';
76
+
77
+ $data = array(':user_id' => $_SESSION['user_id'],
78
+
79
+ ':kind' => $kind,
80
+
81
+ ':subject' => $subject,
82
+
83
+ ':message' => $message,
84
+
85
+ ':created_date' => date('Y-m-d H:i:s'));
86
+
87
+ // クエリ実行
88
+
89
+ // var_dump($data);
90
+
91
+ $stmt = queryPost($dbh, $sql, $data);
92
+
93
+ header("Location:mypage.php");
94
+
95
+
96
+
97
+ } catch (PDOException $e) {
98
+
99
+ echo 'DB接続エラー:' . $e->getMessage();
100
+
101
+ }
102
+
103
+ }
104
+
105
+ コード
106
+
107
+ ```
108
+
109
+
110
+
111
+ 取り出し時のコード
112
+
113
+ ```php
114
+
115
+ $myMessages = getMyMessage($_SESSION['user_id'],$start);
116
+
117
+
118
+
119
+ function getMyMessage($user_id,$start){
120
+
121
+ debug('ユーザー情報を取得します。');
122
+
123
+ //例外処理
124
+
125
+ try {
126
+
127
+ //DBへ接続
128
+
129
+ $dbh = dbConnect();
130
+
131
+ // SQL文作成
132
+
133
+ $sql = $dbh->prepare('SELECT * FROM messages WHERE user_id = :user_id AND kind != "Comment" ORDER BY created_date DESC LIMIT :start,6');
134
+
135
+ $sql->bindParam(':user_id', $user_id);
136
+
137
+ $sql->bindParam(':start', $start, PDO::PARAM_INT);
138
+
139
+ // クエリ実行
140
+
141
+ $sql->execute();
142
+
143
+ // クエリ結果のデータを1レコード返却
144
+
145
+ if($sql){
146
+
147
+ return $sql->fetchAll(PDO::FETCH_ASSOC);
148
+
149
+ } else {
150
+
151
+ return false;
152
+
153
+ }
154
+
155
+ } catch (Exception $e) {
156
+
157
+ error_log('エラー発生:' . $e->getMessage());
158
+
159
+ }
160
+
161
+ }
162
+
163
+
164
+
165
+ コード
166
+
167
+ ```
168
+
169
+
170
+
171
+ ブラウザで表示させるときのコード
172
+
173
+ ```php
174
+
175
+ <?php foreach ($myMessages as $myMessage) { ?>
176
+
177
+ <div class="my-message-view">
178
+
179
+ <p class="kind-user">種類:<?php echo $myMessage['kind']; ?></p>
180
+
181
+ <p class="subject-user">題名:<?php echo $myMessage['subject']; ?></p>
182
+
183
+ <script>
184
+
185
+ var windowSize = $(window).width();
186
+
187
+ var num1 = 480;
188
+
189
+ if (windowSize > num1) {
190
+
191
+ document.write('<p class="message-user"><?php echo mb_substr($myMessage['message'],0,50); ?><a href="message-view.php?message_id=<?php echo $myMessage['message_id'];?>&kind=<?php echo $myMessage['kind'];?>">…続きを読む</a></p>');
192
+
193
+ } else {
194
+
195
+ document.write('<p class="message-user"><?php echo mb_substr($myMessage['message'],0,20); ?><a href="message-view.php?message_id=<?php echo $myMessage['message_id'];?>&kind=<?php echo $myMessage['kind'];?>">…詳細</a></p>');
196
+
197
+ }
198
+
199
+ </script>
200
+
201
+ <p><?php echo $myMessage['created_date']; ?></p>
202
+
203
+ </div>
204
+
205
+ <?php } ?>
206
+
207
+ ```
208
+
209
+
210
+
211
+ document.write('<p class="message-user"><?php echo mb_substr($myMessage['message'],0,20); ?><a href="message-view.php?message_id=<?php echo $myMessage['message_id'];?>&kind=<?php echo
212
+
213
+ がtext型の部分です。

1

問題箇所の画像を載せました。

2019/02/06 13:25

投稿

art_porokyu
art_porokyu

スコア44

test CHANGED
File without changes
test CHANGED
@@ -1,8 +1,28 @@
1
- 今webサービスを作成しているのですが、<textarea>内で入力した改行した文字列を,DBのtext型にINSERTすると、改行されて挿入されるのですが、SELECTで取得しブラウザで表示させようしても、文字列すら表示されません。
1
+ 今webサービスを作成しているのですが、<textarea>内で入力した改行ありの文字列をDBのtext型にINSERTすると、改行されて挿入されるのですが、SELECTで取得しブラウザで表示させと、文字列すら表示されません。
2
2
 
3
3
 
4
4
 
5
+ DBで保存されている中身です。
6
+
7
+ 改行されている「やっと会えた!嬉しい」となってる箇所が問題となっている部分です。
8
+
9
+
10
+
11
+ ![![やっと会えた!嬉しい](b8cee79d8d6396e3b5b31c5c78d905ab.png)](9941872b5552080b98c3b38697eced6e.png)
12
+
13
+
14
+
15
+
16
+
17
+
18
+
5
- 確認のためvar_dumpで表示させると、改行の代わりに半角スペースとなって表示されます。
19
+ 確認のためvar_dumpで表示させると、改行の代わりに半角スペースとなって表示されます。
20
+
21
+ ![イメージ説明](044962b0127bdbc1e9ae34307b0c827a.png)
22
+
23
+
24
+
25
+
6
26
 
7
27
 
8
28