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

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

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

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

PHP

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

1回答

267閲覧

入力フォームの記述途中でphpを記述すると空白が入り込んでしまう

konichan527

総合スコア11

MySQL

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

PHP

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2018/05/23 15:18

編集2018/05/23 16:43

前提・実現したいこと

PHPとHTML、Mysqlを使ってプログラムを書いています。
データベースに作成・保存したドキュメントを閲覧するviewer.phpがあり、そこからそのドキュメントを編集できるeditor.phpがあります。
編集できる内容はタイトルとドキュメントの詳細部分です。
editor.phpにはタイトルを編集するための入力フォームと詳細部分を記入するテキストエリアがあります。
編集する時には元々のタイトルと詳細部分を修正するような形で編集したいと考えているので、データベースから修正前のタイトルと詳細部分を呼び出して、それぞれ入力フォームとテキストエリアに入力された状態にしています。

発生している問題・エラーメッセージ

入力フォーム・テキストエリア共に、データベースの内容をあらかじめ入れておくには、htmlの途中でphpを呼び出さなければいけないと思うのですが、そうすると入力フォームに確かにデータベースの内容は入力された状態になっているのですが、前後に空白が入ってしまいます。

試したこと

phpを記述した時の改行等が空白として読み込まれているのではないかと思い、htmlの行にphpを改行なしで記述したところ、スペースが無くなりました。
ですがこのやり方だととてもプログラムが見づらいので、何か空白を発生させず、且つ綺麗に記述する方法はないでしょうか?
わかりにくい文章でしたらすみませんが、力を貸して頂けたら幸いです。

問題箇所のソースコード
タイトル部分のソースコードです。
これのPHPの部分の改行を無くすと空白がなくなります。

<input type="text" class="document" name="filename" value=" <?php $mysqli = new mysqli('host','user','password','table'); if($mysqli->connect_error){ print($mysqli->connect_error); exit(); }else{ $mysqli->set_charset('utf8'); } $sql = "SELECT Title FROM $table"; $stmt = $mysqli->query($sql); foreach ($stmt as $row) { print($row['Title']); } ?>       " required>

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

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

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

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

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

kszk311

2018/05/23 15:30

問題の起きているソースコードをご提示ください。具体的な回答が得られやすくなります。
kei344

2018/05/23 16:39

質問文のコードはコードブロックで囲んでいただけませんか? ```(バッククオート3つ)で囲み、前後に改行をいれるか、コードを選択して「<code>」ボタンを押すとコードブロックになります。
guest

回答1

0

ベストアンサー

<?php ?> の外側の改行だけを消せばよいです。

PHP

1 <input type="text" class="document" name="filename" value="<?php 2 $mysqli = new mysqli('host','user','password','table'); 3 if($mysqli->connect_error){ 4 print($mysqli->connect_error); 5 exit(); 6 }else{ 7 $mysqli->set_charset('utf8'); 8 } 9 $sql = "SELECT Title FROM $table"; 10 $stmt = $mysqli->query($sql); 11 foreach ($stmt as $row) { 12 print($row['Title']); 13 } 14      ?>" required>

投稿2018/05/23 16:48

kei344

総合スコア69364

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

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

konichan527

2018/05/23 16:51

ありがとうございます!解決しました! 10個近く半角スペースが入っていたのですが、何故あんなことになるのでしょうか? もし良ければ教えて下さい。
kei344

2018/05/23 17:04

konichan527さんがインデントに使っている空白です。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問