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

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

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

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

teratail

teratail(テラテイル)は、プログラミングに特化した日本語Q&Aサイトです。

HTML

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

Q&A

解決済

1回答

2605閲覧

''と'の使い分け

b1ackc0ffee

総合スコア267

PHP

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

teratail

teratail(テラテイル)は、プログラミングに特化した日本語Q&Aサイトです。

HTML

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

0グッド

0クリップ

投稿2015/07/14 17:20

lang

1$a = 3; 2var_dump("a は".'$a'." です"); 3var_dump('a は'. $a. ' です'); 4print('aは、'. "$a" .'です'); 5print $a; 6print('aは、'.' "$a"'.'です');

などいろいろ試してみたのですが、
思い通りの結果が得られません。

aは3です

と表示させたい場合には、どういう書き方がありますでしょうか。
よろしくお願いいたします。

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

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

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

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

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

guest

回答1

0

ベストアンサー

PHPではダブルクォーテション(")で文字列中の変数展開ができるので

lang

1$a = 3; 2 3print("aは${a}です"); 4 5// なお、PHPでの文字出力ではechoの方が処理速度が速い、というのが定説です。言うほど変わらないらしいですが・・・ 6echo "aは${a}です";

これでいいでしょうか?

投稿2015/07/14 17:34

shiolier

総合スコア1156

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

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

b1ackc0ffee

2015/07/14 17:46

はじめまして、こんばんは。 回答ありがとうございます。 printとechoの件、知りませんでした!新発見です。 ブラケットだと、そのまま文字を入れることができるのですね。 <?php try { $db = new PDO('mysql:host=localhost;dbname=newbbs;charset=utf8', 'newbbsuser', 'newbbspass'); $displayName = $db->prepare('SELECT name FROM newbbs WHERE mailaddress = {$_POST["username"]}'); $displayName->execute(); } ?> <!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <title>NEW掲示板</title> </head> <body> <?php print('<a href="logout.php" target="_top">ログアウトする</a>'); print("こんにちは、"."$displayName"."さん。"); ?> <h3>ようこそNEW掲示板へ</h3> <form method="POST" action="guest_write.php" target="frame2"> <div id="container"> <label for="name">名前:<label> <input type="text" id="name" name="name" size="20" maxlength="30" /> </div> <div id="container"> <label for="body">本文:</label> <input type="text" id="body" name="body" size="70" maxlength="255" /> </div> <input type="submit" value="送信" /> </form> </body> </html> の書き方ですが、''と'の使い分けができていないのか、その他の部分が問題なのかわかりませんが、期待通りの結果が得られませんでした。''と'どちらも使用するとすると、どのような書き方が正しいでしょうか。
shiolier

2015/07/14 18:07

はじめまして。フォローまでしていただいて、ご丁寧にありがとうございます。 上のコードで「ここが間違っている」と断定はできませんが、気になる点が1つ。 $displayName = $db->prepare('SELECT name FROM newbbs WHERE mailaddress = {$_POST["username"]}'); この行のprepareの引数です。 ここは変数展開を行いたいであろう場所なので ' と " を逆にすると良いかと思います。 $displayName = $db->prepare("SELECT name FROM newbbs WHERE mailaddress = ${_POST['username']};"); 個人的にPHPの ' と " の使い分けは、変数展開やエスケープ(\n や \t)を利用する場合は " 、それ以外は全て ' を使っています。
ngyuki

2015/07/15 00:40

b1ackc0ffee さん コメントに書かれているコードには多くの誤りがあります。 - try の使い方に誤りがありシンタックスエラーになる - 変数展開されない箇所に変数を差し込んでいるため動作しない(↑で指摘の通り) - $displayName 変数の使い方に誤りがあり動作しない - html のマークアップに誤りがある(1個目の label の閉じタグ) これらを修正したとしても以下の脆弱性が存在します。 - SQL インジェクション脆弱性 - XSS 脆弱性 「"と'の使い分け」という問題を修正したとしても、このコードは動作しません。
b1ackc0ffee

2015/07/15 08:04

half_sleepingさま 夜分に有難うございました+。 指摘箇所を修正致しました^^ 使い分け方法わかりやすかったです! 今後ともよろしくお願い致します。
b1ackc0ffee

2015/07/15 08:15

ngyukiさま いつもお世話になります。総合1位おめでとうございます★ - try の使い方に誤りがありシンタックスエラーになる try...catch苦手です。例外処理の部分は基本的と言われますが、まだまだ慣れていなくて><、 - html のマークアップに誤りがある(1個目の label の閉じタグ) - 変数展開されない箇所に変数を差し込んでいるため動作しない(↑で指摘の通り) 修正しました^^ - $displayName 変数の使い方に誤りがあり動作しない 変数、関数、ライブラリ、インスタンス化の理解ができていないせいか、 プログラムの流れ、きちんとした整理ができません。 難しいですね。皆さんどのように学んでこられたのでしょうか。 下記に修正後のコードを載せます↓ ――― <?php session_start(); if ($auth->getAuth()){ print($auth->name); $name = $auth->getAuthData("name"); print("こんにちは"); print("$name); print("さん"); } ?> <!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <title>NEW掲示板</title> </head> <body> <?php echo('<a href="logout.php" target="_top">ログアウトする</a>'); echo("こんにちは、"."$displayName"."さん。"); echo htmlspecialchars(auth->getAuthData("name")); ?> <h3>ようこそNEW掲示板へ</h3> <form method="POST" action="guest_write.php" target="frame2"> <div id="container"> <label for="name">名前:</label> <input type="text" id="name" name="name" size="20" maxlength="30" /> </div> <div id="container"> <label for="body">本文:</label> <input type="text" id="body" name="body" size="70" maxlength="255" /> </div> <input type="submit" value="送信" /> </form> </body> </html> ――― - SQL インジェクション脆弱性 - XSS 脆弱性 セキュリティ関係も並行して身に着けないといけないでしょうか。 プログラムの勉強を始めてか月ですが、何からどう学べばいいかわかりません。 アドバイスいただき、助かります。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問