我想让一个文本框验证其中的文本是使用javascript的电子邮件格式。验证后,我希望将电子邮件地址发送到MySQL数据库(最好使用PHP)。
到目前为止,我在javascript中进行电子邮件验证的代码是:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>Untitled document</title>
</head>
<body>
<p>
<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>
</p>
<form name="frmSample" method="post" action="#" onsubmit="return ValidateForm()">
<p>Enter an Email Address :
<input name="txtEmail" type="text" /></p>
<p><input name="Submit" value="Submit" type="submit" /></p>
</form>
</body>
</html>
如何在其中加入PHP代码?
答案 0 :(得分:1)
你需要学习如何做到这一点,你应该学习sql注入预防。以下几个链接可以帮助指导您。
答案 1 :(得分:0)
将它放在页面顶部......(并改为适合)
<?php
if (isset($_POST['txtEmail']))
{
$email = mysql_real_escape_string($_POST['txtEmail']);
mysql_connect($domain, $user, $pass);
mysql_select_db("mydb");
$sql = "INSERT INTO emails (email) VALUES ('".$email."')";
mysql_query($sql);
}
?>