Ir ao conteúdo
  • Cadastre-se

PHP Cadastro somente com código


Ir à solução Resolvido por DiF,

Posts recomendados

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!

Link para o comentário
Compartilhar em outros sites

  • Moderador

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

  • Moderador
  • Solução

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

@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!

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades 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

×
×
  • Criar novo...