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

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

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

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

HTML

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

Q&A

解決済

2回答

667閲覧

【PHP】フォームから受け取った文字データをHTMLのscriptで使いたい

Greenfrog

総合スコア2

PHP

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

HTML

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

0グッド

0クリップ

投稿2020/07/25 04:09

【PHP】フォームから受け取った文字データをHTMLのscriptで使いたい

2行目:$name = $_POST['name'];で受け取ったデータ($name)を、
14行目:if ( [$nameの値が欲しい] == "田中"){で使いたいのですが、方法が分かりません。

試してみたこと
if ($name == "田中")
if (<?php echo $name;?> == "田中")

ご回答いただけるとありがたいです。
よろしくお願いします。

php

1<?php 2 $name = $_POST['name']; 3?> 4 5<html> 6 <head> 7 <meta charset="UTF-8"> 8 </head> 9 <body> 10 <h1 id="name">鈴木さん</h1> 11 </body> 12 <script> 13 var nameNum = 0; 14 if ( [$nameの値が欲しい] == "田中"){ 15 nameNum = 1; 16 } 17 const name = document.getElementById("name"); 18 if(changeNum == 1){ 19 name.innerHTML = "<h1 id="name">田中さん</h1>"; 20 } 21 </script> 22</html>

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

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

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

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

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

guest

回答2

0

セキュリティ的な補足です。

言語間のデータのやり取りなので、適当なエスケープを実施してやる必要があります。

以下が一般的に適切かと。

  • custom data 属性に htmlspecialchars() を組み合わせ、JavaScript から読み込む
  • スクリプト内で、JSON として、適切なエスケープを行い引き渡す。

後者は、ajax で使用する場合も有効です。
その場合、Content-Type の設定にも注意してください。

投稿2020/07/25 04:45

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

0

ベストアンサー

PHP

1<?php 2$name = filter_input(INPUT_POST,'name'); 3?> 4<h1 id="name">鈴木さん</h1> 5<form method="post"> 6<input type="text" name="name" value=""> 7<input type="submit" value="send"> 8</form> 9<script> 10var nameNum = 0; 11if ( "<?=htmlspecialchars($name);?>" === "田中"){ 12 nameNum = 1; 13} 14const name = document.getElementById("name"); 15if(nameNum == 1){ 16 name.innerHTML = "田中さん"; 17} 18</script>

投稿2020/07/25 04:19

yambejp

総合スコア116724

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

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

yambejp

2020/07/25 04:26

ただしjsにphpの値を埋め込むことはあまりおすすめできません phpでapiをつくってjsonpなどで処理するという手もあります
Greenfrog

2020/07/25 04:30 編集

そのような方法もあるのですね。 セキュリティー的な問題でしょうか?知識不足ですみません。 もっと勉強します。 回答ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問