2011-06-29 257 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!寫入失敗)。我可以使用聲明,但只有在錯誤發生時纔會被調用。

任何想法如何做到這一點?

[更新] 感謝您的優秀回覆大家!我說大家都建議有條件的聲明

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

您可以包括一個三態切換是:

)做數據錄入和重新顯示清除形式;

)顯示錯誤並重新填充表單,以便用戶可以修復它;

)默認情況下沒有數據項,明確形式

使用後或會話變量來指定要採取的行動,默認爲不採取行動,如果變量未設置或不驗證。