Я новичок в PHP / Sql сервере. То, что я пытаюсь сделать здесь, это установить поле ‘action’ для ‘Modal’, которое будет определяться на основе результата запроса. Если запрос действителен, то он перенаправит страницу, на которой будет показан результат, в противном случае вернусь на страницу поиска.
Вот фрагмент кода для модального
<!--modal-->
<div class="modal fade" id="my_modal" role="dialogue">
<div class="modal-dialog modal-md">
<div class="modal-content">
<div class="modal-header">
<strong> Provide your credentials to proceed </strong>
<button class="close" data-dismiss="modal">×</button>
</div>
<div class="modal-body">
<div class="row">
<div class="col-md-12">
<form name="mform" action="" method="post" id="mform" >
<div class="form-group ">
<label for="first">Name</label>
<input type="text" name="name" id="name" class="form-control">
</div>
<div class="form-group ">
<label class="control-label" for="email">Email</label>
<input type="email" name="email" id="email" class="form-control">
</div>
<div class="form-group ">
<label class="control-label" for="con">Contact No</label>
<input type="text" name="con" id="con" class="form-control">
</div>
<div class="form-group ">
<label class="control-label" for="DOB">Date of Birth</label>
<input type='datetime' name="DOB" id="DOB" class="form-control">
</div>
<div class="form-group ">
<label class="control-label" for="con">Policy No</label>
<input type="text" name="pon" id="pon" class="form-control">
</div>
<div class="form-group">
<button type="submit" name="msubmit" id="msubmit" class="btn btn-success btn-lg" style="width: 100%;" value="Submit">
<span class="glyphicon glyphicon-ok-sign"></span>Submit
</button>
</div></form>
</div></div>
</div>
<div class="modal-footer">
</div>
</div>
</div>
</div>
<!--modal-->
Поле действия в #my_modal остается пустым, как я собираюсь в соответствии с результатом запроса.
вот код php
<?php
if (isset($_POST['msubmit']) == 'Submit') {
include './verify_dob.php';
$name = $_POST['name'];
$email = $_POST['email'];
$contact = $_POST['con'];
$policy_no = $_POST['pon'];
$DOB_str = $_POST['DOB'];
echo '<br>';
$action = verify_dob($DOB_str, $policy_no);
echo $action;
if ($action) {
echo "<script type='text/javascript'>";
echo "alert('Success');";
echo "</script>";
$URL ='showInfo.php?pon='.$policy_no; //redirect if the $action is true
echo "<script>location.href='$URL'</script>";
exit(0);
}
else{
echo "<script type='text/javascript'>";
echo "</script>";
$URL ='index.php'; //otherwise
echo "<script>location.href='$URL'</script>";
exit(0);
}
}
?>
Функция verify_dob () дается здесь
<?php
$action = '';
function verify_dob($DOB_str, $policy_no)
{
require './connection.php';
$cr_vw_chk = "IF OBJECT_ID('dbo.vw_search_verify') IS NULL
exec ('
CREATE VIEW dbo.vw_search_verify
AS
SELECT Policyno, Dateofbirth FROM dbo.tbl_Traditional_Policysummery3')
ELSE
exec('ALTER VIEW dbo.vw_search_verify
AS
SELECT Policyno, Dateofbirth FROM dbo.tbl_Traditional_Policysummery3')";
$vw_chk_q = sqlsrv_query($con, $cr_vw_chk);
$check_dob = "select Dateofbirth from vw_search_verify where Policyno='" . $policy_no . "'";
$check_dob_q = sqlsrv_query($con, $check_dob);
if (sqlsrv_fetch($check_dob_q) === false) {
die(print_r(sqlsrv_errors(), true));
}
$dt = new DateTime($DOB_str);
$date_db = sqlsrv_get_field($check_dob_q, 0);
$interval = $dt->diff($date_db);
if ($interval->format('%a') === '0') {
return true;
} else {
return false;
}
}
?>
Цель функции — проверить, совпадает ли вставленный DOB с DOB в DB. С учетом этого создается представление.
После нажатия кнопки отправки в Модале код должен перейти в «showInfo.php» вместе с политикой получения значения №.
в противном случае он должен вернуться на предыдущую страницу.
Я также использовал заголовок php, но он показывает, что значение заголовка уже передано.
пытаясь получить преимущество от jQuery, события onsubmit, я попытался передать переменные js в функцию php. Поскольку эти два языка различаются, это больше не вариант.
Я использовал SQL Server 2014 в качестве серверной части.
Как мне выполнить задачу ????
Задача ещё не решена.
Других решений пока нет …