Ir para conteúdo
Fórum Script Brasil
  • 0

Mural em PHP, preenchimento obrigatório e validação de e-mail


Renato Feitosa

Pergunta

Olá pessoal, sou novo em PHP, e estou com 2 problemas com um mural, mas acho que vocês vão me ajudar a resolver, é um mural simples sem mysql, no qual se grava as mensagens em um arquivo txt.

1-fiz o mural e testei no meu servidor local, localhost, e ficou tudo certo, quando publico para web da erro, vou postar os códigos:

Mensagem de erro no browser do chrome depois que envio o mural para meu servidor na web:

PHP Warning: fread() [<a href='function.fread'>function.fread</a>]: Length parameter must be greater than 0 in E:\home\bandabigbal\Web\mural.php on line 100

código da página mural.php:

<div id="conteudo_centro">

<h2>Mural Big Balada</h2>

&lt;script>
        
        function inseresmile(string) {
                document.form.mensagem.value = document.form.mensagem.value +" "+string +" ";
                document.form.mensagem.focus();
        }
        
        function VisualizarEnvia() {
                
                document.getElementById("divMural").style.display = "block";
                document.getElementById("btnMural").style.display = "none";
                
        }
        
</script>

<INPUT type="button" id="btnMural" value="Envie uma mensagem" style="width:100%; font-size:20px; font-weight:bold;" onclick="VisualizarEnvia();" />

<div id="divMural" style="display:none;">
        <H3>Envie uma mensagem:</H3>

        <form id="frmMural" method="post" action="mural_add.php">
                <table id="real_label"> 
                          <tr>
                            <td width="0%">
                                Nome:
                            </td>
                            <td width="100%" colspan="5">
                                <input id="real_text" type="text" name="de">
                            </td>
                          </tr>
                          <tr>
                            <td width="0%">
                                e-mail:
                            </td>
                            <td width="100%" colspan="5">
                                <input id="real_text" type="text" name="email">
                            </td>
                          </tr>
                          <tr>
                            <td width="0%">
                                País:
                            </td>
                            <td width="40%">
                                <input id="real_text" type="text" name="pais">
                            </td>
                            <td width="0%">
                                Estado:
                            </td>
                            <td width="20%">
                                <input id="real_text" type="text" name="estado">
                            </td>
                <td width="0%">
                                Cidade:
                            </td>
                            <td width="40%">
                                <input id="real_text" type="text" name="cidade">
                            </td>
                          </tr>
                          <tr> 
                            <td valign="top">
                                Recado:
                            </td>
                            <td valign="top" colspan="5">
                                <textarea rows=5 type="text" id="real_text" name="mensagem"></textarea>
                            </td>
                         
                          <tr>
                              <td colspan="6" align="center">
                                  <table id="mural" style="width:470px;"><tr>
                                              <td>
                                                  <img src="captcha.php" width="233" height="49">
                                              </td>
                                              <td id="conteudo_centro" valign="center">
                                                  Informe o texto ao lado:<br><input id="real_text" type="text" name="captcha" style="text-align:center;">
                                              </td>                       
                                  </tr></table>
                              </td>
                          </tr>
                          <tr>
                            <td colspan="6" align="center" valign="top"> 
                                    <input id="real_button" style="width:470px" type="submit" value="Enviar" name="acao">
                            </td>
                          </tr>         
                </table>
        </form>
        <hr>
</div>

<table id="real_label" style="width:100%;">
  <tr>
    <td>
       <?php
                $banco = "recados/recados.txt";
                $arquivo = fopen($banco,"r");
                $while = fread($arquivo,filesize($banco));
                if($while == "0") {
                    echo"<br><br><br><br><center>Nenhum recado inserido!</center><br><br><br><br>";
                } else {
                    echo "<table width='90%'>$while</table>";
                }
                fclose($arquivo);
       ?>
    </td>
  </tr>
</table>


</div>
Código da página mural_add.php
<?php
        session_start();


        $de = $_POST['de'];
        if (empty($de)){
                echo "&lt;script>window.location='index.php?page=mural.php&warning=O campo Nome é obrigatório!'</script  >";
        }
        $email = $_POST['email'];
        if (empty($email)){
                echo "&lt;script>window.location='index.php?page=mural.php&warning=O campo e-mail é obrigatório!'</script  >";
        }
        $pais = $_POST['pais'];
        if (empty($pais)){
                echo "&lt;script>window.location='index.php?page=mural.php&warning=O campo País é obrigatório!'</script  >";
        }
        $estado = $_POST['estado'];
        if (empty($estado)){
                echo "&lt;script>window.location='index.php?page=mural.php&warning=O campo Estado é obrigatório!'</script  >";
        }
        $cidade = $_POST['cidade'];
        if (empty($cidade)){
                echo "&lt;script>window.location='index.php?page=mural.php&warning=O campo Cidade é obrigatório!'</script  >";
        }
        $mensagem = str_replace("\n","<br>",$_POST['mensagem']);
        if (empty($mensagem)){
                echo "&lt;script>window.location='index.php?page=mural.php&warning=O campo Recado é obrigatório!'</script  >";
        }
        $banco = "recados/recados.txt";
        $textoCaptcha = $_POST['captcha'];
        $sessionCaptcha = $_SESSION['textoCaptcha'];
                
        if($_POST['acao'] == "Enviar") {
                if (($textoCaptcha != "") && ($textoCaptcha == $sessionCaptcha)) {
                        $ip = getenv("REMOTE_ADDR");
                        $data = date("d/m/Y - H:i:s");
                        $arquivo = fopen("$banco","r");
                        $while = fread($arquivo,filesize($banco));
                        fclose($arquivo);
                        $abrir = fopen("$banco","w");
                        if ($while == "0") {
                            $while = "";
                        } 
                        
                        $salvar = "<table id='mural'> 
                        <tr>
                        <td id='mural_label' >Nome:</td><td id='mural_text' colspan=3>$de</td>
                        <td id='mural_label' >IP:</td><td id='mural_text' >$ip</td></tr>
                        <tr>
                        <td id='mural_label' >e-mail:</td><td id='mural_text' colspan=3>$email</td>
                        <td id='mural_label' >Data:</td><td id='mural_text' >$data</td></tr>
                        <tr>
                        <td id='mural_label' >País:</td><td id='mural_text' width=30%>$pais</td>
                        <td id='mural_label' width=0% >Estado:</td><td id='mural_text' width=30%>$estado</td>
                        <td id='mural_label' width=0% >Cidade:</td><td id='mural_text' width=40%>$cidade</td>
            </tr>
                        <tr><td id='mural_label' >Recado:</td><td id='mural_text' colspan=6>$mensagem</td></tr>
            </table>
                        $while";
                        
                        fwrite($abrir,"$salvar");
                        fclose($abrir);
                        echo"&lt;script>window.location='index.php?page=mural.php&warning=Mensagem registrada!'</script>";
                }
                else {
                        echo"&lt;script>window.location='index.php?page=mural.php&warning=Texto [$sessionCaptcha] não confirmado, mensagem não registrada!'</script>";
                }
        }
?>

2- A segunda dúvida é mais simples, alguém pode me passar um script ,e onde insiro dentro do código, para validação de e-mail e host, consegui alguns mas não sei exatamnete aonde inserir

Abraço a todos!

Editado por Renato Feitosa
Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

BOM DIA RENATO,

CARA LHE ACONSELHOI A USAR O MYSQL COMO BANCO, NÃO HÁ ERRO NO SEU CODIGO DO MURAL, O PROBLEMA ESTÁ NO HOST.

ALGUMAS FUNCIONALIDADES DE BANCOS TXT DÁ NISTO AI.

JÁ A SEGUNDA QUESTÃO, NO PROPRIO DREAMWAVER TEM A VALIDAÇÃO DE EMAIL.

CLIQUE NO BOTAO DE ENVIAR E VÁ EM BEHAVIORS, E CLIQUE EM SEGUIDA NO +, VÁ EM VALIDATE FORM E ESCOLHA O CAMPO DESEJADO.

ÓTIMA OPÇÃO PARA NÃO PROGRAMADORES, FÁCIL E RÁPIDO.

Link para o comentário
Compartilhar em outros sites

  • 0
BOM DIA RENATO,

CARA LHE ACONSELHOI A USAR O MYSQL COMO BANCO, NÃO HÁ ERRO NO SEU CODIGO DO MURAL, O PROBLEMA ESTÁ NO HOST.

ALGUMAS FUNCIONALIDADES DE BANCOS TXT DÁ NISTO AI.

JÁ A SEGUNDA QUESTÃO, NO PROPRIO DREAMWAVER TEM A VALIDAÇÃO DE EMAIL.

CLIQUE NO BOTAO DE ENVIAR E VÁ EM BEHAVIORS, E CLIQUE EM SEGUIDA NO +, VÁ EM VALIDATE FORM E ESCOLHA O CAMPO DESEJADO.

ÓTIMA OPÇÃO PARA NÃO PROGRAMADORES, FÁCIL E RÁPIDO.

INTUITO,muito obrigado pela atenção, O problema com era realmente no host mas já foi resolvido, consegui publicar, sobre a validação de e-mail vou pesquisar mais um pouco.

Abraço!

Link para o comentário
Compartilhar em outros sites

  • 0
Olá pessoal, sou novo em PHP, e estou com 2 problemas com um mural, mas acho que vocês vão me ajudar a resolver, é um mural simples sem mysql, no qual se grava as mensagens em um arquivo txt.

1-fiz o mural e testei no meu servidor local, localhost, e ficou tudo certo, quando publico para web da erro, vou postar os códigos:

Mensagem de erro no browser do chrome depois que envio o mural para meu servidor na web:

PHP Warning: fread() [<a href='function.fread'>function.fread</a>]: Length parameter must be greater than 0 in E:\home\bandabigbal\Web\mural.php on line 100

código da página mural.php:

<div id="conteudo_centro">

<h2>Mural Big Balada</h2>

&lt;script>
        
        function inseresmile(string) {
                document.form.mensagem.value = document.form.mensagem.value +" "+string +" ";
                document.form.mensagem.focus();
        }
        
        function VisualizarEnvia() {
                
                document.getElementById("divMural").style.display = "block";
                document.getElementById("btnMural").style.display = "none";
                
        }
        
</script>

<INPUT type="button" id="btnMural" value="Envie uma mensagem" style="width:100%; font-size:20px; font-weight:bold;" onclick="VisualizarEnvia();" />

<div id="divMural" style="display:none;">
        <H3>Envie uma mensagem:</H3>

        <form id="frmMural" method="post" action="mural_add.php">
                <table id="real_label"> 
                          <tr>
                            <td width="0%">
                                Nome:
                            </td>
                            <td width="100%" colspan="5">
                                <input id="real_text" type="text" name="de">
                            </td>
                          </tr>
                          <tr>
                            <td width="0%">
                                e-mail:
                            </td>
                            <td width="100%" colspan="5">
                                <input id="real_text" type="text" name="email">
                            </td>
                          </tr>
                          <tr>
                            <td width="0%">
                                País:
                            </td>
                            <td width="40%">
                                <input id="real_text" type="text" name="pais">
                            </td>
                            <td width="0%">
                                Estado:
                            </td>
                            <td width="20%">
                                <input id="real_text" type="text" name="estado">
                            </td>
                <td width="0%">
                                Cidade:
                            </td>
                            <td width="40%">
                                <input id="real_text" type="text" name="cidade">
                            </td>
                          </tr>
                          <tr> 
                            <td valign="top">
                                Recado:
                            </td>
                            <td valign="top" colspan="5">
                                <textarea rows=5 type="text" id="real_text" name="mensagem"></textarea>
                            </td>
                         
                          <tr>
                              <td colspan="6" align="center">
                                  <table id="mural" style="width:470px;"><tr>
                                              <td>
                                                  <img src="captcha.php" width="233" height="49">
                                              </td>
                                              <td id="conteudo_centro" valign="center">
                                                  Informe o texto ao lado:<br><input id="real_text" type="text" name="captcha" style="text-align:center;">
                                              </td>                       
                                  </tr></table>
                              </td>
                          </tr>
                          <tr>
                            <td colspan="6" align="center" valign="top"> 
                                    <input id="real_button" style="width:470px" type="submit" value="Enviar" name="acao">
                            </td>
                          </tr>         
                </table>
        </form>
        <hr>
</div>

<table id="real_label" style="width:100%;">
  <tr>
    <td>
       <?php
                $banco = "recados/recados.txt";
                $arquivo = fopen($banco,"r");
                $while = fread($arquivo,filesize($banco));
                if($while == "0") {
                    echo"<br><br><br><br><center>Nenhum recado inserido!</center><br><br><br><br>";
                } else {
                    echo "<table width='90%'>$while</table>";
                }
                fclose($arquivo);
       ?>
    </td>
  </tr>
</table>


</div>
Código da página mural_add.php
<?php
        session_start();


        $de = $_POST['de'];
        if (empty($de)){
                echo "&lt;script>window.location='index.php?page=mural.php&warning=O campo Nome é obrigatório!'</script  >";
        }
        $email = $_POST['email'];
        if (empty($email)){
                echo "&lt;script>window.location='index.php?page=mural.php&warning=O campo e-mail é obrigatório!'</script  >";
        }
        $pais = $_POST['pais'];
        if (empty($pais)){
                echo "&lt;script>window.location='index.php?page=mural.php&warning=O campo País é obrigatório!'</script  >";
        }
        $estado = $_POST['estado'];
        if (empty($estado)){
                echo "&lt;script>window.location='index.php?page=mural.php&warning=O campo Estado é obrigatório!'</script  >";
        }
        $cidade = $_POST['cidade'];
        if (empty($cidade)){
                echo "&lt;script>window.location='index.php?page=mural.php&warning=O campo Cidade é obrigatório!'</script  >";
        }
        $mensagem = str_replace("\n","<br>",$_POST['mensagem']);
        if (empty($mensagem)){
                echo "&lt;script>window.location='index.php?page=mural.php&warning=O campo Recado é obrigatório!'</script  >";
        }
        $banco = "recados/recados.txt";
        $textoCaptcha = $_POST['captcha'];
        $sessionCaptcha = $_SESSION['textoCaptcha'];
                
        if($_POST['acao'] == "Enviar") {
                if (($textoCaptcha != "") && ($textoCaptcha == $sessionCaptcha)) {
                        $ip = getenv("REMOTE_ADDR");
                        $data = date("d/m/Y - H:i:s");
                        $arquivo = fopen("$banco","r");
                        $while = fread($arquivo,filesize($banco));
                        fclose($arquivo);
                        $abrir = fopen("$banco","w");
                        if ($while == "0") {
                            $while = "";
                        } 
                        
                        $salvar = "<table id='mural'> 
                        <tr>
                        <td id='mural_label' >Nome:</td><td id='mural_text' colspan=3>$de</td>
                        <td id='mural_label' >IP:</td><td id='mural_text' >$ip</td></tr>
                        <tr>
                        <td id='mural_label' >e-mail:</td><td id='mural_text' colspan=3>$email</td>
                        <td id='mural_label' >Data:</td><td id='mural_text' >$data</td></tr>
                        <tr>
                        <td id='mural_label' >País:</td><td id='mural_text' width=30%>$pais</td>
                        <td id='mural_label' width=0% >Estado:</td><td id='mural_text' width=30%>$estado</td>
                        <td id='mural_label' width=0% >Cidade:</td><td id='mural_text' width=40%>$cidade</td>
            </tr>
                        <tr><td id='mural_label' >Recado:</td><td id='mural_text' colspan=6>$mensagem</td></tr>
            </table>
                        $while";
                        
                        fwrite($abrir,"$salvar");
                        fclose($abrir);
                        echo"&lt;script>window.location='index.php?page=mural.php&warning=Mensagem registrada!'</script>";
                }
                else {
                        echo"&lt;script>window.location='index.php?page=mural.php&warning=Texto [$sessionCaptcha] não confirmado, mensagem não registrada!'</script>";
                }
        }
?>
2- A segunda dúvida é mais simples, alguém pode me passar um script ,e onde insiro dentro do código, para validação de e-mail e host, consegui alguns mas não sei exatamnete aonde inserir Abraço a todos!
Bom pessoal, resolvido o problema com o host consegui publicar o mural, estou com as seguintes dúvidas: 1-como podem ver no código acima coloquei o seguinte script pra evitar que os do formulário fiquem em branco
$de = $_POST['de'];
        if (empty($de)){
                echo "&lt;script>window.location='index.php?page=mural.php&warning=O campo Nome é obrigatório!'</script  >";
        }

Quando a pessoa preenche o formulário e envia com algum campo em branco, a mensagem o "campo Nome é obrigatório" aparesse, mas a mensagem é enviada com o campo em branco para o mural.....como faço pra que a mensagem só seja enviada com o campo preenchido, caso não seja retorne para o formulário de preenchimento?

2 -alguém pode me passar um script ,e onde insiro dentro do código, para validação de e-mail e host, consegui alguns mas não sei exatamnete aonde inserir

O mural está no meu site: banda big balada

Editado por Renato Feitosa
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...