Alertar o usuário sobre o que foi que aconteceu é sempre importante.
Senão acontece de o cara apertar em salvar e não saber se foi salvo ou se deu m... em algum local.
Acontece várias vezes de um mesmo arquivo de processamento receber dados de formulários diversos. Como fazer para devolver a resposta para a página que enviou? A resposta é o comando getenv('HTTP_REFERER').
Assim, normalmente eu faço o seguinte. A página de processamento ficará mais ou menos assim:
Se o getenv não funcionar como deveria utilize o $_SERVER['HTTP_REFERER'].
Senão acontece de o cara apertar em salvar e não saber se foi salvo ou se deu m... em algum local.
Acontece várias vezes de um mesmo arquivo de processamento receber dados de formulários diversos. Como fazer para devolver a resposta para a página que enviou? A resposta é o comando getenv('HTTP_REFERER').
Assim, normalmente eu faço o seguinte. A página de processamento ficará mais ou menos assim:
try{
// tenta salvar
$nObjeto = new NObjeto();
$nObjeto->salvar($_POST);
}
catch(Exception $e){
// se não deu certo devolve para a página que pediu para
// salvar com os erros passados via GET
header('Location: '.getenv('HTTP_REFERER').'&erro='.$e->getCode().'&mensagem='.$e->getMessage());
}
Se o getenv não funcionar como deveria utilize o $_SERVER['HTTP_REFERER'].
Comentários
Postar um comentário