2016-11-13 14 views
0

私はフォーム提出の結果を電子メールで送信するために次のコードを使用しています。私はデータベースなしで走っているので、何か別の記録が必要です。PHP:電子メールに加えてフォームデータをテキストファイルに書き込む?

<?php 
    $to = "[email protected]"; 
    $from = $_REQUEST['email']; 
    $name = $_REQUEST['name']; 
    $headers = "From: $from"; 
    $subject = "New Message"; 
    $fields = array(); 
    $fields{"first_name"} = "first_name"; 
    $fields{"last_name"} = "last_name"; 
    $fields{"email"} = "email"; 
    $fields{"phone"} = "phone"; 
    $fields{"hospital"} = "hospital"; 
    $fields{"title"} = "title"; 
    $body = "Here is what was sent:\n\n"; 
    foreach($fields as $a => $b){ 
     $body .= sprintf("%20s: %s\n",$b,$_REQUEST[$a]); 
    } 
    $send = mail($to, $subject, $body, $headers); 
?> 

電子メールに加えて結果をテキストファイルに保存するにはどうすればよいですか?私はテキストを行う方法についての例を見てきましたが、電子メールに加えてそうではありません。

+1

、あなたのメールコードの下に追加するだけです。 –

+0

私はコード全体を書き換えるよりも効率的な方法があると期待していました。 – Sam

+0

書き換えなくても、メールの下のファイルコードに書き込みを追加するだけです。わずか数行以上はかかりません。 –

答えて

0

ファイルの機能を確認する必要があります:

アンあなたは何ができるかの例:より多くの例を参照してください

//Email code here... 

if(!$file = fopen('records.txt', 'a+')) { 
    echo 'Could not write to file.'; 
    exit; 
} 

$content = "Email sent on: " . time() . PHP_EOL . "***" . PHP_EOL . $body . PHP_EOL . "***" . PHP_EOL; 

if(fwrite($file, $content) === false) { 
    echo 'Could not write to file.'; 
    exit; 
} 

fclose($file); 

$filePath = 'records.txt'; 
file_put_contents($filePath, "\nYour text here...", FILE_APPEND); 
+0

ありがとうございました。これらのリンクはフランス語です。 コードを実装しようとしましたが、ファイルに書き込みますが、内容は含まれていません。私は変数を "\ nここのテキスト..."に入れますか? – Sam

+0

おっと、私の悪い:)リンクを更新しました – Max

+0

ファイルに保存する内容に応じて、必要な変数を含む文字列を作成して関数に渡す必要があります – Max

0

はこのようなものであるべきテキストファイルに書き込む方法についての例を見ている場合http://php.net/fwrite

関連する問題