Ir ao conteúdo

Posts recomendados

Postado

Eu escrevi um arquivo com a extensão ".phtml". Olha o código que quero corrigir:

 

<!DOCTYPE html>
<html lang="pt-br">
    <head>
        <meta charset="utf-8">
        <title>Formulário CRS - 26/03/2018</title>
        <?php
          $nome = $_GET["name"];
          $email = $_GET["email"];
          do
          {
            $escolheSenha = $_GET["password_choose"];
            $confirmaSenha = $_GET["password_confirm"];
          }
          while($escolheSenha <> $confirmaSenha);
          $cancelar = $_GET["cancel"];
          if($cancelar)
          {
            $nome = "";
            $email = "";
            $escolheSenha = "";
            $confirmaSenha = "";
          }
        ?>
    </head>
    <body>
        <form method="get" action="dados.php">
            Nome:<input type="text" maxlength="50" name="name">
            Email:<input type="text" maxlength="35" name="email">
            Escolha uma Senha:<input type="password" maxlength="16" name="password_choose">
            Confirme a Senha:<input type="password" maxlength="16" name="password_confirm">
            <input type="submit" name="save" value="Salvar">
            <input type="button" name="cancel" value="Cancelar">
        </form>
    </body>
</html>

 

  • Moderador
Postado

@EduardoMQS O código php por natureza não é mostrado. Pois o php age do lado do servidor. 

Ou seja, o php é interpretado no servidor e retorna ao cliente o resultado em html.

Não precisa esconder, já que o usuário não tem acesso ao servidor e aos códigos fontes.

 

Fora isso, seu código possui erros.

while($escolheSenha <> $confirmaSenha);

A diferença no php é retratada com " != "   

Só não consegui entender a lógica ao usar um laço do - while para verificar se um é igual ao outro.

 

Poderias fazer desta maneira:

<?php
          $nome = $_GET["name"];
          $email = $_GET["email"];
          $escolheSenha = $_GET["password_choose"];
          $confirmaSenha = $_GET["password_confirm"];

          //testa se os campos estão vazios. 
          if(empty($nome) || empty($email) || empty($escolheSenha) || empty($confirmaSenha)):
              echo "Os campos não podem ficar vazios";
            exit;
          endif;

          //testa se a senha digitada é a mesma nos dois campos.
          if($escolheSenha != $confirmaSenha):
                echo "As senhas não batem. Pode ser que você tenha digitado errado.";
          else:

                /*qui neste bloco de else 
                você põe a lógica se aceitar as duas senhas.. 
                cadastrar no banco de dados.. e etc.*/

          endif;
        ?>

O outro erro que vejo é que você colocou no action do formulário um arquivo php. SE esse dados.php for a mesma página do formulário, é interessante usar o 

action="<?php echo $_SERVER['PHP_SELF']; ?>"

 

A dica do  @navegantenarede  é boa, para separar.  Isso na maior parte das vezes evita erros. Eu particularmente não gosto de submeter um formulário para  mesma página.

  • Curtir 1

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...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!