Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Guilherme Oderdenge

Sistema de "convites"

Recommended Posts

Salve!

Como sou muito leigo em PHP, não consigo me virar sozinho. Portanto, solicito à ajuda de vocês, queridos usuários, para o meu problema.

 

Bom, necessito de um sistema de convites simples, onde eu gero (manualmente) algumas chaves, e, no momento que a chave já fora utilizada, ela não possa ser utilizada novamente.

 

Poderiam me ajudar?

 

Me viro com o banco de dados (MySQL), só preciso de uma luz no script/PHP.

 

Desde já, grato.

Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não desenvolvi código algum, estou perdido até na lógica, hahahaha...

veja as condições:

 

- O PHP verifica no banco de dados se algum usuário já possui a chave em sua coluna convite;

- | Se já estiver um cadastro com o convite respondente:

- || Exibe a mensagem: 'Convite em uso!';

- | Se o convite não estiver cadastrado para uso no banco:

- || Exibe a mensagem: 'Este convite não existe.';

- | Se o convite existir:

- || Exibe a mensagem: 'Cadastrado com sucesso!' e então cadastra o número/código na coluna convite da tabela usuarios.

 

Mas aí eu penso: onde vou fazer a passagem de um CONVITE VÁLIDO para um CONVITE EM USO?

 

Devo fazer uma tabela para os convites disponíveis e, ao serem utilizados, migrá-los para uma outra tabela, dizendo que ele já foi usado?

 

Desde já, grato.

Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você precisará de uma tabela só para os convites. Afinal, creio que cada usuário pode ter mais de um convite

 

Algo assim

- id_convite -> auto_increment

- estado -> usado, disponível etc

- id_usuário -> id do dono do convite

 

quando o usuaŕio usar o convite, basta mudar o estado dele na tabela convites

Compartilhar este post


Link para o post
Compartilhar em outros sites

Poderia me explicar como 'mudar o estado' via PHP?

 

Abraços Beraldo, e muito obrigado!

 

(@edit)

 

Criei a seguinte tabela:

CREATE TABLE convites (
id_convite char(6) NOT NULL REFERENCES usuarios,
estado char(1),
PRIMARY KEY (id_convite));

 

Vão ser dois estados, no caso, 1 e 2. Basicamente a mesma regra de TRUE ou FALSE, só que 1 vai significar que o convite está disponível, e 2 indisponível.

 

E usei uma chave estrangeira para indicar o id do convite ao id do usuário, beleza?

 

A tabela em si (na lógica), está correta, né?

 

Agora fazer isso funcar em PHP, como faço?

 

Abraços! 2

Compartilhar este post


Link para o post
Compartilhar em outros sites

só fazer um UPDATE

 

UPDATE tabela SET campo = valor WHERE condicao;

 

Com relação ao UPDATE (comando físico do SQL) eu sei, só não sei chamar a função no PHP.

Quais scripts/comandos/sintaxes devo utilizar? Poderia fazer um pequeno exemplo pra mim?

 

Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

- O PHP verifica no banco de dados se algum usuário já possui a chave em sua coluna convite;

- | Se já estiver um cadastro com o convite respondente:

- || Exibe a mensagem: 'Convite em uso!';

- | Se o convite não estiver cadastrado para uso no banco:

- || Exibe a mensagem: 'Este convite não existe.';

- | Se o convite existir:

- || Exibe a mensagem: 'Cadastrado com sucesso!' e então cadastra o número/código na coluna convite da tabela usuarios.

 

se entendi correto, acho que seria assim

etapa 1. Fulano manda um convite para Kaminari

 

etapa 2. grava no DB o email do convidado, quem convidou (apenas controle), e uma flag

 

etapa 3. quando Kaminari for se cadastrar:

. verifica na tabela se o email foi convidado

. se existir... se nao existir

. não existe a possibilidade de reutilizar o convite, afinal, apos o convite aceito, ele não terá mais acesso ao cadastro e sim ao login

 

 

seria isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Com relação ao UPDATE (comando físico do SQL) eu sei, só não sei chamar a função no PHP.

Quais scripts/comandos/sintaxes devo utilizar? Poderia fazer um pequeno exemplo pra mim?

 

só usar mysql_qurry

http://www.w3schools.com/php/php_mysql_update.asp

Compartilhar este post


Link para o post
Compartilhar em outros sites

- O PHP verifica no banco de dados se algum usuário já possui a chave em sua coluna convite;

- | Se já estiver um cadastro com o convite respondente:

- || Exibe a mensagem: 'Convite em uso!';

- | Se o convite não estiver cadastrado para uso no banco:

- || Exibe a mensagem: 'Este convite não existe.';

- | Se o convite existir:

- || Exibe a mensagem: 'Cadastrado com sucesso!' e então cadastra o número/código na coluna convite da tabela usuarios.

 

se entendi correto, acho que seria assim

etapa 1. Fulano manda um convite para Kaminari

 

etapa 2. grava no DB o email do convidado, quem convidou (apenas controle), e uma flag

 

etapa 3. quando Kaminari for se cadastrar:

. verifica na tabela se o email foi convidado

. se existir... se nao existir

. não existe a possibilidade de reutilizar o convite, afinal, apos o convite aceito, ele não terá mais acesso ao cadastro e sim ao login

 

 

seria isso?

 

Sim, seria basicamente isso.

Para ser mais preciso, vou fazer um exemplo generalizado: o Orkut está lançando uma nova versão, e só entra nela quem tem convite. Para isso, o convite seleciona e-mails aleatóriamente (o que não é o meu caso) e envia para os usuários em questão. Eles, ao registrar, entram com o código enviado por e-mail, e se este código realmente existir e não estiver em uso, o usuário se registra, caso contrário, entra nas condições.

 

 

Com relação ao UPDATE (comando físico do SQL) eu sei, só não sei chamar a função no PHP.

Quais scripts/comandos/sintaxes devo utilizar? Poderia fazer um pequeno exemplo pra mim?

 

só usar mysql_qurry

http://www.w3schools.com/php/php_mysql_update.asp

 

Obrigado, Beraldo. Vou dar uma estudada neste código.

Só peço aos moderadores que não deixem o tópico como resolvido, porque eu ainda estou analisando as circunstâncias, e caso eu tiver êxito, volto aqui e peço para darem como resolvido, ok?

 

Obrigado aos dois.

Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites
Algo assim

- id_convite -> auto_increment

- estado -> usado, disponível etc

- id_usuário -> id do dono do convite

 

Eu tenho a mesma lógica neste caso de estado, eu faço o seguinte.

 

eu deixo o campo estado ou disponível como ENUM aonde eu coloco enum('s','n').

E uso um update para colocar ele como 'n', assim depois só fazer validação com condição ternária.

 

if($tal = "s" ? true : false);

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.