evet netgsm ben de öneririm, örnek bir sms gönderme kodunuda koyalım belki lazım olur
function sendSMS($phone, $msg){
$username = ""; // netgsm kullanıcı adı
$password = ""; // netgsm şifre
$header = ""; // netgsm gönderim adı
$url= sprintf(
"https://api.netgsm.com.tr/sms/send/get/?usercode=%s&password=%s&gsmno=%s&message=%s&msgheader=%s",
$username,
$password,
$phone,
urlencode($msg),
$header
);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
$response = curl_exec($ch);
curl_close($ch);
return $response;
}
print_r(sendSMS('5553332211', 'Onay kodunuz: 4523'));
Bütün JetBrains ürünlerini öğrenci mailin varsa ücretsiz olarak kullanabilirsin. Tek ihtiyacın edu uzantılı bir mail adresi ile öğrenci olarak kayıt oluşturmak, her sene aynı mail ile lisansını ücretsiz olarak uzatabiliyorsun.
https://www.jetbrains.com/community/education/
en basiti form içinde get isteği atmakla olur
<form action="" method="get">
<input type="hidden" name="ornek" value="1" />
<button type="submit">Ekle</button>
</form>
<form action="" method="get">
<input type="hidden" name="ornek" value="2" />
<button type="submit">Ekle</button>
</form>
bu zaten gerekli eklemeyi otomatik yapacak ancak neden böyle bir şeye ihtiyacın oldu onu anlayamadım :)
Varsayılan olarak json_encode() fonksiyonu unicode karakterlere dönüştürüyor. Örneğin;
$arr = [
'name' => 'Çağla'
];
echo json_encode($arr); // çıktı: {"name":"u00c7au011fla"}
$json = '{"name":"u00c7au011fla"}';
$arr = json_decode($json, true);
print_r($arr);
/*
Array
(
[name] => Çağla
)
*/
Nihayetinde geri diziye çevirdiğinde karakterler orjinaline dönüyor ancak en başta bunu escape etmesin dersen 2. parametreye JSON_UNESCAPED_UNICODE flagını belirtebilirsin;
$arr = [
'name' => 'Çağla'
];
echo json_encode($arr, JSON_UNESCAPED_UNICODE); // çıktı: {"name":"Çağla"}
eğer kayma işlemini css'de position: sticky; ile yaptılarsa prefix eklenip test edilebilir, çünkü bazı sürümlerde prefix olmadan çalışmıyor.
.header {
position: sticky;
position: -webkit-sticky;
}
şeklinde.
takip et butonunun böyle olduğunu varsayalım
<button onclick="follow('1', this)">Takip et</button>
o zaman follow() fonksiyonunu şöyle kurgulayabilirsin
function follow(id, el){
// ajax isteği yaptıktan sonra aşağıdakileri çalıştır
el.innerText = 'Takibi bırak';
el.setAttribute('onclick', `unfollow(${id}, this)`);
}
function unfollow(id, el){
// takibi bırakmak için gerekli ajax requesti
el.innerText = 'Takip et';
el.setAttribute('onclick', `follow(${id}, this)`);
}
çalışmadı dersin diye demosunuda koyayım garanti olsun :)
demo: https://codepen.io/tayfunerbilen/pen/WNGxxKa
eğer Samsung kategorisine ürün kaydedeceksen bence şu şekilde kaydetmen gerek
Telefon,Android,Samsung
Yani kategorinin tüm üst kategorilerini de dahil ederek kayıt edebilirsin. ID ile örnek verecek olursak
$category = '1,3,6';
// 1 = Telefon
// 3 = Android
// 6 = Samsung
Bu mantıkta ürünler tablonda 1,3,6 diye olacağından ararken FIND_IN_SET() kullanacaksın mysql'de. Örneğin
// 3 android
$query = $db->query('select * from products where find_in_set(product_category, 3)')->fetchAll(PDO::FETCH_ASSOC);
gibi. Böylece Telefon kategorisine de girse Android kategorisine de girse ilgili ürünü görebilecek. Genelde e-ticaret sitelerinde bu mantıkta görürsün ürünleri
kodları görmeden nasıl yardımcı olalım :)
mysql ile yapabilmek istiyorsan web socket kullanırsın yeni data eklediğinde sockete bildirirsin client tarafında da bu socket dinleniyor olur yenilik gelince isteği ayar
eğer mysql kullanmayacaksan firebase gibi real time bir database kullanarakta aynı işlemleri gerçekleştirebilirsin, anahtar kelimelerin bunlar internette bolca örneği var bu arada bizim kanaldada php socket ile ilgili bir örnek mevcut :)
bunu yapmak yerine buttonlarına name ve value vererek php tarafında kontrol edip ona göre işlem yaptırabilirsin