我已创建此脚本以检查用户将进入文本框
的电子邮件形式function checkEmail() {
var mail = document.getElementById('mail');
var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/; /* regex koda najdena na codeproject.com*/
if (!filter.test(mail.value))
{
alert('enter valid email');
mail.focus;
return false;
}
用于检查此脚本中的表单并在您能够继续之前显示警告
<?php
$flag = 0;
if(isset($_POST['submit']))
{
$con = mysql_connect("localhost","root","");
if (!$con){
die("cannot connect: " . mysql_error());
}
mysql_select_db("strek", $con);
$nar_db="SELECT * FROM narocniki;";
$result = mysql_query($nar_db, $con);
while($row=mysql_fetch_array($result))
{
if($_POST['mail']==$row['mail'])
$flag = 1;
}
if($flag==0)
{
$sql = "INSERT INTO narocniki (mail) VALUE ('$_POST[mail]')";
mysql_query($sql, $con);
mysql_close($con);
?>
<p align="center" class="vsebina" >
Tvoj mail je bil uspešno sprejet!</p>
<p align="center"><a href="dogodki.php"><input type="button" name="return" value="nazaj"></a></p>
<?php
}
else
{
echo '<p align="center" class="vsebina">Naveden mail je že v bazi naročnikov!</p>';
?>
<p align="center"><a href="dogodki.php"><input type="button" name="return" value="nazaj"></a></p>
<?php
}
}
else
{
include("vsebina/tabdog.html");
?>
<p align="center" class="vsebina" id="mail">
naroči se na najnovejše novice</p>
<form action="dogodki.php" method="post">
<p align="center" class="vsebina">vnesi svoj e-naslov: <input type="text" name="mail" id="mail" required>
<input type="submit" name="submit" value="potrdi" onClick="return checkEmail()">
</p>
</form>
<?php
}
?>
这可能只是缺少的东西 我是否应该在代码中包含脚本,以及最适合放置它的地方 - 直接天气或者更确切地说是介于两者之间
这在我的代码中是否可行,因为它已经检查了数据库中是否存在邮件,然后还需要检查电子邮件的形式
答案 0 :(得分:0)
不要在提交按钮的onclick
属性中执行此操作,而是尝试在表单的onsubmit
属性中执行此操作:
<form action="dogodki.php" method="post" onsubmit="return checkEmail()">