Jump to content
Fórum Script Brasil
  • 0

Validaçao de dados em banco


Rogger William

Question

Bom pessoal, estou precisando fazer o seguinte:

Promoção de descontos para clientes na qual funcionará assim, o cliente vai receber uma carta em casa com um código(Cupom desconto), do qual ele deverá entrar no site e validar esse código para obter o desconto. Basicamente é isso.

Como vai funcionar no site:

-O cliente vai entrar para cadastrar seu cupom contendo o código a ser usado. Ele vai fazer um cadastro pessoal com seus dados pessoais inicialmente. Na área de seu acesso restrito à sua conta, ele vai ter que Validar seu cupom. Essa validação deverá acontecer da seguinte forma: O Cliente insere o código no campo e clicar em cadastrar.

O sistema vai ter que identificar se esse código é válido, se existe(Já inseridos previamente em um banco de dados). Caso exista no banco, ele vai validar para o usuário. Caso não exista o código inserido, vai retornar uma mensagem de erro de código inválido. Caso já tenha sido utilizado, vai retornar uma mensagem de que o código já foi utilizado.

Bom basicamente é isso que preciso. Se alguém puder me ajudar fico agradecido.

Para quem quiser verificar, o cadastro de usuário estou fazendo devagar, está com alguns erros que estou tentando corrigir, mas segue o link: http://www.mesocorre.com.br/cadastro/formulario_cadastro2

Link to comment
Share on other sites

3 answers to this question

Recommended Posts

  • 0

Bom eu fiz aqui rapidinho um código que deve te ajudar!

Primeiro vamos fazer uma função pra gerar um código de 10 dígitos numéricos.

Ela irá gerar o código e irá gravar em uma tabela!

$gerar_codigo = mt_rand(0000000000, 9999999999);
    $pegar_valor = intval($gerar_codigo);
    
    if(mysql_query("INSERT INTO tb_descontos (codigo) VALUES ('". $pegar_valor ."') "))
    {
        echo "O código gerado foi: ". $pegar_valor ."";
    }
Agora fazemos o formulário de cadastro pra pessoa que tem o código de desconto!
<form action="validar_codigo.php" method="post">
    Nome:
    <input type="text" name="nome"><br>
    Senha:
    <input type="password" name="senha"><br>
    Emai:
    <input type="text" name="email"><br>
    Digite o código:
    <input type="text" name="codigo"><br>
    <input type="submit" value="Validar">
</form>
E por ultimo iremos fazer o código que irá verificar se o código que a pessoa tem é valido ou não
$nome = $_POST['nome'];
    $senha = $_POST['senha'];
    $email = $_POST['email'];
    $cod = $_POST['codigo'];
    
    $sql = mysql_query("SELECT * FROM tb_descontos WHERE codigo = '". $cod ."'");
    $contar = mysql_num_rows($sql);
    
    if((!$nome) || (!$senha) || (!$email) || (!$cod))
    {
        echo "Preencha todos os campos corretamente!";
    }
        else
    {
        if($contar == 0)
        {
            echo "O Código digitado é invalido!";
        }
            else
        {
            if(mysql_query("INSERT INTO tb_cadastrados (id, Nome, Senha, Email, Desconto) VALUES ('NULL', '". $nome ."', '". $senha ."', '". $email ."', '". 1 ."')"))
            {
                if(mysql_query("DELETE FROM tb_descontos WHERE codigo = '". $cod ."'"))
                {
                    echo "Cadastro concluido com sucesso";
                }
            }
        }
    }

Vou explicar oque acontece acima!

Quando a pessoa clicar em cadastrar na pagina do formulário, a primeira coisa que o código irá fazer é verificar se os campos estão vazios, após isso ele irá contar quantos registros tem na tabela 'tb_descontos' com aquele código digitado pela pessoa!

Se tiver 0 registros ele irá quebrar a função ali e irá mostrar a mensagem de erro.

Se o código for válido o cadastro da pessoa irá ser concluído, e por ultimo o código irá deletar o registro daquele código de desconto da tabela 'tb_descontos', fazendo assim com que o mesmo código não venha ser usado outras vezes!

Na função que insere os dados da pessoa como novo cadastro na tabela, perceba que eu coloquei um campo ali 'Desconto' e ele irá receber o valor ' 1 ' , ou seja! se 1 o desconto está ativo para esta pessoa se ' 0 ' não está ativo, claro essa foi a ideia que tive, você pode usar outros valores , ou até mesmo a própria quantidade da % de desconto!

bom acho que é isso, espero ter ajudado!

Link to comment
Share on other sites

  • 0
Bom eu fiz aqui rapidinho um código que deve te ajudar!

Primeiro vamos fazer uma função pra gerar um código de 10 dígitos numéricos.

Ela irá gerar o código e irá gravar em uma tabela!

Vou explicar oque acontece acima!

Quando a pessoa clicar em cadastrar na pagina do formulário, a primeira coisa que o código irá fazer é verificar se os campos estão vazios, após isso ele irá contar quantos registros tem na tabela 'tb_descontos' com aquele código digitado pela pessoa!

Se tiver 0 registros ele irá quebrar a função ali e irá mostrar a mensagem de erro.

Se o código for válido o cadastro da pessoa irá ser concluído, e por ultimo o código irá deletar o registro daquele código de desconto da tabela 'tb_descontos', fazendo assim com que o mesmo código não venha ser usado outras vezes!

Na função que insere os dados da pessoa como novo cadastro na tabela, perceba que eu coloquei um campo ali 'Desconto' e ele irá receber o valor ' 1 ' , ou seja! se 1 o desconto está ativo para esta pessoa se ' 0 ' não está ativo, claro essa foi a ideia que tive, você pode usar outros valores , ou até mesmo a própria quantidade da % de desconto!

bom acho que é isso, espero ter ajudado!

Bom, estou testando o código, mas acaba por não me apresentar nenhuma mensagem de cadastro nem erro e os dados não são inseridos na tabela.

http://mesocorre.com.br/cadastro2/form

O gerador de código funciona, ele gera e insere o código gerado na tabela.

http://mesocorre.com.br/cadastro2/gerar_codigo.php

Minha tabela está assim:

CREATE TABLE tb_cadastrados( 
     nome SMALLINT ( 20 ) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
         email VARCHAR(32) NOT NULL UNIQUE,
         senha VARCHAR ( 20 ) NOT NULL,
         codigo VARCHAR ( 10 ) NOT NULL,
     cod VARCHAR ( 10 ) NOT NULL
     
); 


CREATE TABLE tb_descontos (
    
    codigo VARCHAR ( 10 ) NOT NULL,
    cod VARCHAR ( 10 ) NOT NULL
    
);

Edited by Rogger William
Link to comment
Share on other sites

  • 0

:wacko: Achei muito bom esse script mas comigo acontece a mesma cois, ou seja, consigo gerar o codigo mas não consigo validar o form...help me!!! Seria perfeito se funcionasse, pois um meu cliente que utilizza coupons deve haver um espaco para o inserimento do codigo , (e o codigo não è gerado por mim mas pela sociedade de coupons e devo inserir tais codigos antes que o cliente acesse o site) alguém sabe como me ajudar? Obrigado...

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...