PHP の結果に応じて、さまざまなエラー メッセージを HTML DIV に送り返そうとしています。私はここや他の場所を検索しましたが、私の状況でうまくいくと思われる答えを見つけることができませんでした.他の誰かが私を助けてくれることを願っています.
私の HTML ページには、ユーザーが予約 ID # (一意) を入力するように求められるフォームが含まれています。ユーザーがこれを行い、[予約の検索] を押すと、Jquery スクリプトが呼び出され、AJAX 経由で ID が PHP スクリプトに送信されます。データが返され、「populate」と呼ばれる jquery プラグインを使用してフォームに入力されます。
スクリプトは次のとおりです。
<script type="text/javascript">
$(document).ready(function(){
resetForms('reservation');
$('#form-reservation').submit(function(event){
event.preventDefault(); //the page will no longer refresh on form submit.
var resCheck = $(this).find('input[class="reservationid"]').val(); //now we have the reservation ID, let's perform our check.
$.ajax({
url: 'inc/searchres.php',
type: 'POST',
data: 'resid='+resCheck,
success: function(data){ //data is all the info being returned from the php file
resetForms('reservation'); //clear forms
$('#reservation-id').val(resCheck); //add res ID back into text box
var jsonData = $.parseJSON(data); //parse returned JSON data so we can use it like data.name, data.whatever
$("#res-message").html('<a>Reservation ID Located, Information is displayed below</a>');
$('#json-reservation').populate({personal_first_name:jsonData['element_1_1'],personal_last_name:jsonData['element_1_2'],personal_phone_1:jsonData['element_7'],personal_email:jsonData['element_2'],reservation_status:jsonData['ADD THIS CELL'],reservation_date:jsonData['element_3'],reservation_time:jsonData['element_4'],reservation_party:jsonData['element_5'],reservation_special_request:jsonData['element_6'],reservation_using_coupon:jsonData['element_9'],reservation_coupon_code:jsonData['element_10'],reservation_status:jsonData['element_11']});
},
error: function(){
$("#res-message").html('<a>There was an error with your request</a>');
}
});
});
});
</script>
これは、次のフォームから呼び出されました (これには、エラー メッセージ res-message を入力したい DIV も含まれます)。
<form name="form_reservation" id="form-reservation">
<div style="padding:10px 20px 10px 10px;">
<label for="reservation-id">Reservation ID</label>
<input name="reservation_id" id="reservation-id" class="reservationid" style="width:120px !important"/>
<div class="res_message" id="res-message"> </div>
<input type="submit" class="button" value="Search Reservation" style="width:150px !important; margin:10px 0px 0px 5px;"/>
<input type="button" class="button" value="Clear" style="width:150px !important; margin:10px 0px 0px 5px;" onclick="resetForms('reservation')" />
</div>
</form>
入力されたフォームは、この質問にとって重要ではありません。最後に、PHP は次のようになります。
<?php
include('config-searchres.php');
$term = $_POST['resid'];
$sql = mysql_query("SELECT * FROM ap_form_8 WHERE id = '$term'"); //select first name (element_1_1) from form #8
//$sql = mysql_query("SELECT * FROM ap_form_8 WHERE element_12 = '$term'"); //real selector will look for unique number that has not been added to table yet
if ($row = mysql_fetch_array($sql)){ //if reservation number exists
if ($row['element_11'] != 'Cancelled'){ //if reservation has not already been cancelled
if (strtotime($row['element_3']) >= strtotime(date("Y-m-d"))){ //if reservation has not already passed date
echo json_encode($row);
}
else //Reservation already passed (old reservation)
{
echo $error = "Passed";
//echo 'passed';
}
}
else //Reservation already cancelled
{
echo 'cancelled';
}
}
else //Reservation not found
{
echo 'not found';
}
mysql_close();
?>
私は PHP についてほとんど何も知りませんが、このスクリプトが私のテーブルにデータを入力するために機能しているように見えることは知っています...他の状況ではエラーを表示しません。3 つの異なるエラー、'passed'、'cancelled'、および 'not found' は、それぞれの状況で返される必要があります。誰にもアイデアがありますか?