Usuário que criou ou alterou o registro

Olá, possuo um formulário de cadastro que contém os campos usuário e data/hora que criou o registro e usuário e data/hora que alterou o registro.
Gostaria de saber qual a forma correta de se popular esses campos ao gravar e ao alterar, esses campos não aparecem no formulário.
Se alguém tiver um código de exemplo agradeço.

Obrigado.

Trigger.

Mas trigger seria na base de dados.
Eu quero guardar o usuário logado que está cadastrando ou alterando.

Eu faço isso com trigger.

Se quiser fazer no próprio form, pode usar dois campos ocultos e colocar o conteúdo da seguinte forma:

{usuario_criador} = [usr_login];
{data_criacao} = data do sistema; (configura no campo o valor inicial)

O mesmo para quem alterar.

Mas a melhor opção é usar Trigger no banco para isso, como o Haroldo indicou.

Muito obrigado.

Eu já tenho o esquema via trigger, queria mesmo saber como fazer no form pois tem momentos que é melhor.
Duvida esclarecida.

Pode as vezes ser mais fácil criar a implementação no form, mas melhor? Nunca. Diretamente no banco sempre é melhor.

O PHP e o banco podem até estar na mesma máquina física, mas são serviços diferentes.
Quando o php se conecta com o banco tem que se criar uma conexão (um canal) o que consome memória e mais processamento.
Quando a instrução vem do próprio banco, não há conexão.

Haroldo, considere que sou novato hein!

No meu caso eu fiz uma função, de uma lib interna, ela retorna o usuário do sistema, data em formato D M A e H M S e o IP, ficou rápida e bem funcional.

function GetLogInsert(){
RETURN([usr_login].’ ‘.DATE(‘d-m-Y H:i:s’).’ '.getenv(“REMOTE_ADDR”));
}

PS, conceitualmente não sei lhe falar se é o ideal. TB sou novato.

Abraços.

Claudney