Tenho certeza que você já quis fazer um formulario assim... um simples exemplo é os famosos botões "salvar" e "salvar e continuar editando" e antes que vá me jugar esta solução NÃO usa uma gambiarra em java script
Para conseguir a mágica você ira precisar de uma função do pacote JF a função jf_form_actions, caso você não esteja utilizando segue ai a função:
function jf_form_actions(){
/*
Para usar
switch (jf_form_actions('arg1', 'arg2', ..., 'argN')){
case 'arg1':
break;
case 'arg2':
break;
...
case 'argN':
break
}
*/
$params = func_get_args();
foreach ($params as $name) {
if (isset($_POST[$name])) {
unset($_POST[$name]);
return $name;
}
}
}
Para usar sussa (giria de São Paulo para algo fácil, tranquilo de se fazer), o seu formulario ficará assim (fazendo o exemplo dos botões salvar que citei acima):
<form method="submit" action="pagina_de_retorno.php">
<fieldset>
<div>
<label>Nome</label>
<input type="text" name="nome" />
</div>
</fieldset>
<button type="submit" name="salvar" title="Salva e volta para lsitagem de produtos">Salvar</button>
<button type="submit" name="salvar-editar" title="Salva e continua nesta mesma tela">Salvar e continuar editando</button>
</form>
e a página de retorno fica assim:
<?php
$retorno = jf_form_actions('salvar', 'salvar-editar');
switch ($retorno){
case 'salvar': //caso só salve
/************* Faz o que tiver que fazer *************/
break;
case 'salvar-editar': //case salve e volte para editar
/************* Faz o que tiver que fazer *************/
break;
}
?>
Explicando
Na função jf_form_actions() você coloca o "name" dos botões (submit), a variável $retorno vai armazenar o name do qual foi clicado, trocando em miudos se clicar em salvar ele retornar salvar...
Dai é só usar um switch() (eu prefiro) ou qualquer coisa que gerencie esse retorno
bom é isso ai, bem afudê (giria do Rio Grande do sul para algo bacana, legal...) né