Я сделал загрузку изображения. Код работает отлично. Я хочу вставить свой идентификатор сессии при сохранении изображений в базе данных. Как сохранить идентификатор сеанса в файле вставки query.view для отображения изображений в галерее. Я хочу показать их как пользователя.
Вот почему мне нужно сохранить идентификатор пользователя, чтобы получить определенные изображения для конкретного пользователя. Теперь он выбирает все изображения из базы данных. Я хочу сохранить идентификатор пользователя для отслеживания конкретных изображений. Здесь я начал свою сессию. Это мой идентификатор сессии.
<?php
session_start(); //what can be done to save this id.I need save this staffid to save in the database.What is the process
if(!$this->session->userdata('staffid')){ redirect("login/checkLogin");
}
?>
<?php
Я хочу сохранить этот идентификатор в базе данных для получения конкретных изображений. Мне нужно сохранить этот идентификатор как идентификатор категории в моей базе данных, чтобы мне не нужно было создавать другую таблицу для создания каких-либо галерей, просто загрузите их с именем, которое можно использовать в качестве имени галереи.
if (isset($_POST["sub1"]) || isset($_POST["sub2"])) {
// include resized library
require_once('./php-image-magician/php_image_magician.php'); //library for showing images in thumbnail.This library is helping for showing images as gallery.
$msg = "";
$valid_image_check = array("image/gif", "image/jpeg", "image/jpg", "image/png", "image/bmp");
if (count($_FILES["user_files"]) > 0) {
$folderName = "uploads/";
$sql = "INSERT INTO tbl_images(image_name) VALUES (:img)"; //have insert my session id here.What is the procedure to insert session id in sql insert query.
$stmt = $DB->prepare($sql);
for ($i = 0; $i < count($_FILES["user_files"]["name"]); $i++) { //Here is the loop for saving multiple images in database.
if ($_FILES["user_files"]["name"][$i] <> "") {
$image_mime = strtolower(image_type_to_mime_type(exif_imagetype($_FILES["user_files"]["tmp_name"][$i])));
// if valid image type then upload
if (in_array($image_mime, $valid_image_check)) {
$ext = explode("/", strtolower($image_mime));
$ext = strtolower(end($ext));
$filename = rand(10000, 990000) . '_' . time() . '.' . $ext;
$filepath = $folderName . $filename;
//this will save the folder name and file path in database.There is no problem saving them.Working successfully.
if (!move_uploaded_file($_FILES["user_files"]["tmp_name"][$i], $filepath)) {
$emsg .= "Failed to upload <strong>" . $_FILES["user_files"]["name"][$i] . "</strong>. <br>";
$counter++;
} else {
$smsg .= "<strong>" . $_FILES["user_files"]["name"][$i] . "</strong> uploaded successfully. <br>";
$magicianObj = new imageLib($filepath);
$magicianObj->resizeImage(100, 100);
$magicianObj->saveImage($folderName . 'thumb/' . $filename, 100);
/* * ****** insert into database starts ******** */
try {
$stmt->bindValue(":img", $filename); //i have to insert my session id in here.
$stmt->execute();
$result = $stmt->rowCount();
if ($result > 0) {
// file uplaoded successfully.
} else {
// failed to insert into database.
}
} catch (Exception $ex) {
$emsg .= "<strong>" . $ex->getMessage() . "</strong>. <br>";
}
/* * ****** insert into database ends ******** */
}
} else {
$emsg .= "<strong>" . $_FILES["user_files"]["name"][$i] . "</strong> not a valid image. <br>";
//After checking file type if anything goes wrong it will show this message.File type is given.
}
}
}$msg .= (strlen($smsg) > 0) ? successMessage($smsg) : "";
$msg .= (strlen($emsg) > 0) ? errorMessage($emsg) : "";
} else {
$msg = errorMessage("You must upload atleast one file");//validation for uploading files.
}
}
?>
Хорошо, во-первых, вы должны понимать сессии Описание W3Schools
Если я вас правильно понимаю
Это правильно?
Предполагая, что «staffid» уникален:
создайте столбец в таблице изображений:
ALTER TABLE tbl_images
ДОБАВЛЯТЬ staffid
INT NOT NULL
затем измените ваш оператор вставки на
$ sql = «INSERT INTO tbl_images (image_name, staffid) VALUES (: img,: staffid)»;
а также
$ stmt-> bindValue («: img», $ filename);
$ stmt-> bindValue («: staffid», $ this-> session-> userdata (‘staffid’));
Затем при выборе нужно только передать текущим пользователям id, добавить предложение where и подготовить запрос соответствующим образом. Это вернет все изображения, сохраненные этим пользователем:
ГДЕ staffid =: staffid;
Других решений пока нет …