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

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

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

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

Q&A

解決済

2回答

3823閲覧

PHPで掲示板作成。入力フォーム内容をテキストファイルに書き込むには

退会済みユーザー

退会済みユーザー

総合スコア0

PHP

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

0グッド

0クリップ

投稿2016/05/06 06:52

エラー内容

htmlファイルの入力フォームに情報を入力、送信
→ PHPファイルに飛ばす。
→ その際のエラー表示です。

Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/co-311.it.3919.com/public_html/kadai2/kadai2-2.php on line 13

やりたいこと

フォームから送信された値を受け取り、
それぞれの値を1行ごとにテキストファイルに保存したい。

htmlファイルの入力フォームには
・名前
・コメント
の項目のみですが、

テキストファイルに保存される方には
・番号<>
・名前<>
・コメント<>
・投稿時間
といったように、
「番号」と「投稿時間」の項目の追加をしたいです。

番号には、最終投稿番号に+1した数値が表示されるようにしたいです。(すみません、投稿時間の書き方がわからず、以下のソースには書けてません)

また、最初から3つの項目の末に「<>」という記号を追加して記述したいです。

lang

1<html> 2 3 <head> 4 <meta charset="utf-8"> 5 <lang="ja"> 6 <title>kadai2-1_input.html</title> 7 </head> 8 9 <body> 10 <form action="kadai2-2.php" method="post"> 11 <p>名前<br> 12 <input type="text" name="name" size="30" value="名前を入力してください"></p> 13 <p>コメント<br> 14 <input type="text" name="comment" size="50" value="コメントを入力してください"> </p> 15 <input type="submit" value="送信"> 16 </form> 17 </body> 18 19</html>

lang

1<html> 2<head> 3 <mata charset="utf-8"> 4 <lang="ja"> 5 <title>kadai2-2output.php</title> 6</head> 7 8<body> 9<?php 10 $name = $_POST['name']; 11 $comment = $_POST['comment']; 12 print ("次のデータを受け取りました<br />"); 13 print ("名前:$name = $_POST['name']<br />"); 14 print ("コメント:$comment = $_POST['comment']<br />"); 15?> 16 17<?php 18$fp = fopen("kadai2-2.txt", "a"); 19fwrite($fp, $number_format <> . PHP_EOL); 20fwrite($fp, $line.$_POST['name <>'] . PHP_EOL); 21fwrite($fp, $line.$_POST['comment <>'] . PHP_EOL); 22fclose($fp); 23?> 24 25</body> 26</html>

コメント

PHP、HTMLともに超初心者です。
現在、ド文系ですが課題を組んでプログラミングを学習しております。
お手数おかけしますが、ご回答、どうぞよろしくお願いいたします。

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

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

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

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

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

guest

回答2

0

ベストアンサー

もっと基本的なことから学んだ方がいいですね。文字列の連結とか。

遠回りに感じるかもしれませんが、後々そちらの方が早いと思います。

あと文字リテラル中に連想配列を入れる場合

PHP

1$aaa = "連想配列を入れる場合{$_POST['name']}このようにする。"; 2```こうする必要があります。

投稿2016/05/06 08:26

編集2016/05/06 08:27
shi_ue

総合スコア4437

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

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

退会済みユーザー

退会済みユーザー

2016/05/10 04:40

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

退会済みユーザー

2016/05/10 06:57

print ("名前: {$name = $_POST['name']} <br />"); print ("コメント:{$comment = $_POST['comment']}<br />"); と風に訂正すべきという認識でよろしかったでしょうか? もしこれでよろしいのであれば、すみません、引き続き同様のエラーが表示されてしまいました。
退会済みユーザー

退会済みユーザー

2016/05/10 07:05

すみません、=の手前は不要でした。 文字リテラル中に連想配列を記述する方法、 shi_ue様のご指摘を基に、今後身に着けます!
guest

0

正解をご自身で見つけられるのが一番ベストな技術力アップかと思いますが
以下のように書いたら、動作は変わりますか?

print ("名前:$name = $_POST['name']<br />");

print ("名前:" . $name = $_POST['name'] . "<br />");

投稿2016/05/06 07:41

ebsffzal

総合スコア107

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

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

退会済みユーザー

退会済みユーザー

2016/05/10 04:39

ご回答ありがとうございます。 変わりませんでした…
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問