ajaxを使用してデータベースにデータを挿入しようとしていますが、何らかの理由で私のコードがそれを行っていません。ここで私はこれまで持っているものです。ajaxを使用してデータベースにデータを挿入する
インデックスページ:
<form id="notify" action="" method="post" accept-charset="utf-8" enctype="multipart/form-data">
<div class="note-wrapper">
<div class="note-title">New Employee</div>
<input type="hidden" name="employee_id" value="<?php echo $employee_id; ?>" id="employee_id">
<p>Name</p>
<input type="text" name="name" id="name">
<p>Description</p>
<textarea name="text" id="text"></textarea>
<div class="action-wrapper">
<button class="cancel-btn">Cancel</button><button class="submit-btn flt-rt" type="submit" name="new_note">Add</button>
</div>
</div>
</form>
<script type="text/javascript">
$('#notify').submit(function() {
var employee_id = $('#employee_id').val();
var name = $('#name').val();
$.ajax({
type: 'POST',
data: {employee_id:employee_id, name:name},
url: 'notify',
success: function(data) {
alert(data);
}
});
});
</script>
スクリプトは、私はそれが要求されているページを見つけることができないとき、通常は表示されるが、私は通知してきた私のエラーページを取得する実行された場合ページが作成され、手動でポイントするときにブラウザからアクセスできます。
ページに通知:
<?php
ini_set('display_errors', "Off");
$employee_id = $_POST['employee_id'];
$note_name = $_POST['name'];
if(!empty($employee_id)) {
$objBreeze = new Breeze();
$objBreeze->createEmployee($employee_id, $note_name);
}
ブリーズクラス:
<?php
class Breeze extends Application {
private $table_2 = 'employee';
public $path = 'media/';
// Notes CRUD
public function createEmployee(array $params) {
if(!empty($params)) {
$params['date'] = Helper::setDate();
$this->db->prepareInsert($params);
$output = $this->db->insert($this->table_2);
$this->id = $this->db->id;
return $output;
}
return false;
}
public function getEmployee() {
$query = "SELECT * FROM {$this->table_2} ORDER BY `date` DESC";
return $this->db->fetchAll($query);
}
上記データベースのCRUDは私の他のプロジェクトに完全に正常に動作します。誰かが私が間違っていることの手がかりを持っているなら、あなたの助けの友達に感謝します。
'createEmployee(array $ params)'は、配列としてパラメータを期待しています。あなたが '$ objBreeze-> createEmployee($ employee_id、$ note_name);と呼んだとき、あなたは配列を渡していません!!!!あなたは2つのスカラーパラメーターを渡しています – RiggsFolly
*私は手動でそれを指しているときに私はブラウザを介してアクセスすることができます*あなたが手動で使用したURLを共有、どこでうまく動作します。 –