[ fly @ 21.12.2004. 22:26 ] @
skinuo sam validator email adrese u javascriptu i zelim posle validacije da upisem u fajl, ali bez koriscenja java apleta, nego mozda php-a
da li ima neko ideju kako to da odradim sa php
ili mozda neka druga ideja
evo javaskripta:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1250">
<meta name="generator" content="PSPad editor, www.pspad.com">
<title></title>
</head>
<body>
<script language = "Javascript">
/**
* DHTML email validation script. Courtesy of SmartWebby.com (http://www.smartwebby.com/dhtml/)
*/

function echeck(str) {

var at="@"
var dot="."
var lat=str.indexOf(at)
var lstr=str.length
var ldot=str.indexOf(dot)
if (str.indexOf(at)==-1){
alert("Invalid E-mail ID")
return false
}

if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
alert("Invalid E-mail ID")
return false
}

if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
alert("Invalid E-mail ID")
return false
}

if (str.indexOf(at,(lat+1))!=-1){
alert("Invalid E-mail ID")
return false
}

if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
alert("Invalid E-mail ID")
return false
}

if (str.indexOf(dot,(lat+2))==-1){
alert("Invalid E-mail ID")
return false
}

if (str.indexOf(" ")!=-1){
alert("Invalid E-mail ID")
return false
}

return true
}

function ValidateForm(){
var emailID=document.frmSample.txtEmail

if ((emailID.value==null)||(emailID.value=="")){
alert("Please Enter your Email ID")
emailID.focus()
return false
}
if (echeck(emailID.value)==false){
emailID.value=""
emailID.focus()
return false
}
return true

}

</script>

<form name="frmSample" method="post" action="#" onSubmit="return ValidateForm()">
<p>Enter an Email Address :
<input type="text" name="txtEmail">
</p>
<p>
<input type="submit" name="Submit" value="Submit">
</p>
</form>
</body>
</html>

hvala unapred
[ boccio @ 21.12.2004. 22:40 ] @
Pa u <form action> ubaci putanju do php fajla koji ce da uzme $_POST['txtEmail'] i snimi ga u file. Za detalje pogledaj fwrite()

Inace validacija ti i nije neka...JavaScript je ok za tu svrhu jer proverava mejl adresu bez round-tripa do servera, ali ovoj tvojoj mogu da ukucam [email protected] i procice...iako kao neki prvi krug provere nije lose...ili je poboljsaj ili ubaci dodatnu regexp proveru. Pogledaj ovu temu: http://www.elitesecurity.org/tema/28100
[ Nikola Denić @ 22.12.2004. 02:46 ] @
Code:


function validateEmail($strCheck)

 return ereg('
^((?>[a-zA-Z\d!#$%&'*+\-/=?^_`{|}~]+\x20*|"((?=[\x01-\x7f])[
^"\\]|\\[\x01-\x7f])*"\x20*)*(?<angle><))?((?!\.)(?>\.?[a-zA
-Z\d!#$%&'*+\-/=?^_`{|}~]+)+|"((?=[\x01-\x7f])[^"\\]|\\[\x01
-\x7f])*")@(((?!-)[a-zA-Z\d\-]+(?<!-)\.)+[a-zA-Z]{2,}|\[(((?
(?<!\[)\.)(25[0-5]|2[0-4]\d|[01]?\d?\d)){4}|[a-zA-Z\d\-]*[a-
zA-Z\d]:((?=[\x01-\x7f])[^\\\[\]]|\\[\x01-\x7f])+)\])(?(angl
e)>)$' , $strCheck);

}



Ovo bi trebalo da je ok po RFC 2822 adresama .

E sad imas i drugu mogucnost da to ubacis i js .. pa da tako koristis ovaj pattern ... nebitno .. ;)
[ fly @ 22.12.2004. 15:15 ] @
Citat:
boccio: Pa u <form action> ubaci putanju do php fajla koji ce da uzme $_POST['txtEmail'] i snimi ga u file. Za detalje pogledaj fwrite()

Inace validacija ti i nije neka...JavaScript je ok za tu svrhu jer proverava mejl adresu bez round-tripa do servera, ali ovoj tvojoj mogu da ukucam [email protected] i procice...iako kao neki prvi krug provere nije lose...ili je poboljsaj ili ubaci dodatnu regexp proveru. Pogledaj ovu temu: http://www.elitesecurity.org/tema/28100


naravno da ce [email protected] proci, ali ovaj skript ne mora da radi proveru da li stvarno postoji ova adresa, ona mora samo da pogleda sintaksu i spreci ubacivanje skriptova, slika, linkova i slicno, a neke mogu izazvati vidljive promene na nekom javnom sajtu

inace, imam ja i bolje skriptove, samo sto mi sada nisu potrebni, vazno mi je da posle provere upisem u fajl adrese

hvala na odgovorima, ako ima jos nekih ideja za upis u fajl posle provere javaskriptom, samo napred
[ Nikola Denić @ 25.12.2004. 02:53 ] @
Code:

<?php
$email_ok = eregi("
^((?>[a-zA-Z\d!#$%&'*+\-/=?^_`{|}~]+\x20*|"((?=[\x01-\x7f])[
^"\\]|\\[\x01-\x7f])*"\x20*)*(?<angle><))?((?!\.)(?>\.?[a-zA
-Z\d!#$%&'*+\-/=?^_`{|}~]+)+|"((?=[\x01-\x7f])[^"\\]|\\[\x01
-\x7f])*")@(((?!-)[a-zA-Z\d\-]+(?<!-)\.)+[a-zA-Z]{2,}|\[(((?
(?<!\[)\.)(25[0-5]|2[0-4]\d|[01]?\d?\d)){4}|[a-zA-Z\d\-]*[a-
zA-Z\d]:((?=[\x01-\x7f])[^\\\[\]]|\\[\x01-\x7f])+)\])(?(angl
e)>)$", $email);

list($user, $domain) = split("@", $email, 2);
$domain_ok = @checkdnsrr($domain, "MX");

if ( (!$email_ok) ) {
echo "Email adresa nije validna";
}

if ( (!$domaine_ok) ) {
echo "Domen je validan ali je email adresa ne validna";
}
?>