ウェブサイトの場合、ユーザーはタイトルを入力してフォームに投稿し、送信ボタンを押して入力する必要があります。送信ボタンを押すと、フォーム内のデータがWebページと同じフォルダにある割り当てられたテキストファイルに書き込まれます。執筆はうまくいきますが、以下に示すように、ユーザーが2つのフィールドのいずれか(またはどちらのフィールドも)を入力せずにサブミットボタンをクリックすると、入力を促すようにしましたテキストとファイルの書き込みは行われません。フォーム送信時にテキストファイルのデータが消去される
私の問題は、送信がクリックされ、フィールドが入力されないと、実際には.txtファイルに影響し、空白になります。フォーム内の両方のテキストエリアに上書きされるデータが含まれていない限り、ファイルに「古い」テキストを保持します。たとえば、両方の.txtファイルにテキストが含まれていて、フォームにテキストがない状態でsubmitをクリックすると、2つの.txtファイルは、テキストを持たないように上書きされるのではなく、 。
は、ここでのHTMLやPHP:
<form action="AdminBlog.php" method="post">
Blog Title:<textarea type="text" name="titleInput"></textarea><br><br>
Blog Post:<textarea type="text" name="postInput"></textarea><br><br><br>
<input type="submit" value="Submit"/>
</form>
<?php
$titleFile = fopen("Title.txt","w");
$blogTitle = null;
$postFile = fopen("Post.txt","w");
$blogPost = null;
if(!empty($_POST['titleInput']) && !empty($_POST['postInput'])) {
$blogTitle = $_POST['titleInput'];
fwrite($titleFile,$blogTitle);
fclose($titleFile);
$blogPost = $_POST['postInput'];
fwrite($postFile,$blogPost);
fclose($postFile);
}
if (empty($_POST['postInput']) || empty($_POST['titleInput'])) {
echo "Please enter a title and post.";
}
?>
最後の文は、ELSEIFするか、他の違いを確認していないようでした場合は、その変更します。エコーは出力されるべきときに出力されますが、.txtファイルはデータなしで上書きされます(テキストエリアが空白で、ユーザが送信をクリックすると)。
EDIT:何かを追加したかっただけです。私はこれが関連しているかどうかはわかりませんが、ファイルにテキストがあるかどうかにかかわらず、別の.phpファイルからテキストを読み取ることができません。私はこの同じものからすることができますが、別の.phpページで.txtファイルの内容を取得しようとすると、私はそうすることができません。これは私に別の問題を引き起こしているだけで、何か役に立つものであれば言及したかっただけです。
前述のように、テキストエリアにデータがある場合にのみ、コンテンツの置換が必要です。私はそれを追加したくありません。 – 4u53r
私は試してみましたが、これは違いはありませんでした。 – 4u53r