2015-12-22 1 views
0

Я пытаюсь проверить электронную почту, и она также проверяется, но приведенный ниже 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> 
+1

Вы используете javascript: необходимо вызвать чек на отправку формы. PHP не участвует в этом. Отправьте свой код 'form'. – Aerendir

+3

Так что этот вопрос не о php и mysql? Похоже, проблема связана с вашим javascript. Кстати, я бы рекомендовал также проверку подлинности. Проверка на лицевой стороне отлично подходит для удобства использования, но проверка валидации по-прежнему важна для обеспечения достоверности данных. – Tristan

+0

'email.focus;', это 'focus()' – Ramanlfc

ответ

0

Здесь вы должны изменить код отправки.

ТОКА >>

<input name="submit" type="submit" class="input-button" value="subscribe" onclick='Javascript:checkEmail();'> 

Изменить его >>

<input name="submit" type="submit" class="input-button" value="subscribe" onclick='return checkEmail();'> 

Но в идеале вы должны иметь функцию проверки на FORM onsubmit случае вместо OnClick случае кнопки отправки.

+0

Спасибо, Это сработало. – Amarpreet

Смежные вопросы