2016-12-26 12 views
0

ウェブサイトの場合、ユーザーはタイトルを入力してフォームに投稿し、送信ボタンを押して入力する必要があります。送信ボタンを押すと、フォーム内のデータが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ファイルの内容を取得しようとすると、私はそうすることができません。これは私に別の問題を引き起こしているだけで、何か役に立つものであれば言及したかっただけです。

答えて

0

私はあなたの書き込みファイルのため

file_put_contents($file, $person, FILE_APPEND); 

を試してみる必要があると思います。

第1引数はファイルの名前&になります。

第2引数は、文字列形式のデータです。

既存のファイルにコンテンツを追加する場合は、3番目の引数はFILE_APPENDになります。

3番目の引数を使用しない場合は、常にファイルの内容が置き換えられます。

Source

+0

前述のように、テキストエリアにデータがある場合にのみ、コンテンツの置換が必要です。私はそれを追加したくありません。 – 4u53r

+0

私は試してみましたが、これは違いはありませんでした。 – 4u53r

0

あなたのhtmlで行方不明><textarea type="text" name="postInput"後にあります。 これを入れてみてください。

+0

これは、実際のスクリプトではなく、コードをコピーして貼り付けたときのことでした。] – 4u53r

関連する問題