質問編集履歴

1

内容がうまく伝わらなかったので編集しました。

2018/09/30 00:24

投稿

1004
1004

スコア74

test CHANGED
File without changes
test CHANGED
@@ -4,226 +4,218 @@
4
4
 
5
5
  PHPで日記システムを作っています。
6
6
 
7
- bootstrapのアコーディオンが新規作成ボタンを押すと一つだけ挿入される機能を実装以下のようなエラーが起こりました。
8
-
9
-
10
-
11
- ### 発生している問題・エラーメッセージ
7
+ bootstrapのアコーディオンが新規作成ボタンを押すと一つだけ挿入される機能を実装したいと考えています。新規作成を押した分だけ下追加されるようしたいです
8
+
9
+
10
+
11
+
12
+
13
+
14
+
15
+ ### 該当のソースコード
16
+
17
+
18
+
19
+ ```ここに言語名を入力
20
+
21
+
22
+
23
+ <!doctype html>
24
+
25
+ <html lang="ja">
26
+
27
+ <head>
28
+
29
+ <!-- Required meta tags -->
30
+
31
+ <meta charset="utf-8">
32
+
33
+ <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
34
+
35
+
36
+
37
+ <!-- Bootstrap CSS -->
38
+
39
+ <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">
40
+
41
+
42
+
43
+ <title>みんなの日記帳</title>
44
+
45
+ </head>
46
+
47
+ <body>
48
+
49
+ <h1>みんなの日記帳</h1>
50
+
51
+ <?php
52
+
53
+ if (isset($_POST["new_column"])) {
54
+
55
+ //$kbn = htmlspecialchars($_POST["new_column"], ENT_QUOTES, "UTF-8");
56
+
57
+
58
+
59
+ session_start();
60
+
61
+
62
+
63
+ $link = mysqli_connect("localhost","root","root","diary");
64
+
65
+
66
+
67
+ if(mysqli_connect_error()){
68
+
69
+ die("DBへの接続失敗!");
70
+
71
+ }
72
+
73
+ if($_POST['new_column']){
74
+
75
+ echo "新規作成ボタンが押されました!";
76
+
77
+ //ここにアコーディオン追加処理を記述
78
+
79
+
80
+
81
+ print<<<eof
82
+
83
+
84
+
85
+ <div class="card">
86
+
87
+ <div class="card-header" id="headingOne">
88
+
89
+ <h5 class="mb-0">
90
+
91
+ <button class="btn btn-link" data-toggle="collapse" data-target="#collapseOne" aria-expanded="true" aria-controls="collapseOne">
92
+
93
+ <textarea name="title" class="form-control" rows="1" maxlength="20" placeholder="日記のタイトルを入力"></textarea>
94
+
95
+ </button>
96
+
97
+ <div class="float-right">
98
+
99
+ <a href="" class="btn btn-primary btn-lg active" role="button" aria-pressed="true">Delete</a>
100
+
101
+ </div>
102
+
103
+ </h5>
104
+
105
+ </div>
106
+
107
+ <div id="collapseOne" class="collapse" aria-labelledby="headingOne" data-parent="#accordion">
108
+
109
+ <div class="card-body">
110
+
111
+ <div class="container">
112
+
113
+ <form method="post">
114
+
115
+
116
+
117
+ 内容<textarea name="contents" class="form-control" maxlength="80" placeholder="日記の内容を入力"></textarea>
118
+
119
+ </form>
120
+
121
+ </div>
122
+
123
+ </div>
124
+
125
+ </div>
126
+
127
+ </div>
128
+
129
+ eof;
130
+
131
+ }
132
+
133
+ }
134
+
135
+
136
+
137
+
138
+
139
+
140
+
141
+ ?>
142
+
143
+ <!--新規作成ボタンを左上に配置-->
144
+
145
+ <form method="post">
146
+
147
+ <button type="submit" name = "new_column" class="btn btn-primary" value="1">新規作成</button><hr>
148
+
149
+ </form>
150
+
151
+ <!--アコーディオン処理-->
152
+
153
+ <div id="accordion">
154
+
155
+ <div class="card">
156
+
157
+ <div class="card-header" id="headingOne">
158
+
159
+ <h5 class="mb-0">
160
+
161
+ <button class="btn btn-link" data-toggle="collapse" data-target="#collapseOne" aria-expanded="true" aria-controls="collapseOne">
162
+
163
+ <textarea name="title" class="form-control" rows="1" maxlength="20" placeholder="日記のタイトルを入力"></textarea>
164
+
165
+ </button>
166
+
167
+ <div class="float-right">
168
+
169
+ <a href="" class="btn btn-primary btn-lg active" role="button" aria-pressed="true">Delete</a>
170
+
171
+ </div>
172
+
173
+ </h5>
174
+
175
+ </div>
176
+
177
+ <div id="collapseOne" class="collapse" aria-labelledby="headingOne" data-parent="#accordion">
178
+
179
+ <div class="card-body">
180
+
181
+ <div class="container">
182
+
183
+ <form method="post">
184
+
185
+
186
+
187
+ 内容<textarea name="contents" class="form-control" maxlength="80" placeholder="日記の内容を入力"></textarea>
188
+
189
+ </form>
190
+
191
+ </div>
192
+
193
+ </div>
194
+
195
+ </div>
196
+
197
+ </div>
198
+
199
+ </div>
200
+
201
+ <!-- Optional JavaScript -->
202
+
203
+ <!-- jQuery first, then Popper.js, then Bootstrap JS -->
204
+
205
+ <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
206
+
207
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
208
+
209
+ <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>
210
+
211
+ </body>
212
+
213
+ </html>
12
214
 
13
215
 
14
216
 
15
217
  ```
16
218
 
17
- Parse error: syntax error, unexpected end of file, expecting variable (T_VARIABLE) or heredoc end (T_END_HEREDOC) or ${ (T_DOLLAR_OPEN_CURLY_BRACES) or {$ (T_CURLY_OPEN) in C:\MAMP\htdocs\diary\test6_new.php on line 97
18
-
19
- ```
20
-
21
-
22
-
23
- ### 該当のソースコード
24
-
25
-
26
-
27
- ```ここに言語名を入力
28
-
29
-
30
-
31
- <!doctype html>
32
-
33
- <html lang="ja">
34
-
35
- <head>
36
-
37
- <!-- Required meta tags -->
38
-
39
- <meta charset="utf-8">
40
-
41
- <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
42
-
43
-
44
-
45
- <!-- Bootstrap CSS -->
46
-
47
- <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">
48
-
49
-
50
-
51
- <title>みんなの日記帳</title>
52
-
53
- </head>
54
-
55
- <body>
56
-
57
- <h1>みんなの日記帳</h1>
58
-
59
- <?php
60
-
61
- if (isset($_POST["new_column"])) {
62
-
63
- //$kbn = htmlspecialchars($_POST["new_column"], ENT_QUOTES, "UTF-8");
64
-
65
-
66
-
67
- session_start();
68
-
69
-
70
-
71
- $link = mysqli_connect("localhost","root","root","diary");
72
-
73
-
74
-
75
- if(mysqli_connect_error()){
76
-
77
- die("DBへの接続失敗!");
78
-
79
- }
80
-
81
- if($_POST['new_column']){
82
-
83
- echo "新規作成ボタンが押されました!";
84
-
85
- //ここにアコーディオン追加処理を記述
86
-
87
-
88
-
89
- print<<<eof
90
-
91
-
92
-
93
- <div class="card">
94
-
95
- <div class="card-header" id="headingOne">
96
-
97
- <h5 class="mb-0">
98
-
99
- <button class="btn btn-link" data-toggle="collapse" data-target="#collapseOne" aria-expanded="true" aria-controls="collapseOne">
100
-
101
- <textarea name="title" class="form-control" rows="1" maxlength="20" placeholder="日記のタイトルを入力"></textarea>
102
-
103
- </button>
104
-
105
- <div class="float-right">
106
-
107
- <a href="" class="btn btn-primary btn-lg active" role="button" aria-pressed="true">Delete</a>
108
-
109
- </div>
110
-
111
- </h5>
112
-
113
- </div>
114
-
115
- <div id="collapseOne" class="collapse" aria-labelledby="headingOne" data-parent="#accordion">
116
-
117
- <div class="card-body">
118
-
119
- <div class="container">
120
-
121
- <form method="post">
122
-
123
-
124
-
125
- 内容<textarea name="contents" class="form-control" maxlength="80" placeholder="日記の内容を入力"></textarea>
126
-
127
- </form>
128
-
129
- </div>
130
-
131
- </div>
132
-
133
- </div>
134
-
135
- </div>
136
-
137
- eof;
138
-
139
- }
140
-
141
- }
142
-
143
-
144
-
145
-
146
-
147
-
148
-
149
- ?>
150
-
151
- <!--新規作成ボタンを左上に配置-->
152
-
153
- <form method="post">
154
-
155
- <button type="submit" name = "new_column" class="btn btn-primary" value="1">新規作成</button><hr>
156
-
157
- </form>
158
-
159
- <!--アコーディオン処理-->
160
-
161
- <div id="accordion">
162
-
163
- <div class="card">
164
-
165
- <div class="card-header" id="headingOne">
166
-
167
- <h5 class="mb-0">
168
-
169
- <button class="btn btn-link" data-toggle="collapse" data-target="#collapseOne" aria-expanded="true" aria-controls="collapseOne">
170
-
171
- <textarea name="title" class="form-control" rows="1" maxlength="20" placeholder="日記のタイトルを入力"></textarea>
172
-
173
- </button>
174
-
175
- <div class="float-right">
176
-
177
- <a href="" class="btn btn-primary btn-lg active" role="button" aria-pressed="true">Delete</a>
178
-
179
- </div>
180
-
181
- </h5>
182
-
183
- </div>
184
-
185
- <div id="collapseOne" class="collapse" aria-labelledby="headingOne" data-parent="#accordion">
186
-
187
- <div class="card-body">
188
-
189
- <div class="container">
190
-
191
- <form method="post">
192
-
193
-
194
-
195
- 内容<textarea name="contents" class="form-control" maxlength="80" placeholder="日記の内容を入力"></textarea>
196
-
197
- </form>
198
-
199
- </div>
200
-
201
- </div>
202
-
203
- </div>
204
-
205
- </div>
206
-
207
- </div>
208
-
209
- <!-- Optional JavaScript -->
210
-
211
- <!-- jQuery first, then Popper.js, then Bootstrap JS -->
212
-
213
- <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
214
-
215
- <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
216
-
217
- <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>
218
-
219
- </body>
220
-
221
- </html>
222
-
223
-
224
-
225
- ```
226
-
227
219
 
228
220
 
229
221
  ### 試したこと
@@ -232,9 +224,15 @@
232
224
 
233
225
 
234
226
 
235
- 上記サイトを参考にして、phpの中のHTMLをprint<<<eofで囲みましたが、シンタックスエラー
227
+ 上記サイトを参考にして、phpの中のHTMLをprint<<<eofで囲み、PHPでHTML出力を可能にしましたが、
228
+
236
-
229
+ 新規作成したアコーディオンが上に来てしまいます。本来、既存のアコーディオンの下に挿入される形にしたいです。
230
+
231
+
232
+
233
+ ![イメージ説明](d552b1ff09dd8ff72a8b6582102cc7b5.png)
234
+
237
- となってしまいます。
235
+ 図1:新規作成ボタンの上にアコーディオンが追加されてしまった
238
236
 
239
237
 
240
238
 
@@ -245,7 +243,3 @@
245
243
  OS:windows10
246
244
 
247
245
  エディタ:Brackets
248
-
249
-
250
-
251
- phpの中にHTMLを書いて動的に画面を生成する方法について詳しい方、ご回答宜しくお願い致します。