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

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

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

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

Q&A

解決済

3回答

1464閲覧

php掲示板 入力フォームと削除機能の実装ができません

mofmofmof

総合スコア15

PHP

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

0グッド

0クリップ

投稿2018/11/07 04:32

編集2018/11/07 04:38

前提・実現したいこと

phpで掲示板を作っています。名前欄、コメント欄、削除機能が実装してあります。なぜかエラーが出るのですが、原因が分かりません。コードを見てほしいです。

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

Parse error: syntax error, unexpected '@' in /home/tt-653.99sv-coco.com/public_html/keijiban.php on line 38

該当のソースコード

php

1<html> 2 <head> 3 <title>keijiban.php</title> 4 </head> 5<body> 6 <form action="keijiban.php" method="post"> 7 <input type="text" name="name" placeholder="名前" required><br><br> 8 <input type="text" name="comment" placeholder="コメント" required><br><br> 9 <input type="submit" value="投稿"> 10 </form> 11<br> 12 <form action=keijiban.php" method="post"> 13 <input type="text" name="delete" placeholder="削除対象番号" required><br><br> 14 <input type="submit" value="削除"> 15 </form> 16<?php 17$filename='keijiban.text'; 18 19if(isset($_POST['name'],$_POST['comment'])){ 20 $name=$_POST['name']; 21 $comment=$_POST['comment']; 22 $postedat=date("Y/m/d H:i:s"); 23 24 $fp1=fopen($filename,'a');//ファイルを追加書き込み専用で開く 25 $num=count(file($filename)); 26 $num++; 27 fwrite($fp1,$num."<>".$name."<>".$comment."<>".$postedat."\n"); 28 fclose($fp1); 29 30$lines1=file($filename); 31foreach($lines1 as $line1){ 32 $data1=explode("<>",$line1); 33 echo $data1[0].$data1[1].$data1[2].$data1[3]."\n"; 34 } 35} 36 37if (isset($_POST['delete'])) { 38  $delete=$_POST['delete']; 39 $lines2=file($filename);//テキストファイルの中身を読み込む 40 $fp2=fopen($filename,'w');//ファイルを書き込み専用で開く 41 for($i=0;$i<count($lines2);i++;) 42 $data2=explode("<>",$line2[$i]); 43 if($data2[0]!=$delete){ 44 $newdata=$data2[0].$data2[1].$data2[2].$data2[3]."\n"; 45 echo $newdata; 46 fwrite($fp2,$newdata); 47 fclose($fp2); 48 } 49 } 50 51} 52?> 53</body> 54</html>

試したこと

半角全角、スペースが間違っているのかと思い色々試してみましたが、直りませんでした。すみません分かる方よろしくお願いします。

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

ここにより詳細な情報を記載してください。

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

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

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

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

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

m.ts10806

2018/11/07 04:34

タイトルには要件を書いてください。「助けてください」では何が問題なのかわかりません
mofmofmof

2018/11/07 04:36

初めてで使い方が分からなかったです。すみません。
m.ts10806

2018/11/07 04:36

質問は編集できるので適宜ご対応いただければと。
guest

回答3

0

<form action=keijiban.php" method="post">

この部分で"の抜けがあります。

投稿2018/11/07 04:40

dice142

総合スコア5158

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

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

0

ベストアンサー

php

1[ ][ ]$delete=$_POST['delete'];

↑全角スペース

ちなみにここだけなおしてもエラーは終わりじゃないですね。
結構、構文のミスがありそうです。

コード入力時点で構文チェックをしてくれるエディタ、IDEを利用しましょう。
これくらいのエラーで頭を悩ませているのは勿体ないです。

追記:
既に指摘ありますが、

html

1 <form action=keijiban.php" method="post">

↑action属性の属性値の開始の"が抜けています。

インデントも結構滅茶苦茶なので開始と終了({})のペアがわかりづらいです。
フォーマットしてくれるサービスもありますし、それこそIDEを導入すれば
ボタン1つで調整してくれるので、必至かと思います。

投稿2018/11/07 04:36

編集2018/11/07 04:44
m.ts10806

総合スコア80765

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

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

退会済みユーザー

退会済みユーザー

2018/11/07 04:41

ここに貼り付けてるコードが真っ赤なので、そこも指摘してあげてください。
m.ts10806

2018/11/07 04:42

確かに・・・。PHPのとこだけ見てました。
mofmofmof

2018/11/07 04:47

ありがとうございます!!とても助かりました! そのようなものがあるんですね、お薦めとかあれば教えてほしいです… あと、また違うエラーが出てきてしまいました…
mofmofmof

2018/11/07 04:48

どうやったら赤くなるの直せますか??ほんと何もわからなくて申し訳ないです…
m.ts10806

2018/11/07 04:53

> ↑action属性の属性値の開始の"が抜けています。 これを対応すれば良いです。 他のエラーがでることは回答でも指摘済みです。 エラーについてはまずは調べましょう。簡単な構文エラーです。 必ず解決策がでてきます。 構文エラーということは文法が間違っているということです。 基本的なところなのできちんと文法にそって書けているかを確認してください。
m.ts10806

2018/11/07 04:55

> そのようなものがあるんですね、お薦めとかあれば教えてほしいです… 有名どころでいえば、Eclipse。 有料でよければPHPStormはかなり優秀。 HTMLやJavaScriptでよく使われるBracketsはPHPも対応している様子。 他にもあるので調べて実際に使ってみてください。実際に使ってみないと自分に合っているかわかりません。
mofmofmof

2018/11/07 05:16

ありがとうございます、とても助かりました!eclipseは持っているので使ってみます!
m.ts10806

2018/11/07 05:44

解決されたようで何よりです。 構文エラーが実行前に解決できればロジックとか設計の部分に時間を割けるようになるので効率も良いですし品質も上がると思いますので、ぜひ、使いこなせるようになってください
guest

0

全く回答ではないです!
エディタは、VS code がオススメです。
Bracket Pair Colorizer
indent-rainbow
あたりを入れると、視認性が良くなります。

PHP Debug, phpcs あたりがしっかり使えるようになると、学習効率が良くなります。

なんか、久しぶりに素直な対応見て心が洗われたw

投稿2018/11/07 05:09

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

mofmofmof

2018/11/07 05:33

ありがとうございます、いろいろ試してみようと思います! なんか照れますね…(笑)
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問