コード例 #1
0
    public static function save_users_inputs()
    {
        $now = date('Y-m-d H:i:s');
        $studioName = GameDev::sanitize_inputs($_POST['txt-studio-name']);
        $studioUrl = !empty($_POST['txt-studio-url']) && $_POST['txt-studio-url'] !== 'http://' ? GameDev::sanitize_inputs($_POST['txt-studio-url']) : '';
        $studioLocation = GameDev::sanitize_inputs($_POST['txt-studio-location']);
        $studioStart = (int) $_POST['txt-studio-start'];
        $rawPersonnels = $_POST['personnels'];
        $rawProducts = $_POST['products'];
        $rawPublications = $_POST['publications'];
        $personnels = '';
        $personnelCount = 0;
        $products = '';
        $publications = '';
        foreach ($rawPersonnels['number'] as $key => $value) {
            $personnels .= $value . '|' . $rawPersonnels['edu'][$key] . ';';
            $personnelCount += (int) $value;
        }
        foreach ($rawProducts['name'] as $key => $value) {
            $productName = isset($value) ? GameDev::sanitize_inputs($value) : '';
            $productYear = isset($rawProducts['year'][$key]) ? (int) $rawProducts['year'][$key] : '';
            $productPlatforms = isset($rawProducts['platform'][$key]) ? $rawProducts['platform'][$key] : array();
            $platforms = '';
            if (!empty($productName) && !empty($productYear) && !empty($productPlatforms)) {
                foreach ($productPlatforms as $keyPlatform => $valuePlatform) {
                    $platforms .= $valuePlatform . ',';
                }
                $products .= $productName . '|' . $productYear . '|' . substr($platforms, 0, -1) . ';';
            }
        }
        if (!empty($rawPublications)) {
            foreach ($rawPublications as $key => $value) {
                $publications .= $value . ';';
            }
        }
        $personnels = substr($personnels, 0, -1);
        $products = substr($products, 0, -1);
        $publications = substr($publications, 0, -1);
        if (empty($studioName)) {
            exit('Tiada nama studio');
        }
        if (empty($studioLocation)) {
            exit('Tiada lokasi studio');
        }
        if (!is_numeric($studioStart) || $studioStart <= 0) {
            exit('Tahun studio berdiri tak valid');
        }
        if (empty($personnels)) {
            exit('Tiada anggota tim studio');
        }
        if (empty($products)) {
            exit('Tiada produk. Aneh kan?');
        }
        if (empty($publications)) {
            exit('Tiada publikasi produk');
        }
        //check if studio is alrady in database
        $queryCheck = 'select count(id) as cc from survey_results where studio_name=:studioName';
        $statCheck = GameDev::$pdo->prepare($queryCheck);
        $statCheck->bindParam(':studioName', $studioName, PDO::PARAM_STR);
        $statCheck->execute();
        $resultCheck = $statCheck->fetch(PDO::FETCH_ASSOC);
        // print_r($resultCheck);
        if ($resultCheck['cc'] > 0) {
            exit('Studio ' . $studioName . ' sudah ada');
        }
        $query = 'insert into survey_results 
					  (datetime, studio_name, studio_url, studio_location, studio_start, studio_personnels, personnels_educations, products, publications)
					  values 
					  (:now, :studioName, :studioUrl, :studioLocation, :studioStart, :personnelCount, :personnels, :products, :publications)';
        $stat = GameDev::$pdo->prepare($query);
        $stat->bindParam(':now', $now);
        $stat->bindParam(':studioName', $studioName);
        $stat->bindParam(':studioUrl', $studioUrl);
        $stat->bindParam(':studioLocation', $studioLocation);
        $stat->bindParam(':studioStart', $studioStart);
        $stat->bindParam(':personnelCount', $personnelCount);
        $stat->bindParam(':personnels', $personnels);
        $stat->bindParam(':products', $products);
        $stat->bindParam(':publications', $publications);
        $stat->execute();
        header('Location: index.php');
        exit;
        // print_r($studioName."\r\n");
        // print_r($studioUrl."\r\n");
        // print_r($studioLocation."\r\n");
        // print_r($rawPersonnels);
        // print_r($personnels."\r\n");
        // print_r($personnelCount."\r\n");
        // print_r($rawProducts);
        // print_r($products);
        // print_r($rawPublications);
        // print_r($publications);
    }