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

Reduzir Tamanho Do Código


Ewerton

Pergunta

Olá,

Tenho um formulário de contato, e nele quando as informações não está corretas e redirecionado para uma outra página, cujo o endereço é o mesmo (verificacao.htm). Gostaria de não ficar repetindo o echo a todo momento como no código abaixo:

<?php
//Dados do Form
foreach($_POST as $c => $v){ 
$$c = $v; 
}
//Mensagem 
$msg = "Formulário de contato do site EJR DESIGNER:\r\n\r\n";
$msg .= "Nome: $nome\r\n";
$msg .= "E-mail: $email\r\n";
$msg .= "Telefone: $telefone\r\n";
$msg .= "Cidade: $cidade\r\n";
$msg .= "UF: $uf\r\n";
$msg .= "Assunto: $assunto\r\n";
$msg .= "Mensagem: $mensagem\r\n";
//Verificação
if (empty($nome))
{	echo "<meta http-equiv='refresh' content='0;URL=verificacao.htm'>"; }

if (strlen($email)<8 || strstr ($email, '@')==FALSE)
{	echo "<meta http-equiv='refresh' content='0;URL=verificacao.htm'>"; }

if (empty($telefone))
{	echo "<meta http-equiv='refresh' content='0;URL=verificacao.htm'>"; }

if (empty($cidade))
{	echo "<meta http-equiv='refresh' content='0;URL=verificacao.htm'>"; }

if (empty($uf))
{	echo "<meta http-equiv='refresh' content='0;URL=verificacao.htm'>"; }

if (empty($assunto))
{	echo "<meta http-equiv='refresh' content='0;URL=verificacao.htm'>"; }

if (empty($mensagem))
{	echo "<meta http-equiv='refresh' content='0;URL=verificacao.htm'>"; }
//Enviando o e-mail
mail("ewerton@ejrdesigner.com.br", "site EJR DESIGNER", $msg);
//Confirmação
echo "<meta http-equiv='refresh' content='0;URL=confirmacao.htm'>";
?>

É necessário fazer isso para ganhar em desempenho ou não?

Obrigado.

Link para o comentário
Compartilhar em outros sites

20 respostass a esta questão

Posts Recomendados

  • 0

Olá,

Obrigado BEOC. Quanto aos emails com menos de 8 letras e tal, deixei assim a linha:

if (empty($email) || strstr ($email, '@')==FALSE)

Testei e deu certo. Essa verificação já é suficiente?

Quanto ao telefone preciso fazer alguma verficação extra?

Link para o comentário
Compartilhar em outros sites

  • 0

está correto seu código wink.gif

no telefone não será necesssário nada.

ow, o redirecionamento deste jeito não funciona no firefox.

use o header location ou javascript.

falou'ss

Link para o comentário
Compartilhar em outros sites

  • 0

Olá,

Valida melhor o email só pelo tamanho ou se tem @ ainda é uma validação muito fraca, use expressoes regulares pra validar o email com mais exatidao

expressoes regulares?

ow, o redirecionamento deste jeito não funciona no firefox.

use o header location ou javascript.

O header location dá erro. Com javascript como seria?

Obrigado.

Link para o comentário
Compartilhar em outros sites

  • 0

você pode colocar

<script>window.opener.location.href='pagina.php';</script>

Link para o comentário
Compartilhar em outros sites

  • 0

Eu fiz daquele jeito (conforme último post) e funcionou, testei pelo IE e pelo Firefox.

Só tem um detalhe....

Quando a pessoa vai efetuar o login, ela será redirecionada para uma outra página, entre o intervalo da index e a página "restrita" se ela der um STOP --> VIEW --> SOURCE no navegador. Ela consegue ver meu código fonte e saber para onde será redirecionado. (tanto a página que ela será logada ou com a mensagem que não é possível efetuar o login)

Como posso resolver isso?

Obrigado.

Link para o comentário
Compartilhar em outros sites

  • 0

eu coloquei o js porque pediram js... porque nem sempre da pra utilizar o header location por se um cabeçalho... odeio isso!! hehe

e realmente.. não importa se alguém ver sua página de verificação... eu mesmo as vezes faço na mesma do form de login!!

Link para o comentário
Compartilhar em outros sites

  • 0

Valeu galera.... smile.gif

Sobre o Header, não testei nesse sistema de login, mas em um formulário de contato que eu estava fazendo a poucos dias atrás, eu também precisava redirecionar a página (para a mensagem de confirmação ou para preencher os campos corretamente) e não dava certo com o header, utilizei:

echo "<meta http-equiv='refresh' content='0;URL=pagina.htm'>";
Como falaram que não funcionava no Firefox coloquei assim:
echo "<script>window.opener.location.href='pagina.htm';</script>";

Então se não tem problemas do usuário ver a página de verificação tudo bem.

Obrigado a todos.

Link para o comentário
Compartilhar em outros sites

  • 0

o header envia um cabeçalho HTTP e só vai dar problema se já tiver algum texto impresso na página.. pois ele é um comando de 'cabeçalho'...

é +/- isso eu acho.. ehehe tongue.gif

Link para o comentário
Compartilhar em outros sites

  • 0

ahh aki oh.. tongue.gif

Os headers são uma parte do cabeçalho HTTP, logo header() precisa ser chamada antes que qualquer outro dado seja enviado ao navegador. Você pode usar as funções de output buferizado para atrasar as impressões do script até que você tenha decidido ou não enviar mais headers.

é isso aih!

Link para o comentário
Compartilhar em outros sites

  • 0
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,3k
    • Posts
      652,6k
×
×
  • Criar Novo...