2016-04-17 20 views
-2

フォームからデータを取得し、PHP経由でCSVファイルに保存するのに少し苦労しています。このコードは機能していないので、問題を解決する方法が不足しています。 CSVファイルに保存する方法に問題はありますか?私はあなたの助けに感謝します。PHPを使用してHTMLフォームのデータを.CSVファイルに保存

コードはこのように動作するはずです。ユーザーがHTMLフォームにデータを入力したいと思っています。それから、AJAXとPHPを使って、それをcsvファイルに保存したいと思います。保存は機能しません - ファイルは空のままです。

<!DOCTYPE html> 
    <html> 
    <body> 

<h2>AJAX</h2> 
<script> 
<?php 
if(isset($_POST['submit'])){ 

    //collect form data 
    $name = $_POST['name']; 
    $email = $_POST['email']; 

    //check name is set 
    if($name ==''){ 
     $error[] = 'Name is required'; 
    } 

    //check for a valid email address 
    if(!filter_var($email, FILTER_VALIDATE_EMAIL)){ 
     $error[] = 'Please enter a valid email address'; 
    } 

    //if no errors carry on 
    if(!isset($error)){ 

     # Title of the CSV 
     $Content = "Name, Email\n"; 

     //set the data of the CSV 
     $Content .= "$name, $email\n"; 

     # set the file name and create CSV file 
     $FileName = "sth.txt"//"formdata-".date("d-m-y-h:i:s").".csv"; 
     // header('Content-Type: application/csv'); 
     // header('Content-Disposition: attachment; filename="' . $FileName . '"'); 
     echo $Content; 
     exit(); 
    } 
} 

//if their are errors display them 
if(isset($error)){ 
    foreach($error as $error){ 
     echo "<p style='color:#ff0000'>$error</p>"; 
    } 
} 
?> 
</script> 
<form action='' method='post'> 
<p><label>Name</label><br><input type='text' name='name' value=''></p> 
<p><label>Email</label><br><input type='text' name='email' value=''></p> 
<p><input type='submit' name='submit' value='Submit'></p> 
</form> 

</body> 
</html> 
+1

あなたはそれによって何を意味するかが動作していませんか?何かエラーがありますか? – Erick

+0

この '$ FileName =" sth.txt "//" formdata - "。date(" dmyh:i:s ")。"。csv ";'はあなたに構文エラーを投げているはずです。 PHPがスクリプトタグ内にラップしています。さらに、あなたは何も書いていません。 –

+0

.csvファイルに保存する実際のコードはどこですか? – Dadani

答えて

1

あなたは;文字

変更コメントしました:あなたはファイルにデータを保存する場所も、私は表示されません

$FileName = "sth.txt";//"formdata-".date("d-m-y-h:i:s").".csv"; 

:へ

$FileName = "sth.txt"//"formdata-".date("d-m-y-h:i:s").".csv"; 

を。

したがって、この例を使用します。

$FileName = "sth.txt"; 
file_put_contents($FileName, $Content); 
+0

私はhttp://wklej.org/id/2304785/にコードを変更しましたが、残念ながら私が書いたデータはまだsth.txtファイルに保存されていません。他のアイデア? – ninigi

関連する問題