Quantcast
Channel: Últimos conteúdos
Viewing all articles
Browse latest Browse all 14190

erro ao pegar id aleatorio dentro de IF

$
0
0

Boa tarde Galera do bem  , 

 

 

Tenho o seguinte código em uma pagina de cadastro :

$sql = "SELECT cpf,idUser FROM `tblContacts` where cpf = '".$cpf."' limit 1";
$resultado = $pdo ->query($sql);
if($resultado !== 0 )
{
foreach ($resultado as $row) 
{
$randomicId = $row['idUser'];
}
} 
else
{
switch ($horaAtual)
{
case ($horaAtual > $hora1 && $horaAtual < $hora2):
$sql = "SELECT * FROM `tblUsers` where grupo = 'vendas' and ativo = 1 and periodo = 'manha' ORDER BY RAND() LIMIT 1";
$resultado = $pdo ->query($sql);
if($resultado !== false)
{
foreach($resultado as $row)
{
$randomicId = $row['idUser'];
}
}
break;

case ($horaAtual > $hora2 && $horaAtual < $hora3):

$sql = "SELECT * FROM `tblUsers` where grupo = 'vendas' and ativo = 1 and periodo = 'tarde' ORDER BY RAND() LIMIT 1";
$resultado = $pdo ->query($sql);
if($resultado !== false)
{
foreach($resultado as $row)
{
$randomicId = $row['idUser'];
}
}
break;

default:
$sql = "SELECT * FROM `tblUsers` where grupo = 'vendas' and ativo = 1 and periodo = 'manha' ORDER BY RAND() LIMIT 1";
$resultado = $pdo ->query($sql);
if($resultado !== false)
{
foreach($resultado as $row)
{
$randomicId = $row['idUser'];
}
}
}
}

try {

$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$pdo->exec("SET CHARACTER SET utf8");//corrige os acentos na hora de gravar no BD


$stmt = $pdo->prepare('INSERT INTO tblContacts(product, name, gender, cpf, rg, nasc, phone1, phone2, email, addressType, cep, address, number, ap, comp, quarter, city, state, refer, dateSend, hourSend, qtd,origem,idUser)
VALUES(:product,:name, :gender, :cpf, :rg, :nasc, :phone1, :phone2, :email, :addressType, :cep, :address, :number, :ap, :comp, :quarter, :city, :state, :refer, :dateSend, :hourSend, :qtd,:origem,:idUser)');
$stmt->execute(array(':product' => $product,':name' => $name,':phone1' => $phone1,':gender'=>$gender,':cpf'=>$cpf,':rg'=>$rg,':nasc'=>$nasc,':phone1'=>$phone1,':phone2'=>$phone2,':email'=>$email,':addressType'=>$addressType,':cep'=>$cep,':address'=>$rua,':number'=>$number,':ap'=>$ap,':comp'=>$comp,':quarter'=>$quarter,':city'=>$city,':state'=>$state,':refer'=>$refer,':dateSend' =>$date, ':hourSend' => $hour , ':qtd' => $qtd,':origem'=> $origem,':idUser'=>$randomicId));
}

catch(PDOException $e)
{
echo 'Error: ' . $e->getMessage();
}
$pdo = null;

Era para o código fazer o seguinte  :

 

Quando o usuario faz um cadastro no site , eu pego o CPF dele e consulto no banco para ver se tem alguém cadastro com esse CPF , se tiver  ele pegara o valor do campo idUsuario e atribuirá para a variável $randomiId.

 

Se nao tiver nenhum cadastro com o CPF informado , ele ira fazer a consulta na tabela de usuários , pegando o ID de algum usuário aleatoriamente. e atribuir o ID desse usuário para a variável $randomicId

 

Assim  , eu evitaria de que se alguém se cadastrar 2 vezes no site , o cadastro seja enviado para usuários diferentes.

 

Tipo , fulano x entrou no site e fez cadastro  , por ser o primeiro cadastro dele no site ,  o sistema pegou o ID  35 . Ao entrar depois de uns dias  , fulano x fez outro cadastro  , como ele ja havia feito um cadastro , o sistema pegou e gravou o ID 35 no idUsuario.

 

 

Mas , o que ta acontecendo  , é que , se é o primeiro cadastro da pessoa no site , o sistema nao esta atribuindo um valor para a variavel $randomiId , mas se o cadastro ja existe , ele pega o valor do banco e atribui normal.

 

 

O que ta errado no codigo? 

 

Desde ja , grato.


Viewing all articles
Browse latest Browse all 14190