Ir para conteúdo
Fórum Script Brasil
  • 0

Problemas Com Formulário De Cadastro


Matori

Pergunta

Olá gente, meu problema é esse:

Preciso de fazer um formulário para cadastro, coisa simples: Nome, email, Telefone e Cpf para meu site.

Mas não sei direito fazer isso, pois sou iniciante.

Gostaria de saber o que devo fazer, quais as tags de php e se devo usar Sql (não intendo nada disso também, então por favor, se precisar detalhem bem)

Preciso que só possa ser cadastrado um numero de Cpf e que ele seja verdadeiro, tem como?

Se alguém poder me ajudar agradeço.

Link para o comentário
Compartilhar em outros sites

9 respostass a esta questão

Posts Recomendados

  • 0

Você pode criar um formulário simples em HTML, o validador do CPF não tenho em mãos no momento, mas você pode colocar algum em PHP ou JavaScript posteriormente sem problemas.

Vamos para os arquivos que você precisará montar.

index.php

<form name="cadastro" action="cadastra.php" method="post">
Nome:<br />
<input type="text" name="nome" /><p>
e-mail:<br />
<input type="text" name="email"/><p>
Telefone:<br />
<input type="text" name="telefone" /><p>
CPF:<br />
<input type="text" name="cpf" /><br />
<input type="submit" value="Enviar" />
</form>
Bom, este é um formulário bem simples... Preste atenção no nome dos campos, pois precisaremos resgatá-los na página de cadastro, que no nosso caso, chamará cadastra.php . É aqui que entra a "mágica", ao ser submetido, o PHP pegará os valores dos campos, verificará se já existe um CPF cadastrado e, em caso negativo, cadastrará a pessoa! Para isso você precisará criar uma tabela chamada usuarios no phpmyadmin, e dentro dessa tabela, os campos nome, email, telefone e cpf . No arquivo que fará o cadastro, você precisará fazer a conexão com o banco de dados, colocar o login, a senha e o database, colocarei aqui exemplos fictícios, só pra você ver como faz. cadastra.php
<?php
// Conexão com o database
$host = "localhost";
$login = "root";
$senha = "senha123";
$database = "meu_database";

$db = mysql_connect($host, $login, $senha);
mysql_select_db($database,$db);

// Agora eu resgato os valores do formulário. Lembra que eu falei do nome dos campos?
$Nome = $_POST["nome"];
$email = $_POST["email"];
$Telefone = $_POST["telefone"];
$CPF = $_POST["cpf"];
// Você deve estar perguntando: O que é esse monte de POST?
// No formulário do index, definimos que os dados seriam enviados por post, lá em method.
// Para resgatar os dados enviados por post, você utiliza essa superglobal $_POST.
// Qualquer dado enviado por este método será pego através do $_POST["nome_do_campo"];
// Se lá no form estivesse com method GET, a nossa superglobal seria $_GET["nome_do_campo"];

// Agora, vamos consultar o database para ver o CPF?

$consulta0 = mysql_query("SELECT * FROM `usuarios` WHERE `cpf` = '$cpf'");
// O que fazer se encontrar o CPF?
if ($resultado0 = mysql_fetch_array($consulta0)){
echo "Este CPF j&aacute; existe!";
}
// Senão...
else {
mysql_qyery("INSERT INTO `usuarios` (`nome`, `email`, `telefone`, `cpf`) VALUES ('$nome', '$email', '$telefone', 'cpf')");
// Adicione o campo no database!
echo "Usu&aacute;rio cadastrado com sucesso!";
// E notifique o usuário que o cadastro foi efetuado
}
?>

É algo assim que você precisa?

Link para o comentário
Compartilhar em outros sites

  • 0

é + ou - isso.

Agradeço pela explicação, foi de grande ajuda para aprendizagem.

Mas como disse, não entendo de db

// Conexão com o database

$host = "localhost";

$login = "root";

$senha = "senha123";

$database = "meu_database";

$db = mysql_connect($host, $login, $senha);

mysql_select_db($database,$db);

qual arquivo é esse? Onde e como crio?

o que é este login e senha???

Link para o comentário
Compartilhar em outros sites

  • 0

So pra ver se entendi:

Agora eu tenho que criar um banco de dados em Mysql aqui em http://localhost/phpmyadmin/

Se for tem coisas aqui que não entendi

-Campo - Deve ser o nome do campo - ai fica $nome - por exemplo?

-Tipo - Não entendi essa função

-Tanho- Deve ser pra limitar o campo

-Atributos- Sei lá o que é isso

-Nulo, Padrão e Extra - também não entendi.

Desculpe-me por estar perguntando tudo isso, mas comecei a pouco tempo e realmente, não entendi e não achei nenhum código do tipo pronto (seria mais facil de estudar, foi assim que aprendi HTML)

Link para o comentário
Compartilhar em outros sites

  • 0

Campo será o nome de seu campo.

Mas não será o nome da variável do PHP, então não ficará $campo .

Este é o nome do campo que vai na hora de salvar os dados, naquela parte:

INSERT INTO `usuarios` (`nome`, `email`, `telefone`, `cpf`) VALUES ('$nome', '$email', '$telefone', 'cpf')

Em tipo, você colocará o tio de dados que utilizará.

Recomendo, para você aprender como funciona, colocar tdo como VARCHAR por enquanto.

O tamanho é auto-explicativo - O tamanho do campo em caraceres.

Neste você pode colocar 50.

Atributos você pode deixar sem preencher, são os atributos do campo.

Em nulo, você poderá deixar NOT NULL, assim não permitirá que campos fiquem sem preenchimento.

(Os campos poderão estar em branco, mas aí o MySQL considera como conteúdo "" [nada])

Para entender mais sobre MySQL, você pode ver estes tutoriais escritos por Flash e Gladiator!

http://scriptbrasil.com.br/forum/index.php?showtopic=47858

Poderá também ver os primeiro passos para manipulação de tabelas aqui:

http://scriptbrasil.com.br/forum/index.php?showtopic=35066

Link para o comentário
Compartilhar em outros sites

  • 0

rsrs, o link de video aula do MySql ta quebrado na outra pagina....... mas voltando ao assunto

poque esta dando esse erro

Warning: mysql_connect(): Acesso negado para o usuário 'root@localhost' (senha usada: SIM) in c:\windows\serv-n\www\cadastra.php on line 8

Warning: mysql_select_db(): supplied argument is not a valid MySQL-Link resource in c:\windows\serv-n\www\cadastra.php on line 9

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\windows\serv-n\www\cadastra.php on line 26

Fatal error: Call to undefined function: mysql_qyery() in c:\windows\serv-n\www\cadastra.php on line 31

Link para o comentário
Compartilhar em outros sites

  • 0

Warning: mysql_connect(): Acesso negado para o usuário 'root@localhost' (senha usada: SIM) in c:\windows\serv-n\www\cadastra.php on line 8

Esse é porque ele está negando seu acesso, problemas com a senha.

Como está utilizando o Serv-N, tente fazer a configuração no cadastra.php assim:

// Conexão com o database
$host = "localhost";
$login = "root";
$senha = "";
$database = "meu_database";
Agora esse erro aqui:
Fatal error: Call to undefined function: mysql_qyery() in c:\windows\serv-n\www\cadastra.php on line 31
Desculpe, foi erro meu de digitação. Troque a linha:
mysql_qyery("INSERT INTO `usuarios` (`nome`, `email`, `telefone`, `cpf`) VALUES ('$nome', '$email', '$telefone', 'cpf')");
Pela linha:
mysql_query("INSERT INTO `usuarios` (`nome`, `email`, `telefone`, `cpf`) VALUES ('$nome', '$email', '$telefone', 'cpf')");

Link para o comentário
Compartilhar em outros sites

  • 0

só sumiu um erro

Warning: mysql_connect(): Acesso negado para o usuário 'root@localhost' (senha usada: NÃO) in c:\windows\serv-n\www\cadastra.php on line 8

Warning: mysql_select_db(): supplied argument is not a valid MySQL-Link resource in c:\windows\serv-n\www\cadastra.php on line 9

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\windows\serv-n\www\cadastra.php on line 26

esses continuaram........

Perdão, era a senha os dois primeiros....... resolvido.

mas tem esse

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\windows\serv-n\www\cadastra.php on line 26

O problema ta nessa linha

if ($resultado0 = mysql_fetch_array($consulta0)){

so não sei o que........

Então tá, vou conversar comigo mesmo

eu inseri uma " e o erro passou pra proxima linha

if ($resultado0 = mysql_fetch_array($consulta0)){

echo "Este CPF j&aacute; existe!";

virou

if ($resultado0 = mysql_fetch_array($consulta0)"){

echo "Este CPF j&aacute; existe!";

............................ <_<

Vacuo......................

alguém pelo amor de Deus com esse codigo pronto me passa?

Tenho que colocar isso no site pra funcionar.

Pode ser em qualquer linguagem............ funcinando

é gente, ta na hora de sair aqui do meu trabalho.. Não consegui.

Se alguma alma boa tiver o codigo, favor enviar no meu mail aqui redacao@diariodecontagem.com.br e porfavor mandem com o bd, se não num adianta, pois não sei SQL.

Vlw, e desculpa por qualquer coisa

Ps.: Mandem a mensagem com o assunto "Cadastro_Código" por favor

Link para o comentário
Compartilhar em outros sites

  • 0

Testei o código aqui e ele funcionou exatamente dessa forma:

<?php
// Conexão com o database
$host = "localhost";
$login = "root";
$senha = "senha123";
$database = "meu_database";

$db = mysql_connect($host, $login, $senha);
mysql_select_db($database,$db);

// Agora eu resgato os valores do formulário. Lembra que eu falei do nome dos campos?
$Nome = $_POST["nome"];
$email = $_POST["email"];
$Telefone = $_POST["telefone"];
$CPF = $_POST["cpf"];
// Você deve estar perguntando: O que é esse monte de POST?
// No formulário do index, definimos que os dados seriam enviados por post, lá em method.
// Para resgatar os dados enviados por post, você utiliza essa superglobal $_POST.
// Qualquer dado enviado por este método será pego através do $_POST["nome_do_campo"];
// Se lá no form estivesse com method GET, a nossa superglobal seria $_GET["nome_do_campo"];

// Agora, vamos consultar o database para ver o CPF?

$consulta0 = mysql_query("SELECT * FROM `usuarios` WHERE `cpf` = '$cpf'");
// O que fazer se encontrar o CPF?
if ($resultado0 = mysql_fetch_array($consulta0)){
echo "Este CPF j&aacute; existe!";
}
// Senão...
else {
mysql_query("INSERT INTO `usuarios` (`nome`, `email`, `telefone`, `cpf`) VALUES ('$nome', '$email', '$telefone', 'cpf')");
// Adicione o campo no database!
echo "Usu&aacute;rio cadastrado com sucesso!";
// E notifique o usuário que o cadastro foi efetuado
}
?>
O database você mandará criar com o seguinte script:
CREATE TABLE `usuarios` (
  `id` int(10) NOT NULL auto_increment,
  `nome` varchar(70) collate latin1_general_ci NOT NULL,
  `email` varchar(50) collate latin1_general_ci NOT NULL,
  `telefone` varchar(8) collate latin1_general_ci NOT NULL,
  `cpf` varchar(29) collate latin1_general_ci NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=3 ;

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...