PHP を使用して、html ページからのユーザー入力を .txt ファイルに保存し、そのユーザー入力を同じページに出力したいと考えています。
ただし、.txt ファイルまたはページ div には何も表示されません。
追加:新しいメッセージをそれぞれ新しい div に表示したいのですが、これは多少異なる質問であることは知っていますが、関連している可能性があると考えました。
これが機能しない理由についてのアイデアはありますか?
HTML:
フォーム自体:
<textarea name="msg" rows="5"></textarea>
<form id="post" name="post" action="storeText.php" method="post">
<input class="button" type="submit" value="POST!"/>
</form>
同じhtmlページに出力したい場所:
<div class="menuItem" >
<?=$msg?>
</div>
PHP:
storeText.php
<?php
$filename = 'posts.txt';
$msg = (isset($_POST['msg']) ? $_POST['msg'] : null);
// Let's make sure the file exists and is writable first.
if (is_writable($filename)) {
// In our example we're opening $filename in append mode.
// The file pointer is at the bottom of the file hence
// that's where $somecontent will go when we fwrite() it.
if (!$handle = fopen($filename, 'a')) {
echo "Cannot open file ($filename)";
exit;
}
// Write $somecontent to our opened file.
if (fwrite($handle, $msg) === FALSE) {
echo "Cannot write to file ($filename)";
exit;
}
echo "Success, wrote ($msg) to file ($filename)";
fclose($handle);
} else {
echo "The file $filename is not writable";
}
?>