【问题标题】:How to print function result, if worked print -- yes, else ERROR如何打印函数结果,如果工作打印 - 是的,否则 ERROR
【发布时间】:2011-06-29 20:53:56
【问题描述】:

我正在编写一个小型数据输入表单。数据由用户以 html 形式输入,然后输入到服务器上的 csv 文件中。考虑以下 sn-p,我写的就是这样做

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

很简单!

唯一的“花哨”任务是显示一条消息以确认条目已添加到数据库(已添加条目),清除表单以准备下一个条目。或者如果出现错误,显示错误消息(Doh!Write failed )。我可以使用 OR 语句,但只有在出现错误时才会调用它。

知道怎么做吗?

[更新] 感谢大家的精彩回复!我按照大家的建议添加了条件语句

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);   

}

【问题讨论】:

  • 检查要验证成功的函数的返回值。该手册记录了所有函数的返回值,因此会有所帮助。

标签: php file csv error-handling


【解决方案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";
   }
}

【讨论】:

    【解决方案2】:

    您可以包含一个三态开关:

    ) 进行数据输入并重新显示已清除的表单;

    ) 显示错误并重新填充表单以便用户修复它;

    ) 默认不输入数据,清除表单

    使用 post 或 session 变量来指定要执行的操作,如果变量未设置或未验证,则默认为无操作。

    【讨论】:

      猜你喜欢
      • 2022-11-18
      • 2016-11-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-26
      相关资源
      最近更新 更多