File Manager
Editing: processproduct.php
<?php $host = "127.0.0.1:3306"; $username = "u404542307_dacotywebsites"; $password = "daCotywebs1te5"; $database = "u404542307_eizon"; try { $pdo = new PDO("mysql:host=$host;dbname=$database", $username, $password); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch (PDOException $e) { die("Database connection failed: " . $e->getMessage()); } if ($_SERVER["REQUEST_METHOD"] === "POST") { $name = $_POST['name'] ?? ''; $description = $_POST['description'] ?? ''; $price = $_POST['price'] ?? ''; $countryCode = $_POST['country_code'] ?? ''; $phoneNumber = $_POST['contacts'] ?? ''; $category = $_POST['category'] ?? ''; $region = $_POST['region'] ?? ''; $state = $_POST['state'] ?? ''; if (empty($name) || empty($description) || empty($price) || empty($phoneNumber) || empty($category) || empty($region) || empty($state)) { die("Error: All fields are required."); } if (!preg_match('/^[0-9]{6,15}$/', $phoneNumber)) { die("Error: Invalid phone number format."); } $imagePaths = []; $uploadDir = 'uploads/'; if (isset($_FILES['images']) && count($_FILES['images']['name']) > 0) { for ($i = 0; $i < count($_FILES['images']['name']); $i++) { if ($_FILES['images']['error'][$i] === UPLOAD_ERR_OK) { $tmpName = $_FILES['images']['tmp_name'][$i]; $originalName = pathinfo($_FILES['images']['name'][$i], PATHINFO_FILENAME); $uniqueName = uniqid() . '-' . $originalName . '.webp'; $destination = $uploadDir . $uniqueName; if (!is_dir($uploadDir)) { mkdir($uploadDir, 0777, true); } // Convert image to WebP $imageType = exif_imagetype($tmpName); $webpImage = null; switch ($imageType) { case IMAGETYPE_JPEG: $img = imagecreatefromjpeg($tmpName); break; case IMAGETYPE_PNG: $img = imagecreatefrompng($tmpName); break; case IMAGETYPE_GIF: $img = imagecreatefromgif($tmpName); break; case IMAGETYPE_WEBP: // Handle WebP uploads directly $img = imagecreatefromwebp($tmpName); break; default: die("Error: Only JPG, PNG, GIF, or WebP files are allowed."); } if (imagewebp($img, $destination, 80)) { // 80 = quality $imagePaths[] = $destination; imagedestroy($img); } else { die("Error: Failed to convert image " . ($i + 1) . " to WebP."); } } else { die("Error: Problem with file " . ($i + 1)); } } } if (count($imagePaths) !== 3) { die("Error: Please upload exactly 3 images."); } $delete_token = bin2hex(random_bytes(16)); try { $sql = "INSERT INTO cards (name, description, state, image1, image2, image3, price, country_code, contacts, category, delete_token, region) VALUES (:name, :description, :state, :image1, :image2, :image3, :price, :country_code, :contacts, :category, :delete_token, :region)"; $stmt = $pdo->prepare($sql); $stmt->execute([ ':name' => $name, ':description' => $description, ':state' => $state, ':image1' => $imagePaths[0], ':image2' => $imagePaths[1], ':image3' => $imagePaths[2], ':price' => $price, ':country_code' => $countryCode, ':contacts' => $phoneNumber, ':category' => $category, ':delete_token' => $delete_token, ':region' => $region, ]); echo "Success: Product added successfully!"; } catch (PDOException $e) { echo "Error: " . $e->getMessage(); } } ?>
💾 Save
⬅ Back