switch-case
ile değeri kontrol ederek istediğin işlemi yaptırabilirsin.
function sfer(value) {
switch (value) {
case "A":
alert(1)
break;
case "B":
alert(2)
break;
case "C":
alert(3)
break;
}
}
sfer("A")
sfer("B")
sfer("C")
engelleyemezsin, developer tool'da source kısmında hepsi gözükeceği için bir mantığı yok bunu istemenin
Öncelikle getHours
ve getMinutes
birer metod olduğu için bunların sonun ()
eklemen gerekirdi. Yani;
function saatDakikaYaz() {
var zaman = new Date();
var saat = zaman.getHours();
var dakika = zaman.getMinutes();
document.getElementById("_saat").innerHTML = saat;
document.getElementById("_dakika").innerHTML = dakika;
}
ve tabi bir de her 1 saniyede fonksiyonu yeniden çağırman gerekirdi.
setInterval(saatDakikaYaz, 1000)
ek olarak jquery kullanmamamışsın kütüphaneyi sayfaya eklemenin bir mantığı yok o yüzden :)
kullanabilirsin, container için yazılan kodları aktarmış oluyorsun tekrar tekrar yazmamak adına, böyle bir ihtiyacın olursa kullanabilirsin ama sadece container'da yazılanlara ihtiyacın varsa yeni bir class türetip onu extend etmene gerek yok direk class'ı container olarakta kullanabilirsin
şu mantıkta yapabilirsin
<div class="test"></div>
<div class="test"></div>
<div class="test"></div>
<div class="test"></div>
<div class="test"></div>
<div class="test"></div>
<div class="test"></div>
<div class="test"></div>
<style>
.test {
background: #000;
color: #fff;
height: 50px;
margin-bottom: 5px;
}
.test.yeni-class {
background: yellow;
color: #000;
}
</style>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script>
const divs = $('.test')
divs.on('click', function() {
divs.removeClass('yeni-class').filter(this).addClass('yeni-class');
})
</script>
benim verdiğim kodda url'e gelen değeri yazdıracaksın o kadarınıda yaparsın diye düşündüm :)
<input type="text" placeholder="Linki yapıştırın" id="input">
<button id="btn">Sorgula</button>
<div id="result" style="display: none">
<strong>Kullanıcı adı:</strong> <span id="username"></span> <br>
<strong>Şifre:</strong> <span id="password"></span> <br>
<strong>URL:</strong> <span id="url"></span>
</div>
<script>
const input = document.getElementById('input'),
btn = document.getElementById('btn'),
result = document.getElementById('result')
btn.addEventListener('click', () => {
if (input.value) {
const url = new URL(input.value);
result.style.display = 'block'
document.getElementById('username').innerText = url.searchParams.get('username');
document.getElementById('password').innerText = url.searchParams.get('password');
document.getElementById('url').innerHTML = `<a href="${url.origin}" target="_blank">${url.origin}</a>`;
}
})
</script>
bunu en kolay javascript URL()
web apisi ile yapabilirsin.
Yani;
const url = new URL('http://vip47.xyz:8080/get.php?username=kreawich&password=tRzNHoZF0n&type=m3u&output=ts')
console.log(url.origin); // çıktı: http://vip47.xyz:8080
console.log(url.searchParams.get('username')); // çıktı: kreawich
console.log(url.searchParams.get('password')); // çıktı: tRzNHoZF0n
@abdullahx, yakında sistemi yenileyeceğim o zaman buradaki tüm sorunları çözerek yeni sistemi çıkartacağım, yazdıklarınızı okuyorum merak etmeyin :)
buyur dostum, örneklerle basit bir session sınıfı yazdım sana, artık nasıl kullanmak istiyorsan öyle kullan geliştir devamını, en fazla 2 boyutlu dizi oluşturabilirsin zaten session'da da daha fazlasına ihtiyacın olmayacaktır
<?php
session_start();
class Session {
public static function get($key, $subKey = false) {
return $_SESSION[$key][$subKey] ?? $_SESSION[$key] ?? false;
}
public static function create($key, $data) {
$_SESSION[$key] = $data;
}
public static function append($key, $data, $singleData = false) {
if ( !self::get($key) ) {
throw new Exception('Ekleme yaptığın session oluşturulmamış');
}
if ( !is_array(self::get($key)) ) {
throw new Exception('Ekleme yaptığın session dizi tipinde değil');
}
if (is_array($data)) {
$_SESSION[$key] += $data;
} else {
$_SESSION[$key][$data] = $singleData;
}
}
public static function prepend($key, $data) {
if ( !self::get($key) ) {
throw new Exception('Ekleme yaptığın session oluşturulmamış');
}
if ( !is_array(self::get($key)) ) {
throw new Exception('Ekleme yaptığın session dizi tipinde değil');
}
if (is_array($data)) {
$_SESSION[$key] = $data + $_SESSION[$key];
} else {
$_SESSION[$key]= [$data => $singleData] + $_SESSION[$key];
}
}
public static function remove($key, $subKey = false) {
if ($subKey) {
if (is_array($subKey)) {
array_map(function($k) use ($key) {
unset($_SESSION[$key][$k]);
}, $subKey);
} else {
unset($_SESSION[$key][$subKey]);
}
} else {
unset($_SESSION[$key]);
}
}
public static function getAll() {
return $_SESSION;
}
public static function dumpAll() {
echo '<pre>';
print_r(self::getAll());
}
}
Session::create('user', [
'name' => 'Tayfun'
]);
Session::dumpAll();
Session::append('user', [
'email' => '[email protected]',
'surname' => 'Erbilen'
]);
Session::append('user', 'anahtar', 'deger');
Session::prepend('user', [
'id' => 1
]);
Session::dumpAll();
print_r(Session::get('user'));
echo Session::get('user', 'id');
// Session::remove('user');
// Session::remove('user', 'email');
Session::remove('user', ['email', 'anahtar', 'surname']);
Session::dumpAll();
Session::create('name', 'Tayfun');
try {
Session::append('name', 'anahtar', 'deger'); // hatalı
} catch (Exception $e) {
echo $e->getMessage();
}
Session::dumpAll();
kaynaktan başlık, görsel, url çekmek için kullanacağın fonksiyon
function getProducts($source) {
preg_match_all('@<div class="pBox" data-title="[0-9a-zA-Z-_]+">(.*?)</div>@', $source, $items);
if (isset($items[1])) {
foreach($items[1] as $key => $item) {
preg_match('@<img class="app-center" src="(.*?)" alt="(.*?)" >@', $item, $image);
preg_match('@<a href="(.*?)">@', $item, $url);
[, $image, $title] = $image;
yield [
'title' => $title,
'url' => $url[1],
'image' => $image
];
}
}
}
kullanırken
$url = 'https://www.gardrops.com/kawaicity';
$source = file_get_contents($url);
$products = getProducts($source);
foreach($products as $product) {
print_r($product);
}
tabi ilk 12 ürünü gösteriyor, networkten bakınca sonraki ürünleri getirmek için şu adrese
https://www.gardrops.com/resources/pageFeed
şu bilgilerle
{
page: 1,
url: '/kawaicity'
}
POST isteği atılıyor. Sen de 2. sayfadaki ürünlerini almak için php curl ile bu isteği yaptığında, dönen kaynak kodunu yine fonksiyondan geçirip değişiklik yapmadan kullanabilirsin, o kadarınıda sana bırakıyorum :)