Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Ae galera,
Mais uma vez eu aqui. Como já disse, sou iniciante em POO. Portanto, estou com um problema numa classe de validação que eu desenvolvi. Vejam:
class GMClass {
//--------------------
// Mensagens de erro
//--------------------
var $campo_nome;
var $valor;
var $msgerror = array();
// Mensagens de erro
function alertas($num, $campo_nome, $max, $min) {
$this->msgerror[0] = "O campo <u><i>".$campo_nome."</i></u> deve ser preenchido!"; // Campo em Branco
$this->msgerror[1] = "O campo <b>".$campo_nome."</b> deve ser uma URL válida (com <i>http://</i> e <i>www</i>)!"; // Campo URL
$this->msgerror[2] = "O arquivo enviado pelo campo <b>".$campo_nome."</b> não é uma imagem válida!"; // Campo Imagem
$this->msgerror[3] = "Ao menos um ".$campo_nome." deve ser selecionado"; // Campo Checkbox M
$this->msgerror[4] = "Ao menos uma ".$campo_nome." deve ser selecionada"; // Campo Checkbox F
return $this->msgerror[$num];
}
//-------------------
// Funções de validação
//-------------------
private $campo_name;
function ValidaBranco($campo, $campo_name) {
if(empty($campo) || $campo == "") {
return $this->alertas("0",$campo_name,"0","0");
}
}
function ValidaUrl($campo, $campo_name) {
if (!preg_match('|^http(s)?://[a-z0-9-]+(\.[a-z0-9-]+)*(:[0-9]+)?(/.*)?$|i', $campo)) {
return $this->alertas(1, $campo_name, null, null);
}
}
function ValidaCheck($campo, $campo_name, $---) {
if(empty($campo)) {
if($--- == "m") { return $this->alertas(3,$campo_name, null, null);}
elseif($--- == "f") { return $this->alertas(4,$campo_name, null, null);}
}
}
function ValidaImg($campo, $campo_name, $obg) {
$ext_v = array("jpg", "jpeg", "gif", "png", "jpe");
$infopath = pathinfo($campo);
$this->ext = strtolower($infopath["extension"]);
if($obg == "1") {
if(empty($campo) && !in_array($this->ext, $ext_v)) {
return $this->alertas(2, $campo_name, null, null);
}
}
else {
if(!empty($campo) && !in_array($this->ext, $ext_v)) {
return $this->alertas(2, $campo_name, null, null);
}
}
}
function VerValidacoes() {
if(sizeof($this->msgerror) == 0) {
return true;
}
else {
return false;
}
}
}<form action="<?php $PHP_SELF; ?>" method="post" name="cad_grupo">
<hr size="1" style="margin-top: 80px; margin-bottom: 20px; color: #C0C0C0;" />
<h2 style="margin-bottom: 25px;">Cadastrar Novo Grupo</h2>
<?php
include "../gmclass.php";
include "../global.php";
if(isset($_POST["exec_cad"])) {
$nome = $_POST["nGrupo"];
echo "<div class='warning'>";
echo $gmclass->ValidaBranco($nome, "Nome");
echo "</div>";
if($gmclass->VerValidacoes()) {
$nivel = $_POST["pGrupo"];
$qmadd = $_POST["quem_add"];
$qndadd = $_POST["quando_add"];
mysql_query("INSERT INTO gm_acp_grupos(idGrupo, nGrupo, pGrupo, quem_add, quando_add) VALUES('', '$nome', '$nivel', '$qmadd', '$qndadd')") or die(mysql_error());
}
}
$tabela1 = '
<table width="600" border="0" cellspacing="0" cellpadding="5">
<tr>
<td width="350"><b>Nome</b>:[info]Informe o nome do grupo[/info]</td>
<td width="250"><input type="text" name="nGrupo" class="input_cad" /></td>
</tr>
<tr>
<td><b>Nível de Permissão</b>:[info]Selecione o nível de permissão que este grupo possuirá[/info]</td>
<td>
<select name="pGrupo">
<option value="1">Nível 1 - Apenas cadastrar dados</option>
<option value="2">Nível 2 - Cadastrar dados e editar/deletar os de sua autoria</option>
<option value="3">Nível 3 - Cadastrar e editar dados(além de poder deletar os de sua autoria)</option>
<option value="4">Nível 4 - Acesso Geral</option>
</select>
</td>
</tr>
<tr>
<td> </td>
<td>[info]Apenas poderão cadastrar, editar e deletar usuários e configurações membros com <b>Nível 4</b> de permissão[/info]</td>
</tr>
</table>
<input type="hidden" value="'.$row["nome"].'" name="quem_add" />
<input type="hidden" value="'.$data_atual.'" name="quando_add" />
';
$tabela2 = str_replace($array_bbc1, $array_bbc1_r, $tabela1);
echo $tabela2;
$gmclass->AddButton('cadastrar', '<b>(campos obrigatórios)</b>')
?>
</form>
O problema é que eu tenho que clicar duas vezes para cadastrar um grupo, sendo que se eu retiro do if da VerValidacoes(), assim que que clico em "cadastrar", o grupo é cadastrado.
O que eu fiz de errado ae?
Abraços
Carregando comentários...