2017-07-15 8 views
0

アイブ氏が働いて停止します。

<?php 
    $var = $_POST['formdesiredpost']; 
    file_put_contents("data.txt", $var . "\n", FILE_APPEND); 
    header("Location: https://randomwebsiteredirect.com"); 
    exit(); 
?> 

フォーム(textarea)から目的の値をtxtファイルdata.txtに送信すると仮定します。 しかし問題はそれが無作為に働くことです。場合によっては動作し、ときどきテキストなしでdata.txtファイルに新しい行を作成することもあります。 シークレットモード(Google Chrome)を使用するとクッキー問題になる可能性があると思っていましたが、それは精度が高いですが、何度か失敗してdata.txtファイルにempyte行が作成される

そして、すべての内容をdata.txtファイルに削除してから、もう一度フォームを送信しようとします。それは再び働き始める。しかし、2〜4回だけ送信すると投稿が中止され、誰かが投稿するたびにdata.txtファイルに新しい空行が作成されます。

+0

は '追加空のファイルを作成し、あなたのポストデータ毎回first.Because(!空($ _ POST [ 'formdesiredpost'])){ますfile_put_contents( "data.txtを" 、$ var。 "\ n"、FILE_APPEND); ヘッダー(「場所:https://randomwebsiteredirect.com」)。 exit();} ' – urfusion

答えて

1

$_POST['formdesiredpost']のデータが空であっても、すべての条件でコードが実行されます。だから$_POST['formdesiredpost']空のコードがファイルに空の新しい行を作成するとき。

新しい行の空行を追加したくない場合は、まず空白を確認する必要があります。

if(!empty($_POST['formdesiredpost'])){ 
    $var = $_POST['formdesiredpost']; 
    file_put_contents("dat‌​a.txt", $var . "\n", FILE_APPEND); 
    header("Location: https://randomwebsiteredirect.com"); 
    exit(); 
} 
+0

私はそれが動作することに気づいたが、短いimputs(10-25)文字のみに気づいた。約70文字以上の入力を書くと、welcome.phpにリダイレクトされてしまいます。結局何もしない。どんな手掛かり? – romanturbo

+0

ifにfile_put_contentを追加してみてください – urfusion

0

空のチェックがあれば

$var = $_POST['formdesiredpost']; 
    if(!empty($var)) 
     file_put_contents("dat‌​a.txt", $var . "\n", FILE_APPEND); 
     header("Location: https://randomwebsiteredirect.com"); 
     exit(); 
    } 
関連する問題