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

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

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

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

HTML

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

Q&A

0回答

266閲覧

簡易掲示板の編集機能実装について

wryted_1217

総合スコア4

PHP

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

HTML

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

0グッド

0クリップ

投稿2018/08/28 13:10

編集2018/08/28 13:14

実現したいこと
・HTMLとPHPを用いた簡易掲示板で新規入力フォームと削除フォームを作成した。
・次に編集機能を実装させたい。(新規投稿と編集投稿が同じ入力フォームで行ってしまっているのが原因?)

現状できていること
・投稿に番号をつけてそれぞれの番号で削除・編集をできるようにしている。
・削除は機能するが、編集が番号指定してから編集はできるが、送信すると新規投稿になってしまい編集できていない。

PHP+HTML

1<!DOCTYPE html> 2<html lang="ja"> 3<head> 4<meta charset="UTF-8"> 5</head> 6<body> 7<?php 8ini_set('display_errors', "On"); 9date_default_timezone_set('Asia/Tokyo'); 10$comment=$_POST['comment']; 11$name=$_POST['name']; 12$delete=$_POST['delete']; 13$date=date("Y年m月d日 H時i分s秒"); 14$edit_flag=0; 15 if(!empty($_POST['name'])&&!empty($_POST['comment'])){ 16 $filename="kadai2-4.txt"; 17 $fp=fopen($filename,'a+'); 18 $num=count(file($filename)); 19 $num++; 20 fwrite($fp,$num."<>".$_POST['name']."<>".$_POST['comment']."<>".$date."\n"); 21 fclose($fp); 22} 23 if(!empty($_POST['edit_submit'])){ 24 if(!empty($_POST['edit'])){ 25 if(preg_match("/^[0-9]+$/", $_POST["edit"])){ 26 $filename="kadai2-4.txt"; 27 $edit_array=array(); 28 $edit_array=file($filename); 29 $index=0; 30 $edit_flag=0; 31 foreach($edit_array as $one){ 32 $data=explode("<>", $one); 33 if($data[0]===$_POST['edit']){ 34 $edit_flag=1; 35 $edit_before_name=$data[1]; 36 $edit_before_comment=$data[2]; 37 break; 38 } 39 $index++; 40 } 41} 42} 43} 44?> 45<form method="post"action="kadai2-4.php"> 46<!--名前入力フォーム--> 47 <p>名前: 48 <input type="text" name="name" placeholder="名前" value="<?=$edit_before_name?>"></p> 49<!--コメント入力フォーム--> 50 <p>コメント: 51 <input type="text" name="comment" placeholder="コメント" value="<?=$edit_before_comment?>"></p> 52<!--編集モード編集対象番号受け取り入力--> 53 <input type="text" name="hidden_edit_number" value="<?=$_POST["edit"]?>" > 54<!--送信ボタン--> 55 <input type="submit"name="submit_submit" value="送信"><br> 56<!--削除対象番号入力用textタイプ--> 57 <p>削除対象番号:<input type="text" name="delete" placeholder="削除番号"></p> 58<!--削除機能用送信submitタイプ--> 59 <p><input type="submit" name="delete_submit" value="削除" placeholder="削除対象番号"></p> 60<!--編集対象番号入力フォーム--> 61 <p>編集: 62 <input type="text" name="edit" placeholder="編集番号" ></p> 63<!--編集機能用送信用submitタイプ--> 64 <input type="submit" name="edit_submit" value="編集"><br> 65</form> 66<?php 67 if($_POST['delete_submit']){ 68 if(!empty($_POST['delete'])){ 69 echo gettype($_POST['delete'])."<br>"; 70 if(preg_match('/^[0-9]+$/',$delete)){ 71 $filename="kadai2-4.txt"; 72 $delete_array=array(); 73 $delete_array=file($filename); 74 $delete_array=file("kadai2-4.txt"); 75 $index=0; 76 foreach($delete_array as $one){ 77 $data=explode("<>",$one); 78 if($data[0]===$_POST['delete']){ 79 unset($delete_array[$index]); 80 break; 81 } 82 $index++; 83 } 84 $fp=fopen($filename,"w"); 85 foreach($delete_array as $one_data){ 86 fwrite($fp,$one_data); 87 } 88 fclose($fp); 89} 90} 91} 92 if($_POST['submit_submit']){ 93 if($edit_flag==1){ 94 if(!empty($_POST['name'])&&!empty($_POST['comment'])){ 95 $edit_array=array(); 96 $edit_array=file("kadai2-4.txt"); 97 unset($edit_array[$_POST['hidden_edit_number']]); 98 array_splice($edit_array, $_POST['hidden_edit_number'], 0, $num."<>".$_POST['name']."<>".$_POST['comment']."<>".$date."\n"); 99 $fp=fopen($filename,"w"); 100 foreach($edit_array as $one_data){ 101 fwrite($fp, $one_data); 102 fclose($fp); 103 } 104} 105} 106} 107 $read_array=array(); 108 $read_array=file($filename); 109 foreach($input_array as $value){ 110 $str_2=explode("<>",$value); 111 echo $str_2[0]." "; 112 echo $str_2[1]." "; 113 echo $str_2[2]." "; 114 echo $str_2[3]." "."<br>"; 115 $str=explode("<>",$value); 116} 117?> 118</body> 119</html>

すみませんが、どこをどうすれば編集できるようになりますか? 教えてください。

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

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

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

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

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

m.ts10806

2018/08/28 13:50

teratailでは同様にkadaiXXXとついたPHPでテキストにデータを保存する掲示板機能の質問は多数上がっています。そのどれも参考になりませんでしたか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問