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

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

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

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

PHP

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

Q&A

解決済

1回答

3674閲覧

php 掲示板 編集機能

huku

総合スコア18

CSS3

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

PHP

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

0グッド

0クリップ

投稿2019/12/08 08:17

編集2019/12/09 03:06

phpで掲示板を制作しています。
投稿、消去のフォームは完成したのですが、編集フォームだけいくらやってもできません。
mysqlは使わず、receive.txtという名前の別テキストシートでデータは保存しています。
ベイグラントの仮想サーバーで動かしています。
やりたいことは、名前、コメントの編集機能の追加です。
編集というボタンを押したときに、編集番号、名前、コメントのどれか一つでも入力していないと入力してくださいと表示させ、すべて入力していた場合、書き換え処理を行い、編集に成功しましたという文字を表示したいです。
しかし、編集というボタンを押しても全く何も反応しない状況です。
投稿機能ではうまく動作しており、編集機能のコードを何度見直しても何が間違っているか全くわからず、行き詰っている状況です。
編集の部分のどこが間違っているのでしょうか?
ソースコードはこちらです。

php

1<?php 2 3 4 5$file="receive.txt"; 6if (file_exists($file)) { 7 $count = count(file($file))+1; 8} else { 9 $count = 1; 10 } 11$err_msg1 = ""; 12$err_msg2 = ""; 13$message =""; 14$edfile = file('receive.txt'); 15$name=( isset( $_POST["name"] ) === true ) ?$_POST["name"]: ""; 16$text=( isset( $_POST["text"] ) === true ) ?$_POST["text"]: ""; 17$data=($count."<>".$name."<>".$text."<>" .date('H:i:s'). "\n"); 18 19 20if ( isset($_POST["posting"] ) === true ) { 21 22 if ( $name === "" ) $err_msg1 = "名前を入力してください"; 23 24 if ( $text === "" ) $err_msg2 = "コメントを入力してください"; 25 26 if( $err_msg1 === "" && $err_msg2 ===""){ 27 $fp = fopen( "receive.txt" ,"a" ); 28 fwrite( $fp , $data); 29 $message ="投稿に成功しました。"; 30 } 31 } 32 33 34 35 36 37// 消去フォーム 38if (isset($_POST['delete'])) { 39 $delete = $_POST["delete"]; 40 $delfile = file('receive.txt'); 41 42 $fp = fopen("receive.txt", "w"); 43 for ($i = 0; $i < count($delfile); $i++) { 44 $deldate = explode("<>", $delfile[$i]); 45 if ($deldate[0] !== $delete) { 46 fwrite($fp, $delfile[$i]); 47 } else { 48 fwrite($fp, "消去しました。\n"); 49 } 50 } 51 fclose($fp); 52} 53 54// 編集フォーム 55 56$err_msg3 = ""; 57$err_msg4 = ""; 58$err_msg5 = ""; 59$message2 =""; 60$edfile = file('receive.txt'); 61$renum=( isset( $_POST["renum"] ) === true ) ?$_POST["renum"]: ""; 62$rename=( isset( $_POST["rename"] ) === true ) ?$_POST["rename"]: ""; 63$retext=( isset( $_POST["retext"] ) === true ) ?$_POST["retext"]: ""; 64$redata=($count."<>".$rename."<>".$retext."<>" .date('H:i:s'). "\n"); 65 66 67if ( isset($_POST["edit"] ) === true ) { 68 if ( $renum === "" ) $err_msg3 = "番号を入力してください"; 69 70 if ( $rename === "" ) $err_msg4 = "名前を入力してください"; 71 72 if ( $retext === "" ) $err_msg5 = "コメントを入力してください"; 73 74 if( $err_msg3 === "" && $err_msg4 ==="" && $err_msg5 ===""){ 75 $fp = fopen("receive.txt", "w"); 76 for ($i = 0; $i < count($edfile); $i++) { 77 $editraw = explode("<>", $edfile[$i]); 78 if ($editraw[0] === $renum) { 79 fwrite($fp, $redata); 80 $message2 ="編集に成功しました。"; 81 } 82 } 83 } 84 } 85 86 87 88 89?> 90

html

1<!DOCTYPE html> 2<html lang="ja"> 3<head> 4<meta charset="UTF-8"> 5<title>掲示板</title> 6 <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> 7 <link rel="stylesheet" href="./styles.css" type="text/css"> 8</head> 9<body> 10<h1>掲示板</h1> 11<section> 12 <h2>新規投稿</h2> 13 <form action="index.php" method="post"> 14  名前 : <input type="text" name="name" > <?php echo $err_msg1; ?><br> 15 コメント: <input type="text" name="text" > <?php echo $err_msg2; ?><br> 16 <input type="submit" value="投稿" name="posting"><br> 17 <?php echo $message; ?> 18 </form> 19 20 <h2>投稿編集</h2> 21 <form action="index.php" method="post"> 22 編集番号 <input type="number" name="renum"> <?php echo $err_msg3; ?><br> 23   名前: <input type="text" name="rename" ><?php echo $err_msg4; ?><br> 24 コメント: <input type="text" name="retext" > <?php echo $err_msg5; ?><br> 25 <input type="submit" value="編集" neme="edit"><br> 26 <?php echo $message2; ?> 27 </form> 28 29 <h2>消去</h2> 30 <form action="index.php" method="post"> 31     消去番号 <input type="number" name="delete"> 32 <input type="submit" value="消去">   33 </form> 34</section> 35<section> 36 <h2>投稿一覧</h2> 37</section> 38<?php 39// 読み込むファイル名の指定 40$file_name = "receive.txt"; 41// ファイルを全て配列に入れる 42$ret_array = file( $file_name ); 43 44// 取得したファイルデータ(配列)を全て表示する 45for( $i = 0; $i < count($ret_array); ++$i ) { 46// // 配列を順番に表示する 47 echo ( $ret_array[$i] . "<br />\n" ); 48} 49 ?> 50</body> 51</html>

よろしくお願いします。

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

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

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

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

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

m.ts10806

2019/12/08 10:31

コードはマークダウンのcode機能を利用してご提示ください。 また「うまくいきません」は誰にも何も伝えない表現ですので、起きている現象を具体的に記載してください。 また、デバッグしましょう。 これだけだと質問ではなくデバッグ依頼になってます。そもそもエラーを出力する設定になってますか?
退会済みユーザー

退会済みユーザー

2019/12/09 03:26

phpとhtmlは別ファイルですか? 分けて掲載していると、別ファイルなのかなって思ってしまいますが、htmlの方にphpコードが紛れ込んでいるため、じゃぁ同一ファイルに収まるのかなと。第三者が同じ状況を再現することを考えて丁寧に説明していただきたく。
guest

回答1

0

ベストアンサー

<input type="submit" value="編集" neme="edit">

neme?

投稿2019/12/09 03:31

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

huku

2019/12/09 13:32 編集

ありがとうございます! nameを直したら詰まっていたところからンぬけ出せました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問