Я пытаюсь проверить электронную почту, и она также проверяется, но приведенный ниже PHP-код вставляет значение в db, даже если пользователь не ввел действительное письмо. Пожалуйста, если кто-нибудь может помочь, я начинаю. Заранее спасибо.Проверка подлинности и отправка значения в базу данных
<script language="javascript">
function checkEmail() {
var email = document.getElementById('txtEmail');
var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
if (!filter.test(email.value)) {
alert('Please provide a valid email address');
email.focus;
return false;
}
}
</script>
<?php
error_reporting(E_ALL);
ini_set("display_errors", "On");
$con=mysqli_connect("localhost","root","","xyz");
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
// print_r($_POST);
if(isset($_POST['submit'])){
$user=$_POST['user'];
echo $user;
$query = "INSERT INTO Newsletter VALUES('$user')";
if(mysqli_query($con, $query)){
echo "inserted";
} else {
echo "fail";
}
}
?>
<form action="" method="post">
<div>
<input name="user" id="txtEmail" type="text" class="input-field"
placeholder="Send us an email of your requirements and we will get back to you!!"></div>
<div>
<input name="submit" type="submit" class="input-button" value="subscribe" onclick='Javascript:checkEmail();'>
</div>
</form>
Вы используете javascript: необходимо вызвать чек на отправку формы. PHP не участвует в этом. Отправьте свой код 'form'. – Aerendir
Так что этот вопрос не о php и mysql? Похоже, проблема связана с вашим javascript. Кстати, я бы рекомендовал также проверку подлинности. Проверка на лицевой стороне отлично подходит для удобства использования, но проверка валидации по-прежнему важна для обеспечения достоверности данных. – Tristan
'email.focus;', это 'focus()' – Ramanlfc