そのため、AJAX リクエストから呼び出された PHP ページにファイルを含めることに問題があります。
$(document).ready(function() {
$("#image-status").html('Processing images...');
});
function process_images(files) {
$.ajax ({
type: "POST",
url: "includes/imageprocessor.php",
data: {files: JSON.stringify(files)},
success: function(data){
$("#image-status").html(data);
}
});
}
imageprocessor.php でこの require_once を試しています:
require_once("db_connect.php");
これもインクルードディレクトリにあり、機能します。別のページで使用して、正常に機能する挿入を実行しました。しかし、実行しようとすると:
function get_files($id) {
$query = $db->prepare("SELECT * FROM files INNER JOIN file_profile_join ON files.id = file_profile_join.file_id WHERE file_profile_join.profile_id = " . $id . " GROUP BY files.id");
try {
$query->execute();
$rows = $query->fetch();
} catch (PDOException $e) {
die($e->getMessage());
}
}
後で imageprocessor.php で、エラーが発生します。
Fatal error: Call to a member function prepare() on a non-object in /home/yogabopvolume26/theprivatesector.org/epic/includes/imageprocessor.php on line 90
そもそも db_connect を必要としないように (ここで $db が宣言されています)。しかし、db_connect.php が見つからないというエラーも返されません。
basename(__DIR__)
imageprocessor.php では (AJAX リクエストを介してエコーされます)、「include」を返します。
require_once で絶対 URL とルート パスの両方を使用してみましたが、エラーが発生することも、imageprocessor.php で続行することもありません。require_once が返された後、そのファイルからのエコーはありません。また、session_start から現在のセッションを取得することもできません (元のページ [profile.php] から print_r $_SESSION を実行できるため、セッションはアクティブです)。多分彼らは関係がありますか?何が悪いのかわかりません。