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

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

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

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

Q&A

3回答

2001閲覧

書籍を模写したところ、どこが間違っているのかがわからない

zzz00

総合スコア6

PHP

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

0グッド

0クリップ

投稿2018/04/18 14:49

前提・実現したいこと

ここに質問の内容を詳しく書いてください。
(例)PHP(CakePHP)で●●なシステムを作っています。
■■な機能を実装中に以下のエラーメッセージが発生しました。

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

エラーメッセージ Parse error: syntax error, unexpected '$mail_sub' (T_VARIABLE), expecting ',' or ';' in C:\xampp\htdocs\phpkiso\thanks.php on line 26

該当のソースコード

phpここに言語名を入力
ソースコード
$mail_sub= 'アンケートを受け付けまいた。';
$mail_body= $nickname."様へ\nアンケートご協力ありがとうございました。";
$mail_body=html_entity_decode($mail_body,ENT_QUOTES,"UTF-8");
$mail_head='From:xxx@xxx.co.jp';
mb_language('Japanese');
mb_internal_encoding("UTF-8");
mb_send_mail($email,$mail_sub,$mail_body,$mail_head);

試したこと

書籍に乗っているコードを何度も見比べたが、間違っているところがわからない

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

$mail_sub= 'アンケートを受け付けまいた。';
これがエラーの26行目
ここにより詳細な情報を記載してください。

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2018/04/18 16:25

いきなりはじめる からつまずくんじゃないんでしょうか?
arasi

2018/04/19 00:15

アンケートを受け付けまいたとか書いている時点で正しく模写できていないのだが
m.ts10806

2018/04/19 00:17

arasiさん そうなんですよね。
guest

回答3

0

その手のエラーはエラーで表示される行の前の行のケツに「;」がついていない
場合にでます。

投稿2018/04/19 00:39

yambejp

総合スコア114769

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

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

0

まずthanks.phpを掲載してください。

(たとえば ENT_QUOTESの値はたぶん'(シングル)か”(ダブル)だと推測できますが、)
ソースの一部の掲載だけでは、回答が制限されます。


解決策

エラー文からの推測で書きます。

「expecting ',' or ';'」とあるので、たぶんそのどちらかがコマンドの末尾にない、
これがエラーの原因でしょう。

投稿2018/04/18 15:53

kawakawa2018

総合スコア1195

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

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

0

単なる模写をするからです。
コードの目的とそれに向かうそれぞれの意味を理解することが解決と成長への早道です。

あなたが目指すのは「書籍と一字一句違わないコードを書くこと」でしょうか?

プログラムには必ず守らなければならない「お作法」があります。
その「お作法」は「書籍を模写」ではカバーできません。
PHPマニュアルをはじめとした公式のドキュメントをきちんと抑えること、
エラーメッセージがでたらそのエラーメッセージの意味を調べていくことで身に付きます。

どのような書籍か知りませんが、まず書こうとしているコードの目的とそれぞれの意味くらいは
理解してから書いていった方が良いです。
書籍の名称もないですし、名称を提示されてもその書籍を持っている人がどれくらいいるかは分かりません。
つまり、「その書籍と一字一句違わないという確認は見ている人が誰にもできない」わけです。
提示されたコードはあくまで質問者さんが書かれたコードとして理解されます。
模写であってもコピペであっても責任はコードを書いた人自身が持つべきです。

追記:
お作法 と言えば、質問本文に質問テンプレート部分が多く見られますし
ソースコードがきちんとコードブロックで囲われていません。
質問と関係ない部分はノイズとなって回答する側の弊害となりえますし、
コードは再現確認のために必要なものなのできちんとコードブロックで囲う必要があります。
質問編集画面ではプレビューがリアルタイムで表示されますのでそちらを確認しながら調整してください。
(守らない質問者さんが多いですが、必要な情報をきちんと詰め込むこと、コードを見やすく・再現可能な状態とすること はサイトを利用する上での最も守るべきお作法です)

投稿2018/04/18 22:57

編集2018/04/18 23:04
m.ts10806

総合スコア80850

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

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

退会済みユーザー

退会済みユーザー

2018/04/18 23:19

まあこの書籍は「いきなりはじめる PHP」だったら 誤:$dbh->query('SET NAMES UTF-8'); 正:$dbh->query('SET NAMES utf8'); 誤:dbh = null; 正:$dbh = null; とある動作させてないコードがあるらしいからなぁ
m.ts10806

2018/04/18 23:22

私は「初心者が◎日で」とかいう触れ込みの書籍は信頼しないですね。 高いには高いなりの理由があるので、パーフェクトPHP辺りを手に取ってもらいたいですね。
退会済みユーザー

退会済みユーザー

2018/04/18 23:44 編集

まあ、リックテレコムのプロ写経師育成の本らしいからなあ→ いきなりのはずなのに説明は二冊目(別の書籍を参考な記述があるらしい)の本
m.ts10806

2018/04/19 00:06

目次だけ見たら結構テンション高めで初学者は惹かれるかもしれませんね。 「ワクワク・ドキドキ」が必要な表現かどうかは置いといて・・・
m.ts10806

2018/04/19 00:09

今更asahina1979さんの質問への追記・修正依頼のコメントとの連動性に気づきました。上手いですね・・・w
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問