Как распечатать результат функции, если работал print - да, иначе ERROR - PullRequest
1 голос
/ 30 июня 2011

Я пишу небольшую форму ввода данных. Данные вводятся пользователем в виде html, а затем в файл csv на сервере. Рассмотрим следующий фрагмент, который я написал, чтобы сделать это

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

Довольно просто!

Единственная «причудливая» задача - показать сообщение, подтверждающее, что запись была добавлена ​​в базу данных (запись добавлена), очистив форму, готовую для следующей записи. Или в случае ошибки, отобразить сообщение об ошибке (Doh! Запись не удалась) Я могу использовать оператор 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);   

}

Ответы [ 2 ]

1 голос
/ 30 июня 2011
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 голосов
/ 30 июня 2011

Можно включить переключатель из 3 состояний, который:

) выполняет ввод данных и повторно отображает очищенную форму;

) отображает ошибку и повторно заполняет форму, чтобы пользователь могисправить это;

) по умолчанию нет ввода данных, очистить форму

Используйте переменную post или session, чтобы указать действие, которое нужно выполнить, по умолчанию нет действия, если переменная не установлена ​​или не установленапроверки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...