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

Cadastro


bush

Pergunta

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);

$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);

$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 para o comentário
Compartilhar em outros sites

11 respostass a esta questão

Posts Recomendados

  • 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 para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros 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 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
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...