🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
PHP

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

HTML

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

Q&A

解決済

4回答

1248閲覧

input要素を増やしたら、エラーが出ました。

daichi-onoue

総合スコア53

PHP

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

HTML

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

0グッド

1クリップ

投稿2019/09/06 02:41

前提・実現したいこと

フォームからtxtファイルへの書き込み

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

PHP Parse error: syntax error, unexpected 'disp' (T_STRING), expecting ']' in /workspace/Main.php on line 8

該当のソースコード

php

1<?php 2$arr = array( 3'01.txt'=>['name'=>'inp_01','disp'=>'画用紙(茶)'], 4'02.txt'=>['name'=>'inp_02','disp'=>'画用紙(赤)'], 5'03.txt'=>['name'=>'inp_03','disp'=>'画用紙(オレンジ)'], 6'04.txt'=>['name'=>'inp_04','disp'=>'画用紙(ピンク)'], 7'05.txt'=>['name'=>'inp_05','disp'=>'画用紙(白)'], 8'06.txt'=>['name'=>'inp_06’,'disp'=>'画用紙(黄)'], 9'07.txt'=>['name'=>'inp_07’,'disp'=>'画用紙(黄緑)'], 10'08.txt'=>['name'=>'inp_08’,'disp'=>'画用紙(緑)'], 11'09.txt'=>['name'=>'inp_09’,'disp'=>'画用紙(水色)'], 12'10.txt'=>['name'=>'inp_10’,'disp'=>'画用紙(青)'], 13'11.txt'=>['name'=>'inp_11’,'disp'=>'画用紙(紫)'], 14'12.txt'=>['name'=>'inp_12’,'disp'=>'画用紙(黒)'], 15); 16$msg = array(); 17if ($_POST) { 18foreach ($arr as $file=>$val) { 19$name = $val['name']; 20if (!isset($_POST[$name])) die('abort'); 21file_put_contents($file, $_POST[$name] . PHP_EOL, LOCK_EX); 22$msg[] = sprintf('%s:%s<br>', $file, htmlspecialchars($_POST[$name], ENT_QUOTES)); 23} 24} 25?> 26<!DOCTYPE HTML > 27<html lang="ja"> 28<head> 29<title>中二1 7月10日 備品貸出要求</title> 30</head> 31<body> 32<h4>下記のフォームに必要な数を記入してください。記入するのは、「数字」のみです。必要ないものに関しては空白のままにしておいてください。</h4> 33<?= count($msg) > 0 ? implode('', $msg) . "上記内容で備品貸出を要求しました。5F備品倉庫に来てください。又、追加の貸出を要求する場合は、直接備品倉庫に来てください。<hr>" : '' ?> 34<div style="text-align:center"> 35<form action="main.php" method="post"> 36<?php 37foreach ($arr as $val) { 38$disp = $val['disp']; 39$name = $val['name']; 40printf('%s<br><input type="text" name="%s" value="%s"><br>', $disp, $name, isset($_POST[$name]) ? htmlspecialchars($_POST[$name], ENT_QUOTES) : ''); 41} 42?> 43<input type="submit"> 44</form> 45</div> 46<script src="https://cdnjs.cloudflare.com/ajax/libs/pace/1.0.2/pace.min.js"></script> 47<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/pace/1.0.2/themes/black/pace-theme-center-circle.min.css" /> 48</body> 49</html> 50 51

試したこと

半角、全角を試しましたが、ダメでした。
又、5項目の書き込みまでは、問題ありませんでした。

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2019/09/06 04:45

「半角、全角を試しましたが、ダメでした」試し方が間違っていたんですね。文字の種別でカラー表示が変わるようなテキストエディタや、文法エラーの検出ができる統合開発環境などの導入を強くおすすめします。文字の打ち間違いレベルでteratailに来なくても済むようになるし作業性も向上しますし。
guest

回答4

0

シングルクォーテーションが全角

マークダウンのシンタックスハイライトでもおかしいのが分かるはず。
というか、構文チェック機能のあるエディタ使ってください。できればEclipseなどの統合環境(IDE)

又、5項目の書き込みまでは、問題ありませんでした。

であれば直前の項目を1行コピペして中身だけ変更すれば間違いないですよね。

php

1$arr = [ 2'01.txt'=>['name'=>'inp_01','disp'=>'画用紙(茶)'], 3'02.txt'=>['name'=>'inp_02','disp'=>'画用紙(赤)'], 4'03.txt'=>['name'=>'inp_03','disp'=>'画用紙(オレンジ)'], 5'04.txt'=>['name'=>'inp_04','disp'=>'画用紙(ピンク)'], 6'05.txt'=>['name'=>'inp_05','disp'=>'画用紙(白)'], 7];

php

1$arr = [ 2'01.txt'=>['name'=>'inp_01','disp'=>'画用紙(茶)'], 3'02.txt'=>['name'=>'inp_02','disp'=>'画用紙(赤)'], 4'03.txt'=>['name'=>'inp_03','disp'=>'画用紙(オレンジ)'], 5'04.txt'=>['name'=>'inp_04','disp'=>'画用紙(ピンク)'], 6'05.txt'=>['name'=>'inp_05','disp'=>'画用紙(白)'], 7'05.txt'=>['name'=>'inp_05','disp'=>'画用紙(白)'], 8];

php

1$arr = [ 2'01.txt'=>['name'=>'inp_01','disp'=>'画用紙(茶)'], 3'02.txt'=>['name'=>'inp_02','disp'=>'画用紙(赤)'], 4'03.txt'=>['name'=>'inp_03','disp'=>'画用紙(オレンジ)'], 5'04.txt'=>['name'=>'inp_04','disp'=>'画用紙(ピンク)'], 6'05.txt'=>['name'=>'inp_05','disp'=>'画用紙(白)'], 7'06.txt'=>['name'=>'inp_06','disp'=>'画用紙(黄)'], 8];

投稿2019/09/06 02:44

編集2019/09/06 03:23
m.ts10806

総合スコア80875

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

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

0

inp_06-12の閉じてるクォーテーションがおかしいです

投稿2019/09/06 03:03

yambejp

総合スコア116694

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

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

0

ベストアンサー

'inp_xx’ の閉じ側のシングルクォートが間違ってます。 '

'06.txt'=>['name'=>'inp_06’,'disp'=>'画用紙(黄)'], '07.txt'=>['name'=>'inp_07’,'disp'=>'画用紙(黄緑)'], '08.txt'=>['name'=>'inp_08’,'disp'=>'画用紙(緑)'], '09.txt'=>['name'=>'inp_09’,'disp'=>'画用紙(水色)'], '10.txt'=>['name'=>'inp_10’,'disp'=>'画用紙(青)'], '11.txt'=>['name'=>'inp_11’,'disp'=>'画用紙(紫)'], '12.txt'=>['name'=>'inp_12’,'disp'=>'画用紙(黒)'],

投稿2019/09/06 02:45

Y.H.

総合スコア7918

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

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

0

PHP

1'06.txt'=>['name'=>'inp_06’,'disp'=>'画用紙()'], 2'07.txt'=>['name'=>'inp_07’,'disp'=>'画用紙(黄緑)'], 3'08.txt'=>['name'=>'inp_08’,'disp'=>'画用紙()'], 4'09.txt'=>['name'=>'inp_09’,'disp'=>'画用紙(水色)'], 5'10.txt'=>['name'=>'inp_10’,'disp'=>'画用紙()'], 6'11.txt'=>['name'=>'inp_11’,'disp'=>'画用紙(紫)'], 7'12.txt'=>['name'=>'inp_12’,'disp'=>'画用紙()'],

シングルクォーテーションが間違っています。

っていうのは他の方もおっしゃているのでじゃぁどうすれば同じ間違えないかと言うことをお考えください。

自分の場合はAtomを使っていますが些細なミスでteratailに来られるよりこのようなミスを色分け等してくれるテキストエディタの導入をお勧めします。

投稿2019/09/06 05:49

kyoya0819

総合スコア10429

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

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

m.ts10806

2019/09/06 06:33

私はEclipse利用者ですが起動したりファイル作ったり面倒なので1枚物のPHPならpaiza.ioとかでザっと見てます。 https://paiza.io/ja
kyoya0819

2019/09/06 07:35

自分の場合 iPadでプログラミングすることが多いのでpaiza.io+サーバーみたいな感じで作ってます。 パソコンだとatomって感じです。 起動するのはめんどくさいですが端末間の共有がatomの方が簡単なので...
m.ts10806

2019/09/06 07:36

iPadで!私にはできないです・・
kyoya0819

2019/09/06 10:38 編集

スペックと安定性に定評があるので結構使い始めると他に戻れません。。。 (拡張性には難ありですが。。。)
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問