Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Lucas Rocha Borges

Erro no php (codigo dificil)

Recommended Posts

Olá amigos,
então antes de apresentar o erro, vou precisar explicar oque o codigo criado faz nos pontos principais..

Cada aluno pode gerar um codigo de ativação, que pode ser enviado para um amigo, e este amigo com esse codigo consegui se cadastrar no site sem precisar da validação do administrador.. na ponta da lingua ele ja recebe o acesso 1.

Lembrando acesso 0 = tem registro, mas não consegui entrar no painel do aluno.
acesso 1= tem registro e entra no painel do aluno, mas não no de adm.(esse sistema ja fiz)

 

Abaixo um resumo, com em parêntese a linha.

;;
(Linha 52) Se o camp de $codact NÃO tiver vazio ( !== ), ele vai ver na database se existe algum codigo de ativação igual ao que ele digitou no campo $codact, se tiver (linha 61) ele cria a conta com acesso 1 e (linha 66) deleta no banco de dados o codigo de ativação que ele digitou. [ Para que outro membro não consiga usa-lo novamente].

[EDIT] ERRO: Consegui arrumar varios erros de syntax, mas agora o else parece q nao ta no lugar certo e nao consigo arrumar ;-; é o else da linha 74. Ele não ta indo para o caso não tenha o row > 0 ..
Codigo PHP:

<?php
include("../connectionsql.php");

     $msg = "";
  if(isset($_POST['sbaluno'])){

      $login = $_POST['login'];
      $senha = $_POST['senha'];
      $csenha = $_POST['csenha'];
      $codact = $_POST['codact'];
      // DADOS PESSOAIS
      $nome = $_POST['nome'];
      $sobrenome = $_POST['sobrenome'];
      $datanasc = $_POST['datanasc'];
      $telresp = $_POST['telresp'];
      $telaluno = $_POST['telaluno'];
      $endereco = $_POST['endereco'];
      $email = $_POST['email'];
      // NIVEIS DE acesso
      $acesson = 1;
      $acessof = 0;



// Confirmação de senha
  if($senha != $csenha){
      echo "<script>alert('A confirmação de senha não corresponde!');</script>";
      exit();

  }else{
          //Verifica se existe login
    $varlogin = $mysqli->query("SELECT * FROM alunos WHERE login='$login'");
    if($varlogin){
        $row = $varlogin->num_rows;
          if($row >  0){
                    echo "<script>alert('ja existe um aluno com este login!');</script>";
              exit();

          }else{

                          //Verifica se existe email
               $varemail = $mysqli->query("SELECT * FROM alunos WHERE email='$email'");
               if($varemail){
                 $row = $varemail->num_rows;
                   if($row >  0){
                    echo "<script>alert('ja existe um aluno com este email!');</script>";
                      exit();

                  }else{
                                
         //Verifica se o usuario digitou o codigo
                            
           if($codact !== ""){
                            //caso tenha a $codact não tiver em branco V
                      $sql = "SELECT * FROM alunos WHERE codigo de ativacao='$codact'";
                     $varcodact = $mysqli->query($sql);
                          if($varcodact){
                           $row = $varcodact->num_rows;
                             if($row >  0){


                              $codok = $mysqli->query("INSERT INTO `alunos`(`login`, `senha`, `nome`, `sobrenome`, `telefone do responsavel`, `telefone do aluno`, `endereco`,  `data de nascimento`, `email`, `acesso`) VALUES ('$login', '$senha', '$nome', '$sobrenome', '$telresp', '$telaluno', '$endereco', '$datanasc', '$email', '$acesson')");
                            
                                    if($codok){
                                      $msg ="Aluno registrado com acesso. Parabéns!";
                                             
                                             $delete = $mysqli->query("DELETE FROM `alunos` WHERE codigo de ativacao='$codact'");
                                              exit();
                                                                
                                                    }else{
                                                       echo $mysqli->error;
                                                            }
                                                          }
                                                   }else{
                                                          //caso o codact não constar no banco de dados V
                                                            echo "<script>alert('CODIGO DE ATIVAÇÃO NÃO EXISTE!');</script>";
                                                       exit();
                                                          }
                                                        
                                                    

                                     
                     
                                 
                                     

                                 
                               }else{
                             
                                             

                        $codno = $mysqli->query("INSERT INTO `alunos`(`login`, `senha`, `nome`, `sobrenome`, `telefone do responsavel`, `telefone do aluno`, `endereco`,  `data de nascimento`, `email`, `acesso`) VALUES ('$login', '$senha', '$nome', '$sobrenome', '$telresp', '$telaluno', '$endereco', '$datanasc', '$email', '$acessof')");
                                      if($codno){

                                          $msg ="Aluno registrado! Aguarde a validação do administrar!";


                                                 }else{
                                                    echo $mysqli->error;


                                                 }

                                      }


                                 }

                            }
                          }
                        }
                      }
                    }







?>


Codigo html(formulário):

    <div id="content">
        <h1>Cadastro de Aluno</h1>
          <div id="content_txt"><p>
                <b>Você esta na area de cadastro de alunos da rede social Marcos Brasil.Saiba como funciona clicando <a href="">aqui</a></b></p><br><br>


              <label>Login</label>
              <input type="text" class="inal" required name="login">
              </br><br>
              <label>Senha</label>
              <input type="password" class="inal" required name="senha">
              </br><br>
              <label>Confirmar senha:</label>
              <input type="password" class="inal" required name="csenha">
              </br><br>
              <label>Codigo de ativação:</label>
              <legend>Caso você não tenha o codigo, deixe o campo em branco e aguarde a validação do administrador.</legend>
              <input type="text" class="inal" name="codact">
              <br><br>
                                  <!-- INFORMAÇÕES PESSOAIS -->

              <hr width="50%"> Informações Pessoais
              <br><br>
              <label>Nome:</label>
              <input type="text" class="inal" required name="nome">
              </br><br>
              <label>Sobrenome:</label>
              <input type="text" class="inal" required name="sobrenome">
              </br><br>
              <label>Data de nascimento:</label>
              <input type="text" class="inal" required name="datanasc">

              </br><br>
              <label>Telefone do responsável:</label>
              <input type="text" class="inal"  required name="telresp">

              </br><br>
              <label>Telefone do aluno:</label>
              <input type="text" class="inal" required name="telaluno">

              </br><br>
              <label>Endereço:</label>
              <input type="text" class="inal" required name="endereco">

              </br><br>
              <label>E-mail:</label>
              <input type="email" class="inal" required name="email">
               </br><br>

               <input type="submit" name="sbaluno"class="sbaluno">







              </div>
      


          
     </div>

Agradeço desde já :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ao todo 18 chaves {}

 

Simplifique fazendo as validações do que realmente é necessário.

$msg = "";
if (isset($_POST['sbaluno'])) {
    
    $login     = $_POST['login'];
    $senha     = $_POST['senha'];
    $csenha    = $_POST['csenha'];
    $codact    = $_POST['codact'];
    // DADOS PESSOAIS
    $nome      = $_POST['nome'];
    $sobrenome = $_POST['sobrenome'];
    $datanasc  = $_POST['datanasc'];
    $telresp   = $_POST['telresp'];
    $telaluno  = $_POST['telaluno'];
    $endereco  = $_POST['endereco'];
    $email     = $_POST['email'];
    // NIVEIS DE acesso
    $acesson   = 1;
    $acessof   = 0;
    
	// Confirmação de senha
    if ($senha != $csenha) {
        echo "<script>alert('A confirmação de senha não corresponde!');</script>";
        exit();
        
    }

   //Verifica se existe login
   $varlogin = $mysqli->query("SELECT * FROM alunos WHERE login='$login'");	
   if ($varlogin->num_rows > 0) {
      echo "<script>alert('ja existe um aluno com este login!');</script>";
      exit();		
   }

...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.