[英]form submitting twice in 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";
}
将您的js方法更改为此:
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"; commented because i did not added these field while testing.
return document.FormEdit.isnewpatient.value;
}
这是我用作形式:
<form name="FormEdit" method="post" onsubmit="return p_appointment()" class="aform">
<input type="text" name="name"/>
<input type="submit" value="submit"/>
</form>
不使用:
if ($_POST['isnewpatient'] == "true") {
}
if ($_POST['isnewpatient'] == "false") {
}
采用:
if($_POST['isnewpatient']) {
}else {
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.