質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
CSS3

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Bootstrap

BootstrapはウェブサイトデザインやUIのWebアプリケーションを素早く 作成する可能なCSSフレームワークです。 Twitter風のデザインを作成することができます。

Q&A

解決済

1回答

2180閲覧

新規作成ボタンを押すとBootStrapのアコーディオンが画面に一つ追加されるようにしたい

1004

総合スコア74

CSS3

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Bootstrap

BootstrapはウェブサイトデザインやUIのWebアプリケーションを素早く 作成する可能なCSSフレームワークです。 Twitter風のデザインを作成することができます。

0グッド

1クリップ

投稿2018/09/29 05:56

編集2018/09/30 00:24

前提・実現したいこと

PHPで日記システムを作っています。
bootstrapのアコーディオンが新規作成ボタンを押すと一つだけ挿入される機能を実装したいと考えています。新規作成を押した分だけ下に追加されるようにしたいです。

該当のソースコード

<!doctype html> <html lang="ja"> <head> <!-- Required meta tags --> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <!-- Bootstrap CSS --> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous"> <title>みんなの日記帳</title> </head> <body> <h1>みんなの日記帳</h1> <?php if (isset($_POST["new_column"])) { //$kbn = htmlspecialchars($_POST["new_column"], ENT_QUOTES, "UTF-8"); session_start(); $link = mysqli_connect("localhost","root","root","diary"); if(mysqli_connect_error()){ die("DBへの接続失敗!"); } if($_POST['new_column']){ echo "新規作成ボタンが押されました!"; //ここにアコーディオン追加処理を記述 print<<<eof <div class="card"> <div class="card-header" id="headingOne"> <h5 class="mb-0"> <button class="btn btn-link" data-toggle="collapse" data-target="#collapseOne" aria-expanded="true" aria-controls="collapseOne"> <textarea name="title" class="form-control" rows="1" maxlength="20" placeholder="日記のタイトルを入力"></textarea> </button> <div class="float-right"> <a href="" class="btn btn-primary btn-lg active" role="button" aria-pressed="true">Delete</a> </div> </h5> </div> <div id="collapseOne" class="collapse" aria-labelledby="headingOne" data-parent="#accordion"> <div class="card-body"> <div class="container"> <form method="post"> 内容<textarea name="contents" class="form-control" maxlength="80" placeholder="日記の内容を入力"></textarea> </form> </div> </div> </div> </div> eof; } } ?> <!--新規作成ボタンを左上に配置--> <form method="post"> <button type="submit" name = "new_column" class="btn btn-primary" value="1">新規作成</button><hr> </form> <!--アコーディオン処理--> <div id="accordion"> <div class="card"> <div class="card-header" id="headingOne"> <h5 class="mb-0"> <button class="btn btn-link" data-toggle="collapse" data-target="#collapseOne" aria-expanded="true" aria-controls="collapseOne"> <textarea name="title" class="form-control" rows="1" maxlength="20" placeholder="日記のタイトルを入力"></textarea> </button> <div class="float-right"> <a href="" class="btn btn-primary btn-lg active" role="button" aria-pressed="true">Delete</a> </div> </h5> </div> <div id="collapseOne" class="collapse" aria-labelledby="headingOne" data-parent="#accordion"> <div class="card-body"> <div class="container"> <form method="post"> 内容<textarea name="contents" class="form-control" maxlength="80" placeholder="日記の内容を入力"></textarea> </form> </div> </div> </div> </div> </div> <!-- Optional JavaScript --> <!-- jQuery first, then Popper.js, then Bootstrap JS --> <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script> <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> <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script> </body> </html>

試したこと

http://iklabo.net/2016/02/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0/htmlcss/post-258/

上記サイトを参考にして、phpの中のHTMLをprint<<<eofで囲み、PHPでHTML出力を可能にしましたが、
新規作成したアコーディオンが上に来てしまいます。本来、既存のアコーディオンの下に挿入される形にしたいです。

イメージ説明
図1:新規作成ボタンの上にアコーディオンが追加されてしまった

補足情報(FW/ツールのバージョンなど)

OS:windows10
エディタ:Brackets

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

タイトルと中身がずれています。
この内容ですと「Parse errorを解決したい」ですよね。

ヒアドキュメントについて確認するとわかります。

警告

非常に重要なことですが、終端 ID がある行には、セミコロン (;) 以外の他の文字が含まれていてはならないことに注意しましょう。 これは、特に ID はインデントしてはならないということ、 セミコロンの前に空白やタブを付けてはいけないことを意味します。 終端 ID の前の最初の文字は、使用するオペレーティングシステムで定義された 改行である必要があることにも注意を要します。 これは、例えば、Macintoshでは \r となります。 最後の区切り文字の後にもまた、改行を入れる必要があります。

php

1 eof;

php

1eof;

参照元サイトも行頭に終端が置いてありますね。
PHPマニュアルの説明がないので若干不親切ではありますが・・・。

Eclipseなど、構文チェックを実行前にしてくれるIDEを導入してください。
Bracketsでもたぶんあるはずです。

投稿2018/09/29 08:09

編集2018/09/29 08:11
m.ts10806

総合スコア80850

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

1004

2018/09/30 02:55

ご回答有難うございます。 構文チェックしてくれるIDEを探してみます、
m.ts10806

2018/09/30 07:08

>1004さん Eclipseなどと書いていますしBracketsのプラグインも紹介しています。 Kosuke_Shibuyaさんが貼ってくれたあなたの質問についた回答でも話はされていますね。 ご自身で「エディタを変えようと思います」と言ってから1週間以上経っていますが いまだに変えられていないのは何故でしょうか?何かつまずかれたのでしょうか? 開発環境を整えるのは最優先事項です。問題が積み上がるだけで無駄な時間(問題が起きる→質問を作る→回答を待つ→やりとりをする)というのを繰り返すだけになりますよ。 自分で解決できたらそれに越したことはないわけです。 「やろうとしたけどわからないからそのまま」だと時間の浪費をするだけになります。 ご自身のやっていることが非常に非効率であることにそろそろ気づいてもらえたら良いのですが。
1004

2018/09/30 08:44

>mts10806さん ご指摘ありがとうございます。Bracketsだと結構設定が大変だったので、Eclipseを入れて構文チェックを実行前にしてくれるように設定しているところです。
m.ts10806

2018/09/30 08:46

PleiadesでPHPのものを入れれば何もしなくても勝手にしてくれるはずですが。 http://mergedoc.osdn.jp/ 任意のバージョンを選択 →「PHP」列の自身の環境にあったOS,bit数のものをダウンロード。
1004

2018/09/30 08:50

現在、インストールが完了しphpのコードをコピペしてみましたが、特にエラーや警告等はでませんでした。 もし、構文などに誤りがある場合は、×印などでIDEが教えてくれますか?
1004

2018/09/30 08:54

自分で試してみたところ、確かに構文エラーがある場合は×印で教えてくれますね。 これは結構便利ですね。ありがとうございます。
m.ts10806

2018/09/30 08:59

見方とか使い方は慣れる必要はありますが、構文エラー程度ならこれで分かるようになるので自身で解決できることも多いのではないでしょうか。 文書フォーマットもつけてくれますし。 Eclipseは多少動作が重い部分はありますけど、あまりプラグインを足したり、相当量のプロジェクトを多投しなければおおよそ問題はないかなと。
1004

2018/09/30 09:02 編集

ありがとうございます。当面は、構文エラー確認用として使っていこうかと考えています。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問