INSERINDO
DADOS NO BANCO
Atenção: espaços foram colocados depois do < das tags para não serem interpretados pelo blogger. Cuidado ao copiar o código, não tem espaço depois da abertura da tag.
Atenção: espaços foram colocados depois do < das tags para não serem interpretados pelo blogger. Cuidado ao copiar o código, não tem espaço depois da abertura da tag.
Para
exemplificar criaremos um formulário de cadastro de usuários e uma
tabela no banco para guardar esses dados:
< form action="salva/salva_usuario.PHP" method="POST" name="caduser"> < /form>
< label>Nome:< /label>
*< input name="nome" size="40" type="text" />
< label>Email
ou nome de usuario:< /label>
< input name="email" size="25" type="text" />
< label>Senha:
< input name="senha" size="10" type="password" />
< input type="submit" value="Cadastrar" />
< input type="reset" value="Limpar" />
< input name="cancela" onclick="window.location.href='painel.PHP'" type="button" value="Cancelar" />
*Atributos
mínimos. Inclua a seu conhecimento de html outros atributos.
Alguns
comentários:
method="POST":
temos dois metodos de fazer o envio dos dados do formulários dentro
do PHP. GET ou POST. Para mais detalhes sobre um ou outro pesquise
sobre o assunto. Por enquanto guarde a ideia que como POST os dados
são enviados sem estar visíveis na url de redirecionamento da
página.
action="salva/salva_usuario.PHP":
para qual pagina os dados do formulário serão enviados. Pode ser
para a mesma página ou para outra como no exemplo onde vamos chamar
outra página salva_usuario.PHP.
Enviamos
então nome, e-mail e senha através do atributo “name” para
outra página pelo POST e agora na nova página vamos recepcionar
esses dados e criar variáveis que guardarão essas informações.
#manda
ler o arquivo de conexão do banco
include
"conecta_banco.php";
#Recolhe
através da variável superglobal $_POST os dados do formulário do
atributo “name” “nome”, e-mail” e “senha”.
$nome=$_POST['nome'];
$email=$_POST['email'];
$senha=$_POST['senha'];
#
uma variavel com nome qualquer (nesse caso $sql) e através do
mysql_query inserimos o SQL para gravar os dados.
$sql
= @mysql_query("INSERT INTO users(nome, admin, email, senha,
situacao)
VALUES('$nome',
'Não', '$email', MD5('$senha'), 0)");
echo
"Cadastro efetuado com sucesso!";
?>
Inserir
em tabela de nome users nos campos: nome, admin, e-mail, senha
e situação os VALUES(valores) das variáveis que armazenaram os
dados do formulário.
Obs1:
Note que nem todos os dados precisam vir de variáveis. Quando
inicialmente queremos passar um valor padrão podemos declarar direto
nos valores do INSERT. Nesse exemplo, em vez de perguntar no
formulário se o novo usuário seria administrador, inserimos um
valor padrão ‘Não’ e um administrador no futuro decide
se esse usuário será administrador ou não.
Obs2:
poderia ser declarada uma variável acima, mesmo que os dados não
proviessem de um formulário, nesse caso, por exemplo: $admin=‘não’,
$situação=0. O desenvolvedor pode escolher sua forma de trabalhar.
(se valor da variável for texto escreva dentro de aspas simples e se
for numérico sem aspas).
Obs3:
O que faz esse @? Na verdade o PHP evoluiu para mysqli, a arroba é
um truque que contorna esse problema em algumas funções nas atuais
versões do PHP. Porém, se você for iniciante recomenda-se se
habituar ao mysqli.
Obs4:
Para tranquilizar o usuário devolvemos uma mensagem de que tudo foi
realizado com sucesso através do “echo”. Cadastro efetuado com
sucesso!". De fato, se tudo ocorreu bem no sql e o sistema não
retornar outro erro, a execução chegou ao “echo” há de se
supor que tudo ocorreu bem. Não é de todo confiável, mas por hora
vamos acreditar que se a mensagem vier à tela, tudo foi bem.
Obs5:
A certeza que os dados foram gravados se dará consultando a base de
dados. A partir do momento, que executado vários testes sempre se
repete a gravação no banco, podemos ter confiança que a instrução
está correta.
Obs6.:
MD5('$senha'). MD5 é uma forma de criptografar senhas. Dessa forma,
ao ler a tabela ninguém sabe qual a senha real do usuário.
Comentaremos mais adiante sobre isso.
Agora
chegou a hora de criar a tabela no nosso banco. Para demonstrar
usaremos o banco criado de nome loja. Veja que ao clicar no sinal de
+ do banco temos uma opção new para chamar a tela de criação de
uma tabela. Oferecemos um nome para a tabela, e opcionalmente quantas
colunas terá essa tabela. Não se preocupe, pois inserir novas
colunas podem ser feitas depois.
Após
executar, insira pelo menos o nome da coluna, tipo de dados, tamanho,
colação se for tipo texto, e para um deles, geralmente o primeiro
que seja de índice primário e marque A.I. (autoincremento).
Para
nosso formulário e para nosso sql funcionar e os dados ficarem
gravados em uma tabela de um banco precisamos criar uma coluna com
identificador nesse caso id, tipo INT, tamanho 4 (comportará até
9999 usuários), índice primário e autoincremento para não
precisarmos inserir dados nesta coluna, o banco cria sequencialmente
o próximo ID. Nomes que usamos no INSERTO TO nome, admin, e-mail,
senha.
Obs.:
após clicar em guardar os dados a tabela será criada e listada na
barra esquerda.
Na
barra superior, quando clicamos sobre o nome da tabela, o ícone
procurar listará alguns campos já lançados. O
caminho estrutura usa-se
para incluir/alterar as colunas da tabela. Mais adiante iremos ver
outras funções.
Após
isso, rode o arquivo no navegador e verifique no phpmydmin se os
dados estão sendo gravados na tabela. Importante, clique em Procurar
para dar uma recarregada na tela.
Se
tudo estiver dado certo, terás a primeira inserção no banco.
Parabéns. Caso contrário reveja os códigos, se os nomes das
variáveis estão certo, os nomes no sql e nas colunas da tabela.






Nenhum comentário:
Postar um comentário