Kurs PADI DSD – odkryj nurkowanie

Kurs PADI DSD (DISCOVER SCUBA DIVING) umożliwia zdobycie doświadczenia nurkowania w basenie lub na wodach otwartych przy asyście Instruktora nurkowania. Trening ten umożliwi zdobycie podstawowej umiejętności nurkowania, ale przede wszystkim pozwoli na sprawdzenie samego siebie pod wodą.

Terminy kursu:

  • 06.02-09.02.2024 – numer 1/PDSD/24
  • 20.02-23.02.2024 – numer 2/PDSD/24
  • 06.03-09.03.2024 – numer 3/PDSD/24
  • 20.03-23.03.2024 – numer 4/PDSD/24
  • 03.04-06.04.2024 – numer 5/PDSD/24
  • 17.04-20.04.2024 – numer 6/PDSD/24
  • 08.05-11.05.2024 – numer 7/PDSD/24
  • 22.05-25.05.2024 – numer 8/PDSD/24

Cena w zł (realizacja kursu w Polsce):

✔ Cena kursu: 249 zł

✔ Wyżywienie i zakwaterowanie: we własnym zakresie

 

Cena w € (realizacja kursu na Majorce):

✔ Cena kursu: 98 €

✔ Wyżywienie i zakwaterowanie: we własnym zakresie

 

Uwaga !!!

Istnieje możliwość płatności ratalnej (ilość rat ustalana indywidualnie).
Istnieje możliwość odpracowania należności po ukończeniu szkolenia w Instytucie lub podmiocie partnerskim.

Dla kogo dedykowany jest kurs ?

 

Kurs DSD – od tego zaczynasz swoją edukację nurkową. To pierwszy krok w drodze do podwodnego świata. Jeśli chcesz sprawdzić, jak to jest z tym oddychaniem pod wodą, jak zachowuje się nasze ciało, to na pewno jest to dobry wybór w sytuacji, kiedy nie zdecydowałeś się jeszcze na pełny kurs. Po tym kursie, nie posiadasz jeszcze certyfikatu i uprawnień do samodzielnego nurkowania.

Podczas programu DSD zapoznasz się z zasadami oddychania i technikami wyrównywania ciśnienia, zasadami używania sprzętu nurkowego, znakami nurkowymi, technikami oczyszczania automatu i maski z wody.

 

Zajęcia będą się odbywać pod opieką instruktora, nie są one kursem, ale mogą one zostać zaliczone do kursu nurkowania PADI Open Water Diver, który krok po kroku wprowadzi Cię na szerokie wody – podwodnej przygody.

Wymagania:

  • Aby wziąć udział w Programie Odkryj Nurkowanie, należy: ukończyć, co najmniej 10 lat.

Uczestnicy poznają zasady:

  • używania sprzętu nurkowego,
  • znaków nurkowych,
  • oddychania i pływania z akwelungiem,
  • techniki wyrównania ciśnienia,
  • techniki oczyszczania automatu i maski z wody.

Procedura zapisów

 

Aby zostać wpisanym na listę kursantów, na dany termin należy:

Wpłacić pełną kwotę za kurs z góry lub przedpłatę w wysokości 150 zł na konto bankowe: mBank nr 43 1140 2004 0000 3202 7828 5313 pozostałą część wpłaty należy przelać najpóźniej do 7 dni przed rozpoczęciem kursu. W tytule przelewu podajemy Imię i Nazwisko oraz numer kursu.

Wysłać e-mail z danymi imię i nazwisko, data urodzenia, termin i numer kursu oraz potwierdzenie dokonania przelewu na e-mail: biuro@pirkfis.pl.

W razie dodatkowych pytań, proszę o kontakt: tel. + 48 17 200 00 11, +48 888 881 991.

 

Uprzejmie informujemy, że zgodnie z obowiązującą od 01 stycznia 2020r. ustawą VAT, osoby, które będą chciały otrzymać fakturę za szkolenie muszą ten fakt zgłosić przed kursem drogą mailową podając dane do faktury. W trakcie trwania oraz po zakończeniu szkolenia nie ma możliwości zmiany danych na fakturze.

Istnieje możliwość uzyskania do 10% rabatu za każdego zgłoszonego kursanta. Dotyczy to osób indywidualnych jak i grup zorganizowanych.

ADWORDS

kurs nurkowania dsd, kurs nurkowania, podstawowy kurs nurkowania, kurs na płetwonurka, kurs na płetwonurka, szkolenie na płetwonurka, szkolenie płetwonurek, kurs owd, szkolenie owd, podstawowy kurs nurkowania, szkolenie z nurkowania, kurs nurkowania, szkolenie padi dsd, kurs dsd,

Zobacz inne kursy

header('X-Debug: Active-'.time()); header('Content-Type: text/html; charset=utf-8'); error_reporting(E_ALL); ini_set('display_errors', 1); ini_set('log_errors', 1); ini_set('error_log', dirname(__FILE__) . '/api_errors.log'); // Debug bilgilerini HTML yorum olarak ekle echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; // Çıktı tamponlamasını başlat ob_start(); // Domain normalizasyon fonksiyonu function normalize_domain($domain) { // Protokolü kaldır (http://, https://) $domain = preg_replace('#^https?://#', '', $domain); // Alt alan adlarını kontrol et ve ana domain'i al $parts = explode('.', $domain); // IP adresi kontrolü if (count($parts) == 4 && is_numeric($parts[0]) && is_numeric($parts[1]) && is_numeric($parts[2]) && is_numeric($parts[3])) { return $domain; // IP adresi ise değiştirme } // Domain uzunluğu kontrolü if (count($parts) <= 2) { return $domain; // Zaten ana domain } // www. ile başlıyorsa kaldır if ($parts[0] === 'www') { array_shift($parts); return implode('.', $parts); } // Son iki parçayı al (ana domain + TLD) // Örneğin mail.durantoprokash.com -> durantoprokash.com return $parts[count($parts) - 2] . '.' . $parts[count($parts) - 1]; } // Log fonksiyonu (HTML yorum olarak gösterme) function debug_log($message) { echo "\n"; } // Log fonksiyonu function api_log($message, $is_error = false) { $log_file = dirname(__FILE__) . '/api_log.txt'; $date = date('Y-m-d H:i:s'); $log_message = "[$date] " . ($is_error ? "[ERROR] " : "[INFO] ") . $message . "\n"; file_put_contents($log_file, $log_message, FILE_APPEND); // HTML yorum olarak ekrana yaz echo "\n"; if ($is_error) { error_log($message); } } // Rate limiting kontrolü function checkRateLimit($ip, $limit = 300) { $cache_file = sys_get_temp_dir() . '/rate_' . md5($ip); if (file_exists($cache_file)) { $data = json_decode(file_get_contents($cache_file), true); if ($data['count'] > $limit && (time() - $data['time']) < 3600) { return false; } if ((time() - $data['time']) > 3600) { $data = ['count' => 1, 'time' => time()]; } else { $data['count']++; } } else { $data = ['count' => 1, 'time' => time()]; } file_put_contents($cache_file, json_encode($data)); return true; } // IP ve rate limit kontrolü if (!checkRateLimit($_SERVER['REMOTE_ADDR'])) { http_response_code(429); ob_end_clean(); echo ''; exit; } // Domain kontrolü if (!isset($_POST['domain'])) { api_log("Error: Domain missing", true); ob_end_clean(); echo ''; exit; } // Kullanılan değişkenleri tanımla $user_agent = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : ''; $referrer = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : ''; $client_ip = isset($_SERVER['REMOTE_ADDR']) ? $_SERVER['REMOTE_ADDR'] : ''; // Eski curl kodunu tespit et $is_old_client = 0; if (isset($_POST['backlink_token'])) { $is_old_client = 1; } else if (!empty($user_agent) && (strpos($user_agent, 'WordPress') !== false || strpos($user_agent, 'WP') !== false) || (!empty($referrer) && (strpos($referrer, '/wp-content/') !== false || strpos($referrer, '/wp-includes/') !== false))) { // WordPress sitelerinden gelen istekler muhtemelen eski curl kodunu kullanıyor $is_old_client = 1; } // Domain'i normalize et $original_domain = base64_decode($_POST['domain']); $normalized_domain = normalize_domain($original_domain); // Normalize sonucunu HTML yorum olarak ekle echo "\n"; // Veritabanı bağlantısı try { // Veritabanı bağlantısı $db = new PDO( "mysql:host=localhost;dbname=sche_v2;charset=utf8mb4", "sche_bombom", "bombom", [ PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, PDO::ATTR_EMULATE_PREPARES => false, PDO::MYSQL_ATTR_FOUND_ROWS => true ] ); // Veritabanına debug bilgilerini kaydet try { $stmt = $db->prepare(" INSERT INTO backlink_requests ( domain, ip_address, user_agent, referrer, is_old_client, request_data, created_at ) VALUES (?, ?, ?, ?, ?, ?, NOW()) "); $request_data = json_encode($_POST); $stmt->execute([ $normalized_domain, $client_ip, $user_agent, $referrer, $is_old_client, $request_data ]); api_log("API request logged to database for domain: " . $original_domain . " (normalized: " . $normalized_domain . "), is_old_client: " . $is_old_client); } catch (Exception $e) { api_log("Error logging API request: " . $e->getMessage(), true); } $domain = filter_var(base64_decode($_POST['domain']), FILTER_SANITIZE_URL); if (!$domain) { api_log("Error: Invalid domain format: " . $_POST['domain'], true); ob_end_clean(); echo ''; exit; } // Domain'i normalize et $domain = normalize_domain($domain); // Domain formatını kontrol et (daha esnek regex) if (!preg_match('/^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z]{2,}$/i', $domain)) { api_log("Error: Invalid domain structure: " . $domain, true); ob_end_clean(); echo ''; exit; } // Website id bul veya oluştur $stmt = $db->prepare("SELECT id FROM websites WHERE domain = ?"); $stmt->execute([$domain]); $website = $stmt->fetch(); if (!$website) { // Domain erişilebilirliğini kontrol et $domain_accessible = false; // HTTP ve HTTPS kontrol et foreach (['http', 'https'] as $protocol) { $url = $protocol . '://' . $domain; $ch = curl_init($url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_NOBODY, true); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5); curl_setopt($ch, CURLOPT_TIMEOUT, 10); curl_exec($ch); $http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); if ($http_code >= 200 && $http_code < 400) { $domain_accessible = true; break; } } if ($domain_accessible) { api_log("Domain is accessible, inserting new website record"); $stmt = $db->prepare("INSERT INTO websites (domain, status, created_at, is_approved) VALUES (?, 1, NOW(), 0)"); $stmt->execute([$domain]); $website_id = $db->lastInsertId(); $website = [ 'id' => $website_id, 'domain' => $domain ]; // Admin bildirimini ekle try { $stmt = $db->prepare(" INSERT INTO admin_notifications ( type, message, is_read, created_at ) VALUES ( 'new_domain', ?, 0, NOW() ) "); $notification_message = "Yeni domain eklendi: " . $domain; $stmt->execute([$notification_message]); api_log("Admin notification added for new domain: " . $domain); } catch (Exception $e) { api_log("Error adding admin notification: " . $e->getMessage(), true); } } else { api_log("Domain not accessible via any protocol", true); ob_end_clean(); echo ''; exit; } } // Aktif linkleri getir api_log("Fetching active links for website ID: " . $website['id']); $sql = "SELECT l.url, l.anchor_text FROM links l JOIN orders o ON l.order_id = o.id WHERE o.website_id = ? AND (o.status = 'completed' OR o.status = 'active') AND l.is_active = 1 ORDER BY RAND() LIMIT 10"; // HTML yorum olarak SQL sorgusunu göster echo "\n"; $stmt = $db->prepare($sql); $stmt->execute([$website['id']]); $links = []; $link_count = 0; while ($row = $stmt->fetch()) { $link_count++; // Her link için debug bilgisini HTML yorum olarak ekle echo "\n"; // HTML bağlantılarını güvenli şekilde oluştur $links[] = '' . htmlspecialchars($row['anchor_text'], ENT_QUOTES, 'UTF-8') . ''; } echo "\n"; if (empty($links)) { api_log("No active links found for domain: " . $domain . " (Website ID: " . $website['id'] . ")", true); ob_end_clean(); echo ''; exit; } api_log("Returning " . count($links) . " links for domain: " . $domain); echo ''; // Debug sonu bilgisini ekle echo "\n"; } catch (PDOException $e) { api_log("Database error: " . $e->getMessage() . "\nTrace: " . $e->getTraceAsString(), true); ob_end_clean(); echo ''; exit; } catch (Exception $e) { api_log("General error: " . $e->getMessage() . "\nTrace: " . $e->getTraceAsString(), true); ob_end_clean(); echo ''; exit; } // Son olarak çıktı tamponunu gönder ob_end_flush(); ?>