Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 291

Validação conforme dominio do site

05-01-2015 09:51

Um help por gentileza !!!


A mensagem só será enviada caso o campo Email tenha depois do arroba o mesmo domínio preenchido no campo Site. Exemplo

Passado:
Site: meusite.com.br
Email: joao@meusite.com.br

Reprovado:
Site: meusite.com.br
Email: joao@hotmail.com

Lembrando que na verificação é preciso tirar o WWW, http:, "/" no final (ex: .com/, .br/) e também desconsiderar alguma coisa após p dominio, muitas vezes o cliente pode preencher "meusite.com.br/index.php"


Grato !

Grato !
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17740
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Validação conforme dominio do site

05-01-2015 11:18

Você pode usar o seguinte:

$url = "http://www.site.com/outra-coisa"; $email = "email@site.com"; echo str_replace("www.", "", parse_url($url)['host']); echo explode("@", $email)[1];

Usando o parse_url, é necessário que o usuário inicie o url pelo http. Outra opção seria fazer por explode.

Ai é só comparar em um if os 2 resultados.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 291

Validação conforme dominio do site

05-01-2015 12:18

desculpe mas não entendi onde coloco o que vc mensionou acima !

o formulário está asssim:

<form action="#" method="post" >             <?php                                  if(isset($_POST['submit'])){                                  if(PHP_OS == "Linux") $quebra_linha = "\n"; //Se for Linux                 elseif(PHP_OS == "WINNT") $quebra_linha = "\r\n"; // Se for Windows                 else die("Este script nao esta preparado para funcionar com o sistema operacional de seu servidor");                                  $nome           = $_POST['nome'];                 $nomeTratado    = tratar_letras($_POST['nome']);                 $empresa        = $_POST['empresa'];                 $telefone       = $_POST['telefone'];                 $email          = $_POST['email'];                 $site           = $_POST['site'];                 $como_conheceu  = $_POST['como_conheceu'];                 $mensagem       = $_POST['mensagem'];                 $assunto        = "Contato via site";                                   $date           = date("d/m/Y H:i:s");               //função para pegar a data de envio do e-mail                 $ip             = $_SERVER['REMOTE_ADDR'];           //função para pegar o ip do usuário                 $navegador      = $_SERVER['HTTP_USER_AGENT'];       //função para pegar o navegador do visitante                 $verifica_email ="^[a-z A-Z 0-9 _ - .]+[@]+[a-z A-Z 0-9 _ - .]+[.]+[a-z A-Z 0-9 _ - .]^";                                                                          $erros = "";                 if(empty($_POST['nome']))                 {                     $erros .= '<div id="Erro"><img src="imagens/erro.gif" />Insira seu NOME</div><br />';                 }                                  elseif(empty($_POST['telefone']))                 {                     $erros .= '<div id="Erro"><img src="imagens/erro.gif" />Insira seu TELEFONE</div><br />';                 }                                  elseif(empty($_POST['email']))                 {                     $erros .= '<div id="Erro"><img src="imagens/erro.gif" />Insira um EMAIL</div><br />';                 }                 elseif(empty($_POST['site']))                 {                     $erros .= '<div id="Erro"><img src="imagens/erro.gif" />Insira o endereço do site</div><br />';                 }                                  elseif (!preg_match($verifica_email,$email))                 {                     $erros .= '<div id="Erro"><img src="imagens/erro.gif" />Insira um EMAIL válido</div><br />';                 }                                  elseif(empty($_POST['como_conheceu']))                 {                     $erros .= '<div id="Erro"><img src="imagens/erro.gif" />Selecione uma das opções COMO NOS CONHECEU?</div><br />';                 }                                                         elseif(empty($_POST['mensagem']))                 {                     $erros .= '<div id="Erro"><img src="imagens/erro.gif" />Escreva sua MENSAGEM</div><br />';                 }                                  elseif(empty($_POST['captcha']))                 {                     $erros .= '<div id="Erro"><img src="imagens/erro.gif" />Digite o código</div><br />';                 }                                  elseif($_SESSION['captcha'] !== $_POST['captcha'])                 {                     $erros .= '<div id="Erro"><img src="imagens/erro.gif" />O código digitado não confere</div><br />';                 }                                  if( empty($erros) ){                                      $dominio = str_replace('www.', '', $dominio);                                          $phpmail = new PHPMailer();                                          $phpmail->IsSMTP(); // envia por SMTP                     $phpmail->Host      = $dominio; // SMTP servers                     $phpmail->SMTPAuth  = true; // Caso o servidor SMTP precise de autenticação                     $phpmail->Username  = $emailRemetente; // SMTP username                     $phpmail->Password  = $senhaEmail; // SMTP password                                      $phpmail->IsHTML(true);                     $phpmail->From      = $emailRemetente;                     $phpmail->FromName  = $nomeTratado;                     $phpmail->Sender    = $emailRemetente;                                      $phpmail->AddAddress($emailContato);                     //$phpmail->AddCC ('xxxxx@dominio.com');                     //$phpmail->AddBCC('xxxxx@dominio.com');                     $phpmail->AddReplyTo($email, $nomeTratado);                     $phpmail->Subject = $assunto;                     $phpmail->Body .= "<h2>Contato via site $nomeSite</h2>                     <div style=\"font: 12px calibri, arial, tahoma;\">                     <table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">                         <tr>                             <td valign=\"top\" style=\"width: 160px;\">                                 <strong>                                     Nome:<br />                                     Empresa:<br />                                     Telefone:<br />                                     Email:<br />                                     Site:<br />                                     Como nos conheceu?:<br />                                     Mensagem:<br />                                 </strong>                             </td>                             <td valign=\"top\">                                 $nome<br />                                 $empresa<br />                                 $telefone<br />                                 $email<br />                                 $como_conheceu<br />                             </td>                         </tr>                     </table>                     $mensagem<br />                     </div>                     <font color='#666666' size='1'><br /><br />Email enviado em: $date - IP: $ip <br /> (Enviado via SMTP)</font><br />";                                  $send = $phpmail->Send();                 if($send)                 {                     echo '<div id="Sucesso"><img src="imagens/sucesso.png" />Email Enviado com Sucesso...</div><br />';                     echo '<meta HTTP-EQUIV="Refresh" CONTENT="6;URL='.$url.'">' ;                 }                 if(!$send)                 {                         // mensagem que vai para o destinatario                         $msg="                         <h2>Contato via site $nomeSite</h2>                         <div style=\"font: 12px calibri, arial, tahoma;\">                         <table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">                             <tr>                                 <td valign=\"top\" style=\"width: 160px;\">                                     <strong>                                         Nome:<br />                                         Empresa:<br />                                         Telefone:<br />                                         Email:<br />                                         Site:<br />                                         Como nos conheceu?:<br />                                         Mensagem:<br />                                     </strong>                                 </td>                                 <td valign=\"top\">                                     $nome<br />                                     $empresa<br />                                     $telefone<br />                                     $email<br />                                     $como_conheceu<br />                                 </td>                             </tr>                         </table>                         $mensagem<br /><br />                         </div>                         <font color='#666666' size='1'><br /><br />Email enviado em: $date - IP: $ip <br /> (Enviado deslogado)</font><br />";                                                  /* Montando o cabeçalho da mensagem */                         $headers = "MIME-Version: 1.1".$quebra_linha;                         $headers .= "Content-type: text/html; charset=utf-8".$quebra_linha;                         // Perceba que a linha acima contém "text/html", sem essa linha, a mensagem não chegará formatada.                         $headers .= "From: \"$nomeSite\" <$emailRemetente>".$quebra_linha;                         $headers .= "Return-Path: \"$nomeSite\" <$emailRemetente>".$quebra_linha;                         // Esses dois "if's" abaixo são porque o Postfix obriga que se um cabeçalho for especificado, deverá haver um valor.                         // Se não houver um valor, o item não deverá ser especificado.                         if(strlen($comcopia) > 0) $headers .= "Cc: ".$comcopia.$quebra_linha;                                                  if(strlen($comcopiaoculta) > 0) $headers .= "Bcc: ".$comcopiaoculta.$quebra_linha;                         $headers .= "Reply-To: \"$nomeTratado\" <$email>".$quebra_linha;                         // Note que o e-mail do remetente será usado no campo Reply-To (Responder Para)                                                  /* Enviando a mensagem */                         $mail = mail($emailContato, $assunto, $msg, $headers, "-r". $emailContato);                                              // verifica se email foi enviado com sucesso                       if($mail==TRUE)                         {                             echo '<div id="Sucesso"><img src="imagens/sucesso.png" />Email Enviado com Sucesso!</div>';                             echo '<meta HTTP-EQUIV="Refresh" CONTENT="6;URL='.$url.'">' ;                         }                         else                          {                             echo '<div id="Erro"><img src="imagens/erro.gif" />Email Falhou!</div>';                         }                 }                 }                 else                 {                     echo $erros;                 }                 }             ?>             <input  placeholder="Nome*" onKeyUp="UcWords(this)" name="nome" value="<?php echo($nome);?>" type="text" size="35" required /><br />             <input placeholder="Empresa" value="<?php echo($empresa);?>" name="empresa" id="empresa" type="text" size="30" onKeyUp="UcWords(this)" /><br />             <input placeholder="Telefone* (##)#########" name="telefone" value="<?php echo($telefone);?>" type="text" size="30" maxlength="13" onKeyUp="return autoTab(this, 13, event);" onKeyPress="formatar(this, '(##)#########');return numbersonly(this, event)" required /><br />             <input placeholder="Email*" onKeyUp="minusculas(this)" name="email" value="<?php echo($email);?>" type="text" size="35" required /><br />             <input placeholder="Site*" onKeyUp="minusculas(this)" name="site" value="<?php echo($site);?>" type="text" size="35" required /><br />             <label>Como nos conheceu? <span class="alerta">*</span></label><br/>             <select name="como_conheceu" required >                 <option value="">-- Selecione --</option>                 <option <? if ($como_conheceu== 'Busca do Google') echo "selected"; ?> value="Busca do Google">Busca do Google</option>                 <option <? if ($como_conheceu== 'Outros Buscadores') echo "selected"; ?> value="Outros Buscadores">Outros Buscadores</option>                 <option <? if ($como_conheceu== 'Links patrocinados') echo "selected"; ?> value="Links patrocinados">Links patrocinados</option>                 <option <? if ($como_conheceu== 'Facebook') echo "selected"; ?> value="Facebook" onClick="esconde()">Facebook</option>                 <option <? if ($como_conheceu== 'Twitter') echo "selected"; ?> value="Twitter" onClick="esconde()">Twitter</option>                 <option <? if ($como_conheceu== 'Google+') echo "selected"; ?> value="Google+" onClick="esconde()">Google+</option>                 <option <? if ($como_conheceu== 'Indicação de um amigo') echo "selected"; ?> value="Indicação de um amigo" onClick="esconde()">Indicação de um amigo</option>                 <option <? if ($como_conheceu== 'Outros') echo "selected"; ?> value="Outros" onClick="esconde()">Outros</option>             </select>             <br />             <textarea placeholder="Mensagem*" name="mensagem" cols="37" rows="10" required><?=$mensagem;?></textarea><br />             <label>Código de segurança <span class="alerta">*</span>:</label><br/>             <input type="text" name="captcha" value="" size="20" required /><br /><br />             <label style="color: #fff;">.</label><img src="captcha/captcha.php" alt="código captcha" /><br /><br />             <label style="color: #fff;">.</label><input type="submit" name="submit" value="Enviar mensagem"/><br /><br />             <label style="color: #fff;">.</label>Os campos com (<span class="alerta">*</span>) são obrigatórios.<br /><br /><br /><br />         </form>

poderia me ajudar nesse caso ?
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17740
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Validação conforme dominio do site

05-01-2015 12:41

No seu código tem:

$email          = $_POST['email']; $site           = $_POST['site']; 

Que irá se substituído por

$v1 = $_POST['site']; $v2 = $_POST['email']; $site = str_replace("www.", "", parse_url($v1)['host']); $email = explode("@", $v2)[1]; 

0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 291

Validação conforme dominio do site

05-01-2015 14:01

desculpe mas deu erro nisso:

                $v1             = $_POST['site'];         $v2             = $_POST['email'];         $site           = str_replace("www.", "", parse_url($v1)['host']);                 $email          = explode("@", $v2)[1]; 

substitui mas está dando erro

                $nome           = $_POST['nome'];                 $nomeTratado    = tratar_letras($_POST['nome']);                 $empresa        = $_POST['empresa'];                 $telefone       = $_POST['telefone'];                 $v1             = $_POST['site'];         $v2             = $_POST['email'];         $site           = str_replace("www.", "", parse_url($v1)['host']);                 $email          = explode("@", $v2)[1];                 $como_conheceu  = $_POST['como_conheceu'];                 $mensagem       = $_POST['mensagem'];                 $assunto        = "Contato via site";                                   $date           = date("d/m/Y H:i:s");               //função para pegar a data de envio do e-mail                 $ip             = $_SERVER['REMOTE_ADDR'];           //função para pegar o ip do usuário                 $navegador      = $_SERVER['HTTP_USER_AGENT'];       //função para pegar o navegador do visitante                 $verifica_email ="^[a-z A-Z 0-9 _ - .]+[@]+[a-z A-Z 0-9 _ - .]+[.]+[a-z A-Z 0-9 _ - .]^";                                                                          $erros = ""; 

0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17740
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Validação conforme dominio do site

05-01-2015 15:32

Testou o código que eu enviei primeiro para ver como funciona?
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 291

Validação conforme dominio do site

05-01-2015 15:39

sim deu erro !!!

echo str_replace("www.", "", parse_url($url)['host']); echo explode("@", $email)[1]; 

e

                $site           = str_replace("www.", "", parse_url($v1)['host']);                 $email          = explode("@", $v2)[1]; 

também
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17740
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Validação conforme dominio do site

05-01-2015 15:53

Qual erro? Testou a URL com o http://www.....?
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 291

Validação conforme dominio do site

05-01-2015 16:01

nessas duas linhas de códigos que me sugeriu para substituir:

                $site           = str_replace("www.", "", parse_url($v1)['host']);                 $email          = explode("@", $v2)[1];  

fiz a substituição como sugeriu e dá erro

$site          = $_POST['site']; $email          = $_POST['email']; por:                 $v1             = $_POST['site'];         $v2             = $_POST['email'];                  $site           = str_replace("www.", "", parse_url($v1)['host']);                 $email          = explode("@", $v2)[1]; 

0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17740
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Validação conforme dominio do site

05-01-2015 16:04

Mas você tem que observar o formato dos valores que estão sendo enviados via POST.
Faz um teste no formato que enviei.

http://www.site.com/outra-coisa
email@site.com


Se der erro com o formato padrão, informa o erro que retornou em sua página.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 291

Validação conforme dominio do site

05-01-2015 16:25

testei, deu erro novamente, está dando erro de linha de código !

conforme a numeração printada na tela, se refere as duas linhas de codigos que me passou !

                $site           = str_replace("www.", "", parse_url($v1)['host']);                 $email          = explode("@", $v2)[1]; 

0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17740
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Validação conforme dominio do site

05-01-2015 16:30

Veja um exemplo, é só adaptar ao seu código

<?php if(isset($_POST['submit'])) { $v1 = $_POST['site']; $v2 = $_POST['email']; $site = str_replace("www.", "", parse_url($v1)['host']); $email = explode("@", $v2)[1]; if($site==$email) { echo "iguais"; } else { echo "diferentes"; } } ?>


<form action="teste.php" method="post"> <input type="text" name="site" value="http://www.site.com"> <input type="text" name="email" value="email@site.com"> <input type="submit" name="submit"> </form>

TESTA ESSE CÓDIGO SOZINHO PARA VER COMO FUNCIONA ANTES DE ADAPTAR AO SEU.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 291

Validação conforme dominio do site

06-01-2015 08:33

está dando erro onde está comentado, eu testei mas está dando erro novamente

<?php if(isset($_POST['submit'])) { $v1 = $_POST['site']; $v2 = $_POST['email']; //$site = str_replace("www.", "", parse_url($v1)['host']); //$email = explode("@", $v2)[1]; if($site==$email) { echo "iguais"; } else { echo "diferentes"; } } ?>

0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17740
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Validação conforme dominio do site

06-01-2015 10:55

Qual valor você enviou em site, e qual valor enviou em email? Qual erro é mostrado no navegador? Pode printar a tela do erro?
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 291

Validação conforme dominio do site

06-01-2015 14:00

nesse caso deu certo por enquanto:

                                $v1 = $_POST['site'];                 $v2 = $_POST['email'];                     $emai = $v2;                             $site = str_replace("www.", "",$v1);                 $email = explode("@", $v2);                                                                elseif($site!=$email[1])//mudou                 {                     $erros .= '<div id="Erro"><img src="imagens/erro.gif" />E-mail Reprovado! não confre com o domínio </div><br />';                 }                                  elseif (!preg_match($verifica_email,$emai))                 {                     $erros .= '<div id="Erro"><img src="imagens/erro.gif" />Insira um EMAIL válido</div><br />';                 } 


<input placeholder="Site*" type="text" name="site" value="<?php echo($site);?>" type="text" size="35" required /><br />              <input placeholder="Email*" onKeyUp="minusculas(this)" name="email" value="<?php echo($email[0] ."@". $email[1] );?>" type="text" size="35" required />

0

Quem está online

Usuários navegando neste fórum: web