Fill in only one field

0

I have 6 filters on a form ... Only one filter can be filled. I already tried using an XOR, use a flag, but not right:

// rgn20180711 TrixDes : inclusão de campos que permitem buscar o codigo pelo nome
if ($fp["Param.CodPadEdicao"]!="" xor $fp["Param.CodDominio"]!="" xor $fp["Param.Tabela"]!="" 
xor $fp["Param.CodFuncional"]!="" xor $fp["Param.CodCampo"]!="" xor (($fp["Param.NumLanIni"] =! "") && ($fp["Param.Tipo"] =! "")))
    MessImg("Apenas uma das informações devem ser preenchidas. Caso seja o código, o tipo é necessário!", MESSERRO, true);

if ($fp["Param.CodPadEdicao"]!="") //Padrão de Edição
{   
    $fp["Param.NumLanIni"] = $fp["Param.CodPadEdicao"]; 
    $fp["Param.Tipo"] = "P";
}
if ($fp["Param.Tabela"]!="")//tabela
{   
    $fp["Param.NumLanIni"] = $fp["Param.Tabela"];
    $fp["Param.Tipo"] = "A";
}
if ($fp["Param.CodCampo"]!="")//Campo de Tabela
{   
    $fp["Param.NumLanIni"] = $fp["Param.CodCampo"]; 
    $fp["Param.Tipo"] = "T";
}
if ($fp["Param.CodDominio"]!="") //Domínio
{   
    $fp["Param.NumLanIni"] = $fp["Param.CodDominio"]; 
    $fp["Param.Tipo"] = "D";
}
if ($fp["Param.CodFuncional"]!="")//Funcionalidade
{   
    $fp["Param.NumLanIni"] = $fp["Param.CodFuncional"]; 
    $fp["Param.Tipo"] = "F";
}

It only works fine if I do not use these two fields that need to be filled together:

(($fp["Param.NumLanIni"] =! "") && ($fp["Param.Tipo"] =! ""))

In case I would have to test if more than one field is filled I return an error saying that only one field can be filled. What am I doing wrong?

    
asked by anonymous 11.07.2018 / 20:28

0 answers