Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
overloker132

PHP RESOLVIDO Cadastro somente com código

Recommended Posts

Desculpa a ignorância e agradeço desde já a ajuda concedida, dei uma procurada... mas é difícil achar o que eu realmente preciso ou até algo parecido.

 

Tenho um login em php que conecta ao meu banco de dados, tudo está funcionando perfeitamente... só o que eu preciso é o seguinte:

Na própria página php ou no banco de dados (não sei qual é mais fácil) eu vou cadastrar o seguinte código: 2332.

Ou seja, para que qualquer usuário se cadastre, haverá um campo "código" e ele precisa inserir esse 2332 para completar, caso não preencha com o código correto, aparecerá o erro.

 

Eu tentei usando:

if ($_POST['code'] == 'yourCode')

Mas não obtive sucesso.

 

 

De forma resumida:

Cadastro somente é realizado, caso o usuário preencha no campo "código" o código 2332.

 

Como está minha página:

 

Spoiler

if (isset($_POST['signup'])) {
	$name = mysqli_real_escape_string($con, $_POST['name']);
	$email = mysqli_real_escape_string($con, $_POST['email']);	
	//name can contain only alpha characters and space
	if (!preg_match("/^[a-zA-Z ]+$/",$name)) {
		$error = true;
		$name_error = "Nome só pode conter letras e espaço";
	}
	if(!filter_var($email,FILTER_VALIDATE_EMAIL)) {
		$error = true;
		$email_error = "Por favor insira um endereço de email válido";
	}
	if (!$error) {
		if(mysqli_query($con, "INSERT INTO users(name,email) VALUES('" . $name . "', '" . $email . "')")) {
			$successmsg = "Registro feito com sucesso! <a href='login.php'>Clique aqui para entrar</a>";
		} else {
			$errormsg = "Erro ao registrar-se... Por favor tente novamente!";
		}
	}
}
?>

 

Spoiler

<div class="container">
	<div class="row">
		<div class="col-md-4 col-md-offset-4 well">
			<form role="form" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" name="signupform">
				<fieldset>
					<legend>Registre-se</legend>

					<div class="form-group">
						<label for="name">Nome</label>
						<input type="text" name="name" placeholder="Insira seu nome completo" required value="<?php if($error) echo $name; ?>" class="form-control" />
						<span class="text-danger"><?php if (isset($name_error)) echo $name_error; ?></span>
					</div>
					
					<div class="form-group">
						<label for="name">Email</label>
						<input type="text" name="email" placeholder="Email" required value="<?php if($error) echo $email; ?>" class="form-control" />
						<span class="text-danger"><?php if (isset($email_error)) echo $email_error; ?></span>
					</div>

					<div class="form-group">
						<input type="submit" name="signup" value="Sign Up" class="btn btn-primary" />
					</div>
				</fieldset>
			</form>
			<span class="text-success"><?php if (isset($successmsg)) { echo $successmsg; } ?></span>
			<span class="text-danger"><?php if (isset($errormsg)) { echo $errormsg; } ?></span>
		</div>
	</div>
	<div class="row">
		<div class="col-md-4 col-md-offset-4 text-center">	
		Já é registrado? <a href="login.php">Entre aqui</a>
		</div>
	</div>
</div>

 

 

Não preciso de segurança, nem nada. Somente quero que funcione esse código.

Por favor me ajudem!

 

Obrigado!

Editado por overloker132

Compartilhar este post


Link para o post
Compartilhar em outros sites

@overloker132 Basicamente, você irá ter uma tabela no seu banco de dados para ter este código armazenado. Não sei se é fixo ou será dinâmico( tipo os números de verificação steam)

 

Basicamente,  antes de realizar o cadastro, você faz um select na tabela do código, onde se o mesmo for igual, faz o cadastro.

 

Não vou dar um código completo mas sim um modelo genérico:

Seria mais ou menos assim:

//recebe o código do formulário junto com as outras informações
$codigo = $_POST["codigo"];


$consulta_codigo = mysqli_query($conexao, "SELECT codigo FROM verificador WHERE codigo=$codigo");

$numRegistro = mysqli_num_rows($consulta_codigo);

if($numRegistro == 0):
     echo "Vefificador não registrado. Não podes efetuar o registro";
else:
     //aqui você faz o código para cadastrar.. ou seja o INSERT into.
endif;

 

  • Obrigado 1

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • Autor do tópico
  • @DiF Obrigado pela resposta, parece ser exatamente o que eu procurava, só estou perdido um pouco para entender aonde colocarei exatamente isso. Tentei acrescentar como imaginei, mas não está dando certo haha. Poderia dar uma explicada se possível? Obrigado!

    • Curtir 1

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    @overloker132 Então.

     

    Você terá o formulário de cadastro em html por exemplo:

     

    <form method="post" action="RecebeDados.php">
      <input type="text"     name="nome" placeholder="Nome"/>
      <input type="text"     name="email" placeholder="E-mail"/>
      <input type="password" name="senha" placeholder="Senha"/>
      <input type="text" name="codigo" placeholder="Código de acesso"/>
      <input type="submit" value="Cadastrar"/>
    </form>

    Repare que temos ali 4 campos de dados, sendo um deles o código de acesso.

    O código php acima no outro post, ficará no arquivo RecebeDados.php

    Onde você vai receber os dados deste formulário.

     

    Aí que eu te digo SE e somente SE o código de acesso for 2332, você pode colocar direto ali no php e comparar.

    Mas se for dinâmico, aí pode usar um banco de dados.

     

    NO post #2, dei exemplo usando o banco de dados.. com valor direto, é bem mais simples.

     

    //recebe o código do formulário junto com as outras informações
    $codigo = $_POST["codigo"];
    
    $cod_acesso = 2332;
    
    
    if($codigo != $cod_acesso):
         echo "Vefificador Inválido. Não podes efetuar o registro";
    else:
         //aqui você faz o código para cadastrar.. ou seja o INSERT into.
    endif;

     

    • Amei 1

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
  • Autor do tópico
  • @DiF Você é o cara, obrigado! Irei testar e comento aqui. Em relação ao código, ele será fixo, nunca irá mudar, então farei direto no php mesmo.

     

    Obrigado mais uma vez!

     

    #edit

    Deu certo, fiz algumas alterações e copiando alguns valores conseguir estabelecer o mesmo padrão. Muito obrigado, você é um mito, me salvou de uma grande dor de cabeça!

    Editado por overloker132
    • Curtir 1

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Crie uma conta ou entre para comentar

    Você precisar ser um membro para fazer um comentário






    Sobre o Clube do Hardware

    No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

    Direitos autorais

    Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

    ×