가 여기 내 아약스Ajax가 '정의되지 않은'데이터를 MySql에 전달하는 이유는 무엇입니까?
$(".submit").click(function(){
var vp = $("input#vehicle_plate").val();
var vm = $("input#vehicle_model").val();
var vt = $("input#vehicle_type").val();
var da = $("input#date_acquired").val();
var ad = $("input#assigned_driver").val();
var dataString = 'vehicle_plate='+ vp + '&vehicle_model='+ vm + '&vehicle_type='+ vt + '&date_acquired='+ da + '&assigned_driver='+ ad;
$.ajax({
type: "POST",
url: "process.php",
data: dataString,
success: function(){
$('.success').fadeIn(200).show();
$('.error').fadeOut(200).hide();
}
});
return false;
});
입니다 그리고 여기 내 'dataString'을 통과 내 PHP입니다
<?PHP
include("db.classes.php");
$g = new DB();
$g->connection();
if($_POST)
{
$vehiclePlate = $g->clean($_POST["vehicle_plate"],1);
$vehicleModel = $g->clean($_POST["vehicle_model"],1);
$vehicleType = $g->clean($_POST["vehicle_type"]);
$assignedDriver = $g->clean($_POST["assigned_driver"],1);
$ad = date('Y-m-d', strtotime($_POST["datepicker"]));
$g->add($vehiclePlate, $vehicleModel, $vehicleType, $assignedDriver, $ad);
}
$g->close();
?>
그리고 여기 내 데이터베이스 쿼리입니다
public function add($vehiclePlate, $vehicleModel, $vehicleType, $assignedDriver, $ad)
{
$sql = "insert into vehicles(`vehicle_plates`,`DA`,`type`, `model`, `driver`) values('$vehiclePlate', '$ad', '$vehicleType', '$vehicleModel', '$assignedDriver')";
if(!mysql_query($sql))
{
$this->error = mysql_error();
return true;
}
else
{
return false;
}
}
아약스는 성공적인 반환하지만 내가 시도하고 내 databse에 테이블을 볼 때 삽입 된 행이 알 '정의되지 않은'이 원인이 무엇입니까?
는 편집 : - URL을 통해 전달하기 위해 사용되지만 POST
에서 작동하지 않습니다 문자열 -이 같은 요청 여기
<div id="rform">
<form action = "list.php" method="post">
<fieldset>
<legend>Fill Up the Form</legend><br>
<div>
<label class="label-left">*Vehicle Plate:</label>
<input class="label-left" type="text" name="vehicle_plate" id="inputbox1" value maxlength="50">
</div>
<div>
<label class="label-left">*Vehicle Type:</label>
<select class="label-left" id="inputbox" name ="vehicle_type" onchange="document.getElementById('text_content').value=this.options[this.selectedIndex].text">
<option value="Motorcycle">Motorcycle</option>
<option value="Tricycle">Tricycle</option>
<option value="Pick-up">Pick-up</option>
<option value="Truck">Truck</option>
</select><br><br>
</div>
<div>
<label class="label-left">*Vehicle Model:</label>
<input class="label-left" type="text" name="vehicle_model" id="inputbox" value maxlength="50">
</div>
<div>
<label class="label-left">Date Acquired:</label>
<input class="label-left" name="date_acquired" id="datepicker" value maxlength="50"><br><br>
</div>
<div>
<label class="label-left">Assigned Driver:</label>
<input class="label-left" type="text" name="assigned_driver" id="inputbox" value maxlength="50"><br><br>
</div>
<div>
<label class="label-custom" color = red>NOTE: "*" Fields are required</label><br><br>
</div>
<span class="error" style="display:none"> Please Enter Valid Data</span>
<span class="success" style="display:none"> Registration Successfully</span>
<input id="button" type="submit" value="Add" name = "subBtn" class = "submit"/>
</fieldset>
</form>
</div>
무엇 디버깅 당신은 시도? 첫 번째는 javascript vars를 console.log()로 테스트 한 다음 var_dump()가있는 ok php 인 경우 – Steve
HTML을 볼 수 있습니까? –
@Rahil 나는 내 질문을 업데이트했다. – fanboime12