Ajuda com código que teima em não desaparecer.

Zhugo

Membro
Boas a todos!
Gostaria se possível que me ajudassem com este "pequeno" problema.
Estou a acabar de editar umas alterações no meu site, e no separador dos contactos tenho um pequeno problema. Acontece que possivelmente por eu ser um completo noob, aparece o código visível... visto isto não ser a minha especialidade, há por aí alguém que me indique onde é que estou a falhar?
Deixo a imagem para ajudar e o respectivo código mais abaixo... Um bem-haja, obrigado.

c40HDTE.jpg

HTML:
    <!doctype html>
<html>
    <head>
        <meta charset='utf-8'>
        <meta name="viewport" content="width=device-width, initial-scale=1.0">

        <script type="text/javascript" src="js/jquery-2.2.4.js"> </script>
        <script type="text/javascript" src="js/main.js"> </script>

        <link rel="stylesheet" type="text/css" href="fonts/stylesheet.css">
        <link rel="stylesheet" type="text/css" href="css/reset.css">
        <link rel="stylesheet" type="text/css" href="css/style.css">

        <link media="screen and (max-width: 1024px)" rel="stylesheet" type="text/css" href="css/mobile-1024.css">
        <link media="screen and (max-width: 800px)" rel="stylesheet" type="text/css" href="css/mobile-800.css">
        <link media="screen and (max-width: 580px)" rel="stylesheet" type="text/css" href="css/mobile-580.css">
       

           
    </head>

    <body onresize="ajustamenu()" onload="fechamenu()" style="background:url('img/contactos.jpg') top right fixed; background-size:cover" >
        <div class="wrapper"> 

            <header>
                <nav>     
                    <ul>   
                        <li> <a href="index.html"> Home </a> </li>

                        <li> <a href="2musica.html"> Música </a> </li>

                        <li> <a href="3biografia.html"> Biografia </a> </li>
                       
                        <li> <a href="4fotos.html"> Fotos </a> </li>
                       
                        <li> <a href="5apoios.html"> Apoios </a> </li>
                       
                        <li class="item-activo"> <a href="6contactos.php"> Contactos </a> </li>
                    </ul>
                </nav>
            </header>

            <div class="logo2">
                <a href="index.html">
                <img src="img/logo branco.png" >
                </a>

            </div>

            <div onclick="mostraMenuMobile()" class="menu_hamb">
                <img src="img/menu_hamb.png">
            </div>

            <div id="menu_mobile" class="menu_mobile">
                <center>
                <ul>
                    <li> <a href="index.html"> Home </a> </li>

                    <li> <a href="2musica.html"> Música </a> </li>

                    <li> <a href="3biografia.html"> Biografia </a> </li>
                       
                    <li> <a href="4fotos.html"> Fotos </a> </li>
                       
                    <li> <a href="5apoios.html"> Apoios </a> </li>
                       
                    <li> <a href="6contactos.php"> Contactos </a> </li>
                </ul>
                </center>
            </div>

            <div class="provisorio">
                <h2>
                    Contacte através do email [email protected]
                </h2>
            </div>

            <div class="formulario">

                <h2>
                    Contacte através deste formulário, ou do <br>email [email protected]
                </h2>
               
                <form action="contactos.php" method="Post">
       
                    <ul>   
                        <li>
                            <label for="nome">Nome:</label>
                            <br>
                            <input id="nome" type="text" maxlength="30" name="nome" required placeholder="Escreva aqui o seu nome" style="width: 90%; height: 20px;">

                        </li>

                        <li>
                            <label for="email">Email:</label>
                            <br>
                            <input id="email" type="email" name="email" placeholder="Escreva aqui o seu email" style="width: 90%; height: 20px;">

                        </li>

                        <li>
                            <label for="mensagem">Mensagem:</label>
                            <br>
                            <input id="mensagem" type="text" maxlenght="200" name="mensagem" placeholder="Escreva aqui a sua mensagem" style="width: 90%; height: 100px;">

                        </li>


                        <li>
                            <input type="submit" value="Enviar" style="width: 100px; height: 20px;">


                       

                            <?php
                                if(isset($_GET['status']) && $_GET['status']=='ok'){
                                    $resposta = "Mensagem enviada com sucesso!<br> Responderei em breve, obrigado!"<body>;
                                    $format = 'sucesso';

                                } else if(isset($_GET['status']) && $_GET['status']=='notok'){
                                    $resposta = "O email que indicou não é válido.<br> Por favor, tente novamente.";
                                    $format = 'insucesso';


                                } else{
                                    $resposta='';
                                    $format='';
                                }</body>


                            ?>
                            <div class="<?php echo $format; ?>">
                                <?php echo $resposta; ?>
                            </div>
                        </li>

                    </ul>

                </form>
            </div>

            <div class="redes-sociais">
           
                <div>
                    <center><a href="https://www.facebook.com/" target="_blank">
                    <img src="img/social/fb.png"></a></center>
                </div>

                <div>
                    <center><a href="https://www.instagram.com/" target="_blank">
                    <img src="img/social/inst.png"></a></center>
                </div>
       

                <div>
                    <center><a href="https://www.youtube.com/channel/" target="_blank">
                    <img src="img/social/yt.png"></a></center>
                </div>

                <div>
                    <center><a href="https://open.spotify.com/" target="blank">
                    <img src="img/social/spotify.png"></a></center>
                </div>
           
            </div>

        </div>

    </body>   

</html>
 
HTML:
                  <?php
                                if(isset($_GET['status']) && $_GET['status']=='ok'){
                                    $resposta = "Mensagem enviada com sucesso!<br> Responderei em breve, obrigado!"<body>;
                                    $format = 'sucesso';

                                } else if(isset($_GET['status']) && $_GET['status']=='notok'){
                                    $resposta = "O email que indicou não é válido.<br> Por favor, tente novamente.";
                                    $format = 'insucesso';


                                } else{
                                    $resposta='';
                                    $format='';
                                }</body>
                            ?>

À primeira vista tens uma close-tag </body> a mais...
 
E tens o site a correr num servidor quer suporte php?
Correcto!
O estranho é que este separador já existia antes de eu fazer as alterações e nunca deu este problema... a única alteração que eu fiz agora foi reduzir 1 separador, ou seja, o separador dos contactos era:
HTML:
<li class="item-activo"> <a href="7contactos.php"> Contactos </a> </li>
e passou a ser o:
HTML:
<li class="item-activo"> <a href="6contactos.php"> Contactos </a> </li>
:(
 
Boas,

Não utilizo PHP (trabalho com Java profissionalmente, python nas minhas coisas), mas certifica-te que removeste as tags <body> e </body> e não apenas uma delas.
Para além disso, o que está a aparecer na página dá sinais de não estar a ser interpretado como PHP. Não sei que web server estás a utilizar, mas certifica-te que a mudança de nome do ficheiro não está na origem do problema. Se estiveres a utilizar Apache por exemplo, poderás ter regras definidas no servidor para interpretar como PHP os ficheiros X, Y e Z, e os restantes ficheiros servir como conteúdo estático (neste caso, uma página html simples).
O primeiro teste que faria era voltar a renomear para "7contactos.php" e ver se funciona (não esquecer de mudar o href no link).

Deixo aqui as minhas duas sugestões, de alguém que não está familiarizado com php, apenas com programação em geral.

Abraço
 
@Zhugo tenta remover as tags do body que tens no meio do código PHP. Estou a achar estranho isso nem sequer estar a dar erro.

Na linha:
PHP:
$resposta = "Mensagem enviada com sucesso!<br> Responderei em breve, obrigado!"<body>;

Na linha:
PHP:
}</body>

No entanto eu substituia o teu código e tinha-o feito de forma diferente.

Eu transformaria este bocado de código:
Código:
                            <?php
                                if(isset($_GET['status']) && $_GET['status']=='ok'){
                                    $resposta = "Mensagem enviada com sucesso!<br> Responderei em breve, obrigado!"<body>;
                                    $format = 'sucesso';

                                } elseif(isset($_GET['status']) && $_GET['status']=='notok'){
                                    $resposta = "O email que indicou não é válido.<br> Por favor, tente novamente.";
                                    $format = 'insucesso';


                                } else{
                                    $resposta='';
                                    $format='';
                                }</body>
                            ?>
                            <div class="<?php echo $format; ?>">
                                <?php echo $resposta; ?>
                            </div>

Assim:
PHP:
                            <?php
                                if(isset($_GET['status']) && $_GET['status']=='ok'){
                                    $resposta = "Mensagem enviada com sucesso!<br> Responderei em breve, obrigado!";
                                    $format = 'sucesso';
                                }else{
                                    $resposta = "O email que indicou não é válido.<br> Por favor, tente novamente.";
                                    $format = 'insucesso';
                                }
                                echo "<div class='$format'>";
                                echo "<p>$resposta</p>";
                                echo "</div>";
                            ?>

Assumindo que o teu código está OK, só há duas possibilidades, o $_GET['status'] set com "OK" que o e-mail seja enviado com sucesso. A outra opção qualquer uma das combinações faz com que o e-mail não seja enviado com sucesso. Não posso analisar perfeitamente a situação porque não tenho o código todo. Onde está o código que envia o e-mail? Está noutra página? É enviado por Ajax/jQuery que tens carregado na página?

Fundamentalmente a minha opinião passa por imprimires o div de resposta apenas quando o PHP tem alguma coisa a mostrar. Como tens atualmente, ele vai colocar o DIV sempre na página mesmo que não tenha nada. E ele vai aparece sempre porque não tens uma class default com CSS display: none.

De qualquer das formas experimenta remover o que digo inicialmente e vê se funciona.
 
Back
Topo