У меня есть две формы для приема новых пациентов и уже зарегистрированных пациентов соответственно, Номер мобильного телефона используется в качестве первичного ключа.Форма отправки дважды в php
Итак, в новой регистрации пациента мы проверяем, присутствует ли этот мобильный телефон, если да, то отображается ошибка, иначе вводите новые данные в таблицы.
Однако в настоящее время, даже когда я ввожу новый номер мобильного телефона, он показывает «уже существующую» ошибку и также вводит данные в db.
, так что я думал, что форма отправляет 2 раза, но я не могу понять, где это происходит.
мой PHP код файла Фрагмент кода:
if ($_POST['isnewpatient'] == "true") {
@$name = mysql_real_escape_string(trim($_POST['aaptntname']));
@$email = mysql_real_escape_string(trim($_POST['emlid']));
@$mobile = mysql_real_escape_string(trim($_POST['mobile']));
$qqcSql = "select * from " . WP_eemail_TABLE_SUB
. " where eemail_mobile_sub ='" . trim($_POST['mobile'])
. "' OR eemail_patient_id ='" . trim($_POST['mobile']) . "'";
$qqdata1 = $wpdb->get_results($qqcSql);
var_dump($qqdata1);
if (!empty($qqdata1)) {
$err = 1;
echo "<div id='message' class='aerror'>Already patient details exists. Use your existing patient ID !</div>\n";
}
else {
$pt_id = mysql_real_escape_string(trim($_POST['mobile']));
$sql = "insert query to WP_Appointment";
$wpdb->get_results($sql);
$sqls = "insert query to WP_Appointment_Contact";
$wpdb->get_results($sqls);
$sqql = " insert query to table WP_eemail_Table_Sub";
$wpdb->get_results($sqql);
echo "<div id='message' class='asuccess'>Request has been sent for appointment </div>";
}
}
else {
// Already registered patient form
}
<form name="FormEdit" action="<?php echo the_permalink(); ?>" method="post" onsubmit="return p_appointment()" class="aform">
/* Form part */
</form>
Javascript часть
function p_appointment()
{
if($('input:radio[name=new_patient]:checked').val() == "new")
document.FormEdit.isnewpatient.value = "true";
if($('input:radio[name=new_patient]:checked').val() == "old")
document.FormEdit.isnewpatient.value = "false";
document.FormEdit.appsmssend.value = "true";
document.FormEdit.appemailsend.value = "true";
}
[** 'preventDefault();' **] (https://developer.mozilla.org/en/docs/Web /API/event.preventDefault), возможно? –
будьте осторожны с двойным щелчком пользователя по кнопке отправки ... –
Проверяете ли вы журналы сервера, чтобы просмотреть, представлены ли формы дважды? –