入力フォームで入力された情報を確認ページで表示させたあと
修正ボタンを押されたら最初に入力した内容を引き継いだフォームを表示したいのですが、修正ボタンを押すと全て消えてしまいます。
下のコードの何が悪いでしょうか?
$_POSTから引き継いで表示はできています
これで同じようにしているつもりなのですが、なぜ、修正画面でフォームに内容が代入されないのか、理由が理解できません。
是非対処方法をご教授ください。
##コード後半のmodify関数と、show_view関数のどちらに問題があるのでしょうか
#!/usr/local/bin/php <?php mb_internal_encoding("utf-8"); if($_POST["confirm"]) show_view(); if($_POST["modify"]) modify(); if($_POST["post"]) post(); print <<<output <!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0"> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <meta name="description" content="困りごと悩み事があるなら「登録不要」「完全無料」で今すぐLINEと電話で相談できます。当機構は知識や経験、経済的な差の違いで生活の質の実現を諦めないようにお手伝いしています。"> <title>投稿画面</title> </head> <body style="background-color:#FFFFCC;"> <h1>トピックスの投稿</h1> <form method="post" action="{$_SERVER['SCRIPT_NAME']}"> <label>投稿者名<input type="text" name="name" maxlength="5"></label><br> <label>内容<br> <textarea name="detail" rows="5" colums="20" maxlength="200" placefolder="内容を記述してください。開業もそのまま表示されます."></textarea></label> <input type="submit" name="confirm" value="確認画面へ"><br> </form> </body> </html> output; exit(); function show_view(){ $detail=nl2br($_POST["detail"]); $time=time(); $date=date("Y/m/d H:i:s",$time); print <<<output <!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0"> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <meta name="description" content="困りごと悩み事があるなら「登録不要」「完全無料」で今すぐLINEと電話で相談できます。当機構は知識や経験、経済的な差の違いで生活の質の実現を諦めないようにお手伝いしています。"> <title>投稿確認画面</title> </head> <body style="background-color:#FFFFCC;"> <h1>トピックスの投稿</h1> <p>入力内容を確認して、ボタンを押してください。</p> <form method="post" action="{$_SERVER['SCRIPT_NAME']}"> <input type="hidden" name="name" value="{$_POST['name']}"> <input type="hidden" name="detail" value="{$_POST['dtail']}"> <input type="submit" name="modify" value="修正">/<input type="submit" name="post" value="投稿する"> </form> <p>{$detail}<br> {$date} 投稿者:{$_POST["name"]}</p> </body> </html> output; exit(); } function modify(){ print <<<output <!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0"> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <meta name="description" content="困りごと悩み事があるなら「登録不要」「完全無料」で今すぐLINEと電話で相談できます。当機構は知識や経験、経済的な差の違いで生活の質の実現を諦めないようにお手伝いしています。"> <title>投稿画面</title> </head> <body style="background-color:#FFFFCC;"> <h1>トピックスの投稿</h1> <form method="post" action="{$_SERVER['SCRIPT_NAME']}"> <label>投稿者名<input type="text" name="name" maxlength="5" value="{$_POST['name']}"></label><br> <label>内容<br> <textarea name="detail" rows="5" colums="20" maxlength="200" placefolder="内容を記述してください。開業もそのまま表示されます。">{$_POST['detail']}</textarea></label> <input type="submit">確認画面へ<br> </form> </body> </html> output; }
よろしくお願いいたします
何卒修正コードも添えていただけると助かります。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2023/08/10 02:12
2023/08/10 02:17
2023/08/10 02:54
2023/08/10 21:04