Sistema de Registro em txt

11 respostas
php7
M

Olá bom dia gostaria de pedir ajuda para encontrar o erro que achei no meu arquivo de registrar contas em php eu criei uma tela de login para meu projeto e nela coloquei os campos.

Nickname
Password
PassConfirm
Email
Captcha

Isso no meu arquivo index.php que possui html nele campo do form (index.php):

<form action="register.php" method="post">
	<center>
 <input type = "text"  class = "warea" name = "nick" placeholder="Nickname" ></input>
 <input type = "password"  class = "warea"  name = "pass" placeholder="Password" ></input>
 <input type = "password"  class = "warea"  name = "passConf" placeholder="Confirm Password" ></input>
 <input type = "email"  class = "warea" name = "email" placeholder="Email" ></input><br>
 <label name = "captcha" id="captchatext"><?php 
echo random_strings(8);
 ?></label><input type = "text"  class = "captcha" name="captchacamp"  placeholder="Copy the image text"  onpaste="return false" ondrop="return false"></input>
 
 </center>
       <center>  
	   <input type="submit" class="button" value="Register Now"><br>
</form>	   
	   <a href="login.html"><input type="button" class="button" value="Back for Home !»"></a>
	   
	   </center>
	  
	  <label id="errors">
	  <font color="red"><?php 
	  
	  
	  //error area site
     // aqui mostra os erros

	  ?></font>
	  </label>

Porém quando tento colocar include Register php na area da label id=“errors” dentro do campo php ele mostra erro no Vertrigo eu uso o seguinte argumento:

include_once ‘register.php’;
echo “echo $errors”;

Só que não consigo capturar a variavel do arquivo register e quando tento fazer o echo lá também não vai.

O arquivo Register. php possui uma outro problema criei variaveis para poder dizer se o a senha e a confirmação são iguais se forem somam +1 a variavel se não tiram 1 e o mesmo com o recaptcha se a variavel for = 2 então confirma.

Porém coloquei um if para se for vazio os campos dar erro e caso der numeros negativos ou maiores que 2 retornar o else porem não entendo porque não funciona e não retorna o erro simplesmente cria a conta sem a verificação.

Codigo Register.php:

<?php 

//Importa os dados do Input
$nickname = $_POST["nick"];
$password = $_POST["pass"];
$passConf = $_POST["passConf"];
$email = $_POST["email"];
$captch = $_POST["captcha"];
$captch = $_POST["captchacamp"];
// Valor que precisa para confirmar é 2
$NeedConfirm = 0;
// Senha confirmation Verifications
 if ($password == $passConf) {
	 $NeedConfirm+= 1; // se for iguais a senha adiciona +1 a variavel
       
        } else {
	$NeedConfirm-= 1; // se não for igual remove -1 a variavel
	$error ="Password is't equals.";
echo "$error";	
        }

// Captch Verifications
 if ($captchacamp == $captcha) {
	  $NeedConfirm+= 1; // se for iguais a senha adiciona +1 a variavel
	  
        } else {
		 $NeedConfirm-= 1; // se não for igual remove -1 a variavel
	$error ="Captch Not Confirmed..";
echo "$error";	
}

if ($NeedConfirm <= 0 || $NeedConfirm > 2) { 
$NeedConfirm = 0; // Se NeedConfirm Menor que 0 e Maior que 2 então é 0
}

// Create account for user
if(($nickname != "") && ($email != "") && ($password != "") && ($NeedConfirm = 1)) {
$error = "Invalid Camp Voids.";
echo "$error";
}
//error area
if ($NeedConfirm = 2) { // se needconfirm = 2  então pode confirmar
// Se os campos não estiverem vazios então faça
	/* Exibir os dados
 		echo "Nome: " . $_SESSION["Name"] . ".<br>";
 		echo "Senha: " . $_SESSION["Pass"] . ".<br>";
 		echo "Email: " . $_SESSION["Email"] . ".<br>";*/
 	
 		//Salva no arquivo .txt
 		$arquivo = 'temp/newaccount.txt';
 		$conteudo = $nickname.' '.$pass.' '.$email;
 		$fp = fopen($arquivo, 'r+');
		fwrite($fp, $conteudo);
 		fclose($fp);
 		header('Location: ./login.html?sucessfully');
} 
	else {
	$NeedConfirm = 0; // se não for verdadeira as condições $needconfirm retorna ao inicio.
	$error = "some fields are empty.";
	echo "$error";
	header('Location: ./ChargeurRegister.php?Error');
	}


?>

Quem puer me ajudar a resolver o porblema agradeço , desde já obrigado.
fiquem com Deus.

11 Respostas

J

Chegou a debugar ver como ta se comportando a execução if?

M

sim, os ifs não estão dando erros nem nada porem eles não executam

J

Mas o que retorna em cada variavel do if quando debuga?

M

então , eles não retornam erros, porem os sistemas não funcionam exemplo.

quando coloco senhas diferentes era pra n executar o registro porem ele grava no txt.
quando não marco o captcha também registra

e se os capos forem vazios também

J

Digo a nível de execução de código no php. Quando debugar e chegar na linha do if, ver o conteúdo de cada variavel. Assim vai entender o que ta acontecendo, se por a caso a variavel nao recebeu o valor esperado pra dar certo a condição do if, etc.

M

cheguei a fazer isso porem não sei quais ifs não respodem

J

Nao sei como ta debugando pra nao conseguir isso. Qual IDE está usando? Debugando linha a linha vai saber qual if nao se comporta como esperado.

M

to usando vertrigo local

J

Isso nao é IDE. Estou falando de Eclipse, PHPStorm, etc. Onde voce escreve o seu código PHP?

M

notepad ++

J

Notepad++??! Assim fica difícil mesmo.

Criado 24 de agosto de 2020
Ultima resposta 26 de ago. de 2020
Respostas 11
Participantes 2