Jump to content
Fórum Script Brasil
  • 0

Cadastro


bush
 Share

Question

boa noite meus amigos !

Bom venho aqui pedir a ajuda de vocês novamente, eu criei um programinha aqui pra receber e tratar os dados vindos de um form.

Eu vou postalo logo abaixo alguen de vocês pode me dizer se isso está correto a forma de cria esse tipo de arquivo?

eu to com mais duvida bem la no fim na hora de verificar se já existe usuarios cadastrado no bd ou não . eipo eu não sei se pode colocar a instrução elseif dentro de um else.

bom se alguen puder me ajuda eu agradeço muito...

abraços...

<link href="../css/css.css" rel="stylesheet" type="text/css"> <body bgcolor="#000000" leftmargin="0" topmargin="0">

<?php

include("comum.php");

$nome=$_POST['nome'];

$login=$_POST['login'];

$senha1= $_POST ['senha'];

$confirmacao= $_POST ['confirmacao'];

$senha2= $_POST['senha'];

$patente= $_POST['patente'];

$MSN=$_POST['MSN'];

$email=$_POST['email'];

$ddd=$_POST['ddd'];

$fonecel=$_POST['fonecel'];

$ddd1=$_POST['ddd1'];

$fonecel1=$_POST['fonecel1'];

$cidade=$_POST['cidade'];

$uf=$_POST['uf'];

$torpedo=$_POST['torpedo'];

$ually=$_POST['ually'];

$indicacao=$_POST['indicacao'];

$motivo=$_POST['motivo'];

$online=$_POST['online'];

// elimina erros email

$email= str_replace(" ","",$email);

$email= str_replace("/","",$email);

$email= str_replace("@.","@",$email);

$email= str_replace("[email protected]","@",$email);

$email= str_replace(",",".",$email);

$email= str_replace(";",".",$email);

// elimina erros MSN

$MSN= str_replace(" ","",$email);

$MSN= str_replace("/","",$email);

$MSN= str_replace("@.","@",$email);

$MSN= str_replace("[email protected]","@",$email);

$MSN= str_replace(",",".",$email);

$MSN= str_replace(";",".",$email);

// verifica nome

if(empty($nome)){

$erro=1;

$msg="Por favor, digite seu nome corretamente.";

}

// verifica login

if(empty($login)){

$erro=1;

$msg="Por favor, digite seu login corretamente.";

}

// verifica quantidade de caracteres login

elseif(strlen($login)>5|| strlen(($login)>10){

$erro=1;

$msg=" Seu login deve ter entre 5 e 10 caracteres";

}// verifica se login tem caracteres em branco

elseif(strstr($login,'')!=false){

$erro=1;

$msg= " Seu login não pode conter espaços em branco";

}

// verifica senha

elseif(strlen($senha)<5 || strlen($senha)>10){

$erro=1;

$msg=" a Senha deve conter entre 5 e 10 caracteres.";

}

elseif(strstr($senha, '')!=FALSE){

$erro=1;

$msg=" A senha não pode conter espaços em branco.";

}

// compara a senha com a confirmação da senha

elseif($senha!= $confirmacao){

$erro=1;

$msg="Você digitou senhas diferentes!";

}

// Verifica MSN

elseif (strlen($MSN)<8|| substr_count($MSN,"@")!=1

|| substr_count($MSN,".")==0){

$erro=1;

$msg="Por favor, Digite seu MSN corretamente.";

}

// Verifica email

elseif (strlen($email)<8|| substr_count($email,"@")!=1

|| substr_count($email,".")==0){

$erro=1;

$msg="Por favor, Digite seu email corretamente.";

}

// verifica ddd

if(empty($ddd)){

$erro=1;

$msg="Por favor, digite o ddd do seu celular corretamente.";

}

// verifica celular

if(empty($fonecel)){

$erro=1;

$msg="Por favor verifica seu celular.";

}

// verifica telefone recidencial

if(empty($fonecel1)){

$erro=1;

$msg="Por favor verifica seu numero de telefone recidencial.";

}

// verifica ddd celular

if(empty($ddd1)){

$erro=1;

$msg="Por favor verifica o ddd do seu celular.";

}

// verifica cidade

if(empty($cidade)){

$erro=1;

$msg="Por favor verifica o campo cidade.";

}

// verifica estado

if(empty($estado)){

$erro=1;

$msg="Por favor verifica o o estado de sua cidade.";

}

// verifica ddd celular

if(empty($ddd)){

$erro=1;

$msg="Por favor verifica o ddd do seu celular.";

}

// verifica ultima ally

if(empty($ually)){

$erro=1;

$msg="Por favor digite o nome da ultima que ally que participou.";

}

// se ouver erro exibe erro

if($erro)

{

echo"<html><body>";

echo "<p align=center>$msg</p>";

echo"<p align=center><a href='java script:hitory.back()'>Voltar<a/></p>";

echo"</body></html>";

}

else

{

#//verificar se há login cadastrado no BD

$s=mysql_query("SELECT * FROM aut_usuarios WHERE login='$login'");

$mnr=mysql_num_rows($s);

// verifica se já existe usuario cadastrado

elseif($login== $login){

$erro=1;

$msg="Usuario cadastrado em nosso sistema!";

}

#//inseri no banco de dados se tudo for OK

$i=mysql_query("INSERT INTO aut_usuarios (nome, login, senha,patente, MSN, email,ddd, fonecel,ddd1,fonecel1, cidade, uf, torpedo, ually, indicacao, motivo, online) VALUES ('$nome','$login','$senha','$patente','$MSN','$email','$ddd','$fonecel','$ddd1','$fonecel1','$cidade','$uf','$torpedo','$ually','$indicacao','$motivo','$online')");

echo "<center>Cadastro efetuado com sucesso!<a href=../index.php target=_parent> Logar </a><br><br>

<b>login:</b> '.$login.'<br>

<b>senha:</b> '.$senha2.'";

}

?>

Link to comment
Share on other sites

11 answers to this question

Recommended Posts

  • 0

Bom...

Primeiro erro, é que você está verificando o e-mail duas vezes. Uma na variável $email e outra na variável $MSN, que está recebendo as verificações da variável e-mail (problemas do Ctrl+C e Ctrl+V).

Segundo, o elseif pode ser usado dentro de um else, mas desde que haja um if. Por exemplo:

<?
...
if(condição) {
  comandos
} else {
  if(condição) {
    comandos
  } elseif () {
    comandos
  } else {
    comandos
  }
}
Acho que não há um if no seu. E, no seu caso, acho que seria melhor que ficasse assim:
// verifica ultima ally
if(empty($ually)){
$erro=1;
$msg="Por favor digite o nome da ultima que ally que participou.";
}

#//verificar se há login cadastrado no BD
$s=mysql_query("SELECT * FROM aut_usuarios WHERE login='$login'");
$mnr=mysql_num_rows($s);
// verifica se já existe usuario cadastrado
if($mnr > 0){
$erro=1;
$msg="Usuario cadastrado em nosso sistema!";
}

// se ouver erro exibe erro
if($erro)
{
echo"<html><body>";
echo "<p align=center>$msg</p>";
echo"<p align=center><a href='java script:hitory.back()'>Voltar<a/></p>";
echo"</body></html>";
}
else
{

E no último else, o restante do código, ou seja, a inserção do usuário no banco de dados. Coloquei a verificação acima do teste se há erros. E arrumei o teste de existência de usuário, que sempre daria erro, pois perguntava se a variável $login era igual a variável $login, ou seja, ela mesmo, o que ocasionaria sempre verdade e entraria no laço, sempre.

Qualquer dúvida, só postar.

Link to comment
Share on other sites

  • 0

ikkinet bom dia obrigado pela ajuda...

So mais uma pergunta to tentando monta um forum interno dentro do meu site pra todos postarem e ver . forum basico mesmo.

Você sabe me informar como eu faço pra aparecer um icone tipo mostrando que a msg no forum ? na pagina principal.

Link to comment
Share on other sites

  • 0

Mais um erro>>>> heheheh

Warning: strstr(): Empty delimiter. in c:\arquivos de programas\easyphp1-8\www\você\cadastroally\cadastrando.php on line 51

Warning: strstr(): Empty delimiter. in c:\arquivos de programas\easyphp1-8\www\você\cadastroally\cadastrando.php on line 60

Eserra que erro é pra eu arruma por favor ?

Link to comment
Share on other sites

  • 0

O erro da linha 50 já está corrigido no meu último post...

O que acontece é que você não pode deixar o delimitador vazio:

(strstr($login,'AQUI NÃO PODE ESTAR VAZIO')

Uma coisa que eu esqueci, caso você queira usar um espaço em branco no delimitador você deve colocar ' ' e não '' como está atualmente.

Link to comment
Share on other sites

  • 0

Eserra é possivel está dando esses erros listados abaixo e mesmo assim ele inseri normal no bd? os erros são:

1º Notice: Undefined variable: senha in c:\arquivos de programas\easyphp1-8\www\você\cadastroally\cadastrando.php on line 26

Notice: Undefined variable: erro in c:\arquivos de programas\easyphp1-8\www\você\cadastroally\cadastrando.php on line 123

Cadastro efetuado com sucesso! Logar

as linhas do programa são essas aqui:

linha 123 if($erro)

{

echo"<html><body>";

echo "<p align=center>$msg</p>";

echo"<p align=center><a href='java script:hitory.back()'>Voltar<a/></p>";

echo"</body></html>";

}

else

{

#//inseri no banco de dados se tudo for OK

$i=mysql_query("INSERT INTO aut_usuarios (nome, login, senha,confirmacao,patente, MSN, email,ddd, fonecel,ddd1,fonecel1, cidade, uf, torpedo, ually, indicacao, motivo, online) VALUES ('$nome','$login','$senha','$confirmacao','$patente','$MSN','$email','$ddd','$fonecel','$ddd1','$fonecel1','$cidade','$uf','$torpedo','$ually','$indicacao','$motivo','$online')");

echo "<center>Cadastro efetuado com sucesso!<a href=../index.php target=_parent> Logar </a><br><br>

<b>login:</b> '.$login.'<br>

<b>senha:</b> '.$senha2.'";

}

linha 26 #//retirando espaços

$senha= md5(trim($senha));

Link to comment
Share on other sites

  • 0

Claro, isso não é erro.. é aviso (notice).

O que acontece:

Undefined variable: senha

Você busca o $senha1 e $senha2, só que depois você faz comparações chamando as variáveis apenas de $senha... por isso que a variável senha está retornando como indefinida

Link to comment
Share on other sites

  • 0

Como eu disse aviso, um notice não pára a execução do código... apenas avisa que tem algo que pode comprometer o resultado final... inclusive, os notices são desativados por default na configuração do php.ini

Link to comment
Share on other sites

  • 0

Valeu vo estuda mais e acha onde eu to errando o form da inserindo beleza mais está dando erro nessa parte.

linha 26 #//retirando espaços

$senha= md5(trim($senha));

na hora que vo loga o md5 não está igual ou sei pode ser o contrario tipo eu digito 101010 e na hora de loga ele não conferi com o md5 do bd.

Mais já me ajudaram muito vo estuda mais um pouco aqui e tenta fazer de novo.

Mais ca pra nois valida form em php é uma b*** heim que coisa dificil.

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
      151k
    • Total Posts
      649.1k
×
×
  • Create New...