Ir ao conteúdo
  • Cadastre-se
EduardoMQS

HTML Como esconder o código PHP de uma página HTML?

Recommended Posts

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>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

@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

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

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

×