2011-06-29 13 views
1

小さなデータ入力フォームを作成しています。データは、ユーザ&によってhtml形式で入力され、次にサーバ上のcsvファイルに入力されます。次のスニペットを考えてみてください。これは私が書いたものです。作業結果が印刷された場合の印刷方法 - はい、そうでない場合はエラー

if(!empty($_POST)) { 
    $handler = fopen('database.csv','a') or exit("Error: Unable to open file!"); 
    fputcsv($handler,$_POST); 
    fclose($handler);  
} 
?> 

かなり簡単です!

"ファンシーな"タスクは、エントリがデータベースに追加された(エントリが追加された)ことを確認するメッセージを表示し、次のエントリの準備が整ったフォームを消去します。または、エラーが発生した場合は、エラーメッセージを表示します(Doh!Write failed)。 またはステートメントを使用できますが、エラーが発生した場合にのみ呼び出されます。

これを行うにはどのように任意のアイデア?

[UPdate] すばらしい返信をいただきありがとうございます。誰もが

if(!empty($_POST)) { 
$handler = fopen('database.csv','a') or exit("Error: Unable to open file!"); 
if(fputcsv($handler,$_POST)) { 
    echo 'everything okay, add next record'; 
} 
else { 
     exit('Error: Record add failed. Try again or contact admin'); 
} 
fclose($handler); 

}

+2

確認したい機能の戻り値を確認してください。マニュアルには、すべての関数の戻り値がドキュメント化されているので、参考にすることができます。 – hakre

答えて

1
if(!empty($_POST)) { 
    $handler = fopen('database.csv','a'); 
    if ($handler === FALSE) { 
     exit("Error: Unable to open file!"); 
    } else { 
     fputcsv($handler,$_POST); 
     fclose($handler);  
     echo "everything A-ok"; 
    } 
} 
0

を示唆したように、私は条件文を追加しましたあなたは3ステートを含むことができることに切り替える:

)は、データ入力と再表示しクリアフォームを行います。

)はエラーを表示し、ユーザーが修正できるようにフォームを再入力します。

)なしのデータ入力にデフォルトでは、明確な形

変数が設定されていないか検証しない場合は、アクションにデフォルトでは、実行するアクションを指定するために、ポストまたはセッション変数を使用します。

関連する問題