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

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

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

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

XAMPP

XAMPP(ザンプ)は、ウェブアプリケーションの実行に必要なフリーソフトウェアをパッケージングしたApacheディストリビューションです。 XAMPPひとつインストールするだけで、Apache、MySQL、PHP、Perlなどのソフトウェアと、 phpMyAdminなどの管理ツール、SQLiteなどのソフトウェアやライブラリモジュールなどを利用することが可能です。

HTML

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

Q&A

解決済

14回答

8643閲覧

phpを使ってhtmlに出力できません。

退会済みユーザー

退会済みユーザー

総合スコア0

PHP

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

XAMPP

XAMPP(ザンプ)は、ウェブアプリケーションの実行に必要なフリーソフトウェアをパッケージングしたApacheディストリビューションです。 XAMPPひとつインストールするだけで、Apache、MySQL、PHP、Perlなどのソフトウェアと、 phpMyAdminなどの管理ツール、SQLiteなどのソフトウェアやライブラリモジュールなどを利用することが可能です。

HTML

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

0グッド

2クリップ

投稿2016/07/01 00:00

編集2016/07/01 11:41

html

1<form action="test.php" method="get"> 2 <input type="text" name="text" /> 3</form>

php

1<html> 2 <head> 3 <title>Result</title> 4 </head> 5 <body style="background:aqua;"> 6 7 <?php 8 $text = $_GET["text"]; 9 $text_html = htmlspecialchars($text); 10 echo "<h1>Hi, {$text_html}</h1>"; 11 ?> 12 13 </body> 14</html>

htmlのType="text"で入力された情報をphpで表示させたいのですが、表示結果が、

Hi, {$text_html}"; ?>

になってしまいます。
どうしたらいいのでしょうか。そしてなぜこのようになってしまうのでしょうか。よろしくお願いします。

ソースコード

エディター

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

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

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

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

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

guest

回答14

0

ベストアンサー

フォームのhtmlファイルをダブルクリックで開いて、file:///C:/xampp/htdocs/~のようなアドレスになっていませんか?

であれば、http://127.0.0.1/~のようなアドレスにすれば動くと思います。

投稿2016/07/01 13:49

flg3

総合スコア34

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

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

退会済みユーザー

退会済みユーザー

2016/07/01 14:46

なってます! どのようにしたらそのような数字のアドレスにできるでしょうか?
flg3

2016/07/01 19:45

windows環境でxamppフォルダをCドライブ直下に置いている場合「file:///C:/xampp/htdocs/」から始まるパスが表示されていると思いますが、その部分を「http://127.0.0.1/」に書き換えれば、とりあえず解決するはずです。 理由については、自分では上手い説明ができないので「HTTP」「webサーバ」「Apache」「PHP」などのキーワードを元に調べていただければと思います。 (もしくは「俺、分かるよ」という方々にお譲りします)
退会済みユーザー

退会済みユーザー

2016/07/02 05:35

いろいろ調べましたが、わかりませんでした。。。 わかりやすいサイトなどないでしょうか!?
kei344

2016/07/02 05:41

横から失礼します。 To: CNTaskさん htmlのファイル名がわかりませんが、下記のURLのファイル名部分を置き換えて試してみてください。 http://localhost/ファイル名.html
退会済みユーザー

退会済みユーザー

2016/07/02 05:57

Parse error: syntax error, unexpected '/' in C:\xampp\htdocs\test.php on line 11 このような分が表示されました!! そして11行目直したら成功しました!! kei344さんありがとうございます!!
guest

0

セミコロンや?>まで出力されていることを考えると、PHPが効いていないという可能性も考えられます。

以下のファイルを作って、何が表示されるか確認してみてください。

php

1<?php 2phpinfo();

投稿2016/07/01 00:35

maisumakun

総合スコア145121

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

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

退会済みユーザー

退会済みユーザー

2016/07/01 00:49

http://localhost/test.php にアクセスしたところ、 PHP Version 5.6.21 といったphpの紫色のページに飛びました。
maisumakun

2016/07/01 00:52

それでしたらPHPは動いているようですが…質問に書かれたPHPファイルも、ちゃんと拡張子は「.php」にしていますでしょうか。
退会済みユーザー

退会済みユーザー

2016/07/01 00:54

はい、phpファイルになっているようです。
guest

0

php

1<html> 2 <head> 3 <title>Result</title> 4 <meta charset="UTF-8"> 5 </head> 6 <body style="background:aqua;"> 7 <?php 8 if(isset($_GET["submit"])){ 9 $text = $_GET["text"]; 10 $text_html = htmlspecialchars($text); 11 echo "<div>Hi,".$text_html."<div>"; 12 } 13 ?> 14 </body> 15</html>

投稿2016/07/02 05:58

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

0

とりあえずエラーの守備範囲を広げてチェック

PHP

1<?php 2ini_set("display_errors",1); 3error_reporting(E_ALL); 4$text = filter_input(INPUT_GET,"text"); 5$text_html = htmlspecialchars($text); 6echo "<h1>Hi, {$text_html}</h1>"; 7?> 8

投稿2016/07/01 05:03

yambejp

総合スコア114572

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

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

退会済みユーザー

退会済みユーザー

2016/07/01 06:12

お返事ありがとうございます。 結果は変わりませんでした。
guest

0

php

1<h1>Hi, <?php echo $text_html; ?> </h1>

こうするのもいいと思います

投稿2016/07/01 00:39

otom

総合スコア35

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

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

退会済みユーザー

退会済みユーザー

2016/07/01 00:52

お返事ありがとうございます! これもまた上手く動きませんでした。
guest

0

http://php.net/manual/ja/language.types.string.php#language.types.string.parsing
変数展開の書き方は${変数名}です。{$変数名}ではありません。

投稿2016/07/01 00:15

masaya_ohashi

総合スコア9206

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

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

退会済みユーザー

退会済みユーザー

2016/07/01 00:25

<?php $text = $_GET["text"]; $text_html = htmlspecialchars($text); echo "<h1>Hi, ${text_html}</h1>"; ?> こうしてみましたが、 Hi, ${text_html}"; ?> まだこのように出力されてしまいます。
masaya_ohashi

2016/07/01 00:29

確認ですが、${text_html}"を削ると、正しくHi,だけが表示されますか?
退会済みユーザー

退会済みユーザー

2016/07/01 00:35

いえ、 echo "<h1>Hi</h1>"; このようにすると、 Hi"; ?> このように、</h1>以降の部分も表示されてしまいます。
masaya_ohashi

2016/07/01 00:37

maisumakunさんの言うように、PHPが動作していないように思います。そちらの回答を確認してください。
退会済みユーザー

退会済みユーザー

2016/07/01 00:45

わかりました。 ありがとうございます!
退会済みユーザー

退会済みユーザー

2016/07/01 01:40

ん? {$text_html} でいいよ
退会済みユーザー

退会済みユーザー

2016/07/01 06:13

了解しました。 2つのやり方があるということで理解させていただきます。
guest

0

ファイルをちゃんとhtdocsの中に入れてる?

投稿2016/07/04 04:41

itaya

総合スコア41

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

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

0

なんか変なことになっていますね。
このページのソースを見せてもらえますか?elementではなく。

それと切り分けのために、下記の結果を見せてもらえますか?

php

1<html> 2 <head> 3 <title>Result</title> 4 </head> 5 <body style="background:aqua;"> 6 7 <?php 8 echo "<h1>Hi-1</h1>"; 9 ?> 10 <br/> 11 <?php 12 echo "Hi-2"; 13 ?> 14 15 </body> 16</html>

投稿2016/07/01 11:58

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

退会済みユーザー

退会済みユーザー

2016/07/02 05:28

Hi-1"; ?> だけが表示されました。
guest

0

文字コードにおかしいのがあるかもしれません。
こちらを参考に書き直してみたらどうでしょうか?
エラーが起きた?それはUTF-8のBOMと改行コードが原因かもしれません

投稿2016/07/01 07:11

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

退会済みユーザー

退会済みユーザー

2016/07/01 11:48

<meta charset="utf-8"> を追加<head>の部分に追加してみましたが、だめでした。
guest

0

とりあえずの対策であれえばバッファリングでいけるかも
本質的な解決ではありませんが・・・

ob_start(); $text = filter_input(INPUT_GET,"text"); $text_html = htmlspecialchars($text); echo "<h1>Hi, {$text_html}</h1>"; $content=ob_get_contents(); ob_end_clean(); print $content;

投稿2016/07/01 06:28

yambejp

総合スコア114572

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

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

0

デリミタの?>がうまく働いていない可能性が考えられますね。もう一度。;から?>まで削除してみて、
それでもう一度記述しなおすとどうでしょうか。

投稿2016/07/01 04:35

FKM

総合スコア3608

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

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

退会済みユーザー

退会済みユーザー

2016/07/01 06:11

これまただめでしたが、進展がありました。 書き直したところ、 Hi, {$text_html} "; ?> これの2行目が大きなフォントで表示されるようになりました。
guest

0

ソースコードの該当箇所をキャプチャして質問に貼り付けてみてください。
何かわかるかもしれません。

投稿2016/07/01 01:58

yona

総合スコア18155

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

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

退会済みユーザー

退会済みユーザー

2016/07/01 06:21

ソースコードを追加しました! 添削もう一度お願いします。
yona

2016/07/01 06:44

ソースコードとキャプチャの内容があっていないようです。 どちらのソースコードが動かないのでしょうか。 キャプチャの内容だとphpとして動かないと思います。
退会済みユーザー

退会済みユーザー

2016/07/01 06:59

すみませんさっきの画像に間違いがあったので新しいものを更新しときました。
yona

2016/07/01 07:08

コメントアウトされてませんか?<?phpにすれば動きそうですけど。
退会済みユーザー

退会済みユーザー

2016/07/01 07:15

いえ、コメントアウトしていないのに、ソースコードではコメントアウトしていることになっているんです!これが原因ですかね?
yona

2016/07/01 07:29 編集

phpのコードはデバッグツールに表示されないと思います。 ソースコードのエディタ部分もキャプチャできますか? 別の箇所にphpの開始タグはありませんか?
退会済みユーザー

退会済みユーザー

2016/07/01 11:42

更新しました。確認お願いします。
yona

2016/07/01 11:52

実行環境はどのような環境ですか? xamppで直接動かしているんですよね?
退会済みユーザー

退会済みユーザー

2016/07/01 14:48

Bracketsというコードエディターを使っています。 そうです。xamppを使っています。
guest

0

php

1<h1>Hi, <?=$text_html; ?> </h1>

これでどうですか?

投稿2016/07/01 01:50

編集2016/07/01 01:54
退会済みユーザー

退会済みユーザー

総合スコア0

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

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

退会済みユーザー

退会済みユーザー

2016/07/01 06:12

お返事ありがとうございます。 上手くいきませんでした。
guest

0

ちょっと面倒ですがこの方法なら動くのでは?

PHP

1echo "<h1>Hi, ".$text_html."</h1>";

投稿2016/07/01 00:28

Yasha_Wedyue

総合スコア830

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

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

退会済みユーザー

退会済みユーザー

2016/07/01 00:50

お返事ありがとうございます! 試してみましたが、だめでした。。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問