Jump to content
Fórum Script Brasil
  • 0

Problemas Com Formulário De Cadastro


Matori
 Share

Question

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 to comment
Share on other sites

9 answers to this question

Recommended Posts

  • 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other 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 '[email protected]' (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 to comment
Share on other sites

  • 0

Warning: mysql_connect(): Acesso negado para o usuário '[email protected]' (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 to comment
Share on other sites

  • 0

só sumiu um erro

Warning: mysql_connect(): Acesso negado para o usuário '[email protected]' (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 [email protected] 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 to comment
Share on other 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 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.

 Share



  • Forum Statistics

    • Total Topics
      150.2k
    • Total Posts
      647.5k
×
×
  • Create New...