Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Huor_VIII

verificando dados

Recommended Posts

aeh galera, to fazendu um livro de visitas, e esse livro possui um campo chamado e-mail, dentro de um formulário(um poko óbvio, mas eh pra esclarecer tudo...) gostaria que no momento em que a pessoa clica em enviar, um código php verifique se o e-mail é valido.... como faço? alguém pode ajudar? http://forum.imasters.com.br/public/style_emoticons/default/ermm.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

$email = "seumail@provedor.com";for ($i=0; $i<strlen($email); $i++) { if($email{$i} == "@") $erro = 0; else $erro = 1;}if($erro) { print("O email é válido");} else { print("O email não é válido");}explicando: strlen($email); = conta o numero de caracteres existentes na variavel email$email{$i} = sempre q você quiser resgatar algum caractere de alguma palavra, você usa isso.exemplo:$email = "aeiou";$email{3} vai retornar a letra "o", $email{4} vai retornar a letra "u", e assim vai.0 1 2 3 4a e i o u if($email{$i} == "@")se o caractere selecionado for @, entao ja eh um mail valido.... basicamente é issoqualquer duvida, posta aí :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

O pessoal vai te ensinar diversas formas de fazer tal verificação, tanto em php ou de forma mais ágil em javascript, o link abaixo é só um exemplo paranóico de uma validação de email bem meticulosa, indo desde a tradicional expressão regular ao teste de dns... - artigo em inglês -

 

http://www.devshed.com/c/a/PHP/Email-Addre...ation-with-PHP/

Compartilhar este post


Link para o post
Compartilhar em outros sites

bom, tenho uma dúvida.... es javascript eu sei como fazer, mas em php não... :( sendo o mail, um campo de texto para a pessoa inserir seu e-mail e postar a mensagem, como faço para declarar o valor do campo em uma variável de php?

Compartilhar este post


Link para o post
Compartilhar em outros sites

fácil, rapaz..pegue como base o exemplo q eu dei agora ha pouco:$email = "seumail@provedor.com"; certo?se você quiser q o $email seja um dado digitado pelo usuário num campo de texto, faça o seguinte:$email = $_POST['email'];sendo q 'email' é o seu "name" do input text...<input type="text" name="email"><?$email = $_POST['email'];?>sacou? :) detalhe: o method do seu form tem q ser "post" (<form method="post">) e, se o script php tiver contido na mesma pagina, a action tem q ser na mesma pagina tb.

Compartilhar este post


Link para o post
Compartilhar em outros sites

bom, to usando o seguinte código:for ($i=0; $i<strlen($_POST['mail']); $i++) {if($_POST['mail']{$i} == "@")$erro = 0;else$erro = 1;}if($erro=0) {if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) { $insertSQL = sprintf("INSERT INTO marcio_guestbook (id, nome, texto, `data`, mail) VALUES (%s, %s, %s, %s, %s)", GetSQLValueString($_POST['id'], "int"), GetSQLValueString($_POST['nome'], "text"), GetSQLValueString($_POST['texto'], "text"), GetSQLValueString($_POST['data'], "date"), GetSQLValueString($_POST['mail'], "text")); mysql_select_db($database_localhost, $localhost); $Result1 = mysql_query($insertSQL, $localhost) or die(mysql_error());}} else {print("O email não é válido");}porém logo quando entro na página, o seguinte erro aparece:Notice: Undefined index: mail in c:\inetpub\wwwroot\marcio\book.php on line 32e isso corresponde a "for ($i=0; $i<strlen($_POST['mail']); $i++) {"e nenhum e-mail é valido! o q fiz de errado?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valida o email com expressoes regulares validar só tamanho e se tem @ nao é o suficiente

 

com expressoes fica mais perfeito a validação

 

se nao souber posta ai que eu te ajudo

Compartilhar este post


Link para o post
Compartilhar em outros sites
PHP
  1. if (!ereg("^([0-9,a-z]+)([.,_]([0-9,a-z]+))*[@]([0-9,a-z]+)([.,_,-]([0-9,a-z]+))*[.]([0-9,a-z]){2}([0-9,a-z])?$", $email)){

  2. echo"
    Digite um email valido
    ";
  3. echo "
    Voltar
    ";
  4. exit;

  5. }

 

esse é um exemplo mas da pra você trabalhar mais com ER e limitar o que quiser

Compartilhar este post


Link para o post
Compartilhar em outros sites

ai fabyo, tem soh um problema.... é q o form, num tem uma página de validação... jah entra na parte pra postar e dessa página os dados vão direto pro db, sem ir pra nenhuma outra página, então, como faço pra pegar os valores antes de enviar os dados? :mellow:

Compartilhar este post


Link para o post
Compartilhar em outros sites

ai fabyo! consegui fazer http://forum.imasters.com.br/public/style_emoticons/default/clap.gif

agora só mais uma coisa... olha o código:

$Result1 = mysql_query($insertSQL, $localhost) or die(mysql_error());

acredito que seja para mostar a mensagem de erro... como faço para que caso o nome da pessoa, ao ser duplicado(já tiver um mesmo nome no db), apareça um erro alertando que o nome já está sendo usado? :unsure:

eu coloquei uma propriedade no db q não permite que este campo seja duplicado. porém, o erro retornado é o seguinte: "Duplicate entry 'Uriel Bertoche' for key 2"

eu gostaria de "personalizar" este erro, alterando para alguma coisa mas intendível http://forum.imasters.com.br/public/style_emoticons/default/grin.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.