JavaScript Nedir?
Javascript yakın zamana kadar sadece tarayıcının programlama dili olarak biliniyordu. Son zamanlarda tarayıcı penceresinin yanı sıra sunucu taraflı kodda da kullanımı popülerleşti.
İstemci taraflı programlama dili olarak JavaScript, bir web sayfasına kullanıcı girdisine tepki verebilecek internaktif ve dinamik öğelerden sorumludur.
jQuery Nedir?
jQuery bir JavaScript kütüphanesidir. Temel olarak paketlenmiş bir JavaScript koleksiyonudur ve çok daha basit bir kod satırıyla ulaşılabilir. Böylelikle geliştiriciler karmaşık JavaScript kodları yazmadan, jQueryde önceden yazılmış ve paketlenmiş kod sayesinde işlerini çok daha kolay bir şekilde halledebiliyor.
jQuery JavaScript’tir
jQuery ve JavaScript arasındaki fark kulağa iki rakip teknoloji arasında savaşa sebep oluyor gibi gelse de aslında tüm olay jQuery’nin JavaScript kullanmanın farklı bir yolu olması.
Bootstrap’le önceden ilgilendiyseniz CSS ve Bootstrap arasındaki ilişki iyi bir benzetme olacaktır.
Birçok web geliştirici web geliştirme alanına jQuery öğrenerek giriyor. Temel JavaScript bilgilerini öğrenmek iyi bir Front-End Geliştirici olmanın çok önemli taraflarından biri olsa da eğitiminizde birkaç hızlı başarıya da imza atmanız önemli. jQuery de buna ulaşmanın hızlı bir yolu.
Daha fazlası için kaynak: https://tr.bitdegree.org/tutorial/jquery-ve-javascript-arasindaki-fark/
input'lara requied attribute'si eklerseniz form'lar bu input boşken submit yapmazlar.
const $packetFrom = $('#packetFrom');
let counter = 1;
function addPacket() {
$packetFrom.append(`
<div class="row hidden_envelope" id="newPacket${counter}">
<input type="text" name="kullanici_id[]" required>
</div>
`);
counter++;
}
<?php
$language = isset($_GET['language']) ? $_GET['language'] : 'en';
$userAgent = isset($_GET['userAgent']) ? $_GET['userAgent'] : 'WikiBot/1.0 (+http://'.$_SERVER['SERVER_NAME'].'/)';
$betterResults = !( isset($_GET['betterResults']) && ($_GET['betterResults'] == 'false' || $_GET['betterResults'] == 0));
$proxy = isset($_GET['proxy']) ? $_GET['proxy'] : null;
$imageProxy = !(isset($_GET['imageProxy']) && ($_GET['imageProxy'] == 'false' || $_GET['imageProxy']== 0));
$DEBUG = isset($_GET['DEBUG']) ? $_GET['DEBUG'] : null;
// Set the Parameter
$options = array(
'language' => $language,
'userAgent' => $userAgent,
'betterResults' => $betterResults,
'proxy' => $proxy,
'imageProxy' => $imageProxy,
'DEBUG' => $DEBUG,
);
require_once __DIR__.'/ciktisi.php';
// Start the Wikipedia API Class
$wiki = new wiki($options);
// Output the API Response
echo $wiki->api($_GET['q']);
// Print the Script Runtime in DEBUG Mode
if ( isset($DEBUG) ) {
echo "<pre>\n\n\tRuntime: ".number_format((microtime(true)-$_SERVER['REQUEST_TIME_FLOAT']),3);
exit();
}
?>
<div class="kutucugumuz"></div>
abi kodlar hata vermiyor. kodlar çalışıyor fakat olay şu. aynı kodlar locslhosta veriyi dbye kaydederken sunucuya kaydetmiyor. php sürümleri aynı tek fark localhost mariadb sunucu mysql destekliyor.
Sorun sadece veritabanı türüyse kodlarınızdaki veritabanı bağlantı komutlarını düzenlemeniz gerekir.
Mesela veritabanına bağlanmak için hangi komutları kullandığınızı (özel verilerinizi değiştirerek) paylaşırsanız bunları nasıl MySQL'e göre düzeltebileceğinizi söyleyebiliriz.
Tabi sunucuda MySQL'inizin tüm tablolarıyla birlikte hazır bulunduğunu varsayıyorum.
Ama kodunuz veritabanına bağlanamıyor bile olsa "bağlanamıyorum" diye hata vermesi gerekir. Siz hiç hata da vermiyor diyorsunuz. Yani bir insert işlemi sırasında veritabanıyla bağlantı kuramadıysa bir hata dönüyor olmalı mesela.
Scroll eyleminin gerçekleşmesini istediğiniz satırda (yeni mesajı append ettikten hemen sonra)
mesajların kapsayıcısı olan, yani scroll özelliği bulunan elementi seçerek scroll'u olabilecek en aşağıdaki yere konumlandırın.
Şu satırı ilgili yere ekleyebilirsiniz:
const $messagesWrapper = document.getElementById("messages-wrapper");
$messagesWrapper.scrollTop = $messagesWrapper.scrollHeight;
> @ebykdrms son olarak hocam, linke (firsatlar?q=) gibi q='nın yanına o özel gün geldiğinde otomatik olarak (firsatlar?q=Cumhuriyet Bayramı) yazdırabiliyor muyuz ?
Siz bu tarihi a elementinin href attribute'sine ekleyip bir sayfaya göndermek istiyorsunuz. O sayfada da günün hangi gün olduğunu yakalamak istiyorsunuz.
Sizin sorduğunuz şekliyle istediğinizi PHP ile de Javascript ile de yapmak mümkün. Ancak q parametresinin değerini silip yerine başka bi'şey yazmak beraberinde başka sorunlar getirir.
Böyle yapmak yerine q parametresine ek olarak mesela t parametresi de ekleyin ve günün adını öyle yazın. Örneğin:
<a href="?q=<?=$today?>"> ... </a>
Bu şekilde yaptığınızda bu linkte şu yazacak: ?q=10-29
Buna ek olarak bulduğunuz gün adını da t parametresiyle eklemek için:
<a href="?q=<?=$today.($isTodayActive!=="" ? "&t=$isTodayActive" : "")?>"> ... </a>
Bu şekilde yaptığınızda bu linkte şu yazacak: ?q=10-29&t=Cumhuriyet Bayramı
Böylece yönlendirme yapmak istediğiniz sayfada $_GET dizisiyle hem q hem de t değerlerini alabileceksiniz.
Eğer q parametresini silerseniz bu değeri okuyamazsınız.
Ama tabi benim tarihle işim yok gün adı bana yetiyor diyorsanız direkt $isTodayActive değişkenini yazdırabilirsiniz.
<a href="?q=<?=$isTodayActive?>"> ... </a>
Böylece linkte şu ifade geçecek: ?q=Cumhuriyet Bayramı
Merhaba arkadaşlar.
Merhaba
Bir yazılımcı arkadaşım php kullanma dedi.
Arkadaşınızın görüşüdür.
Sunucu ve veri işlemlerinde çok yoğunluk yaşarsın
Çoğunlukla Javascript, PHP'den daha performanslı çalışır. Ancak olaya sadece performans açısından bakmamak gerek diye düşünüyorum.
ve iş bulamazsın ileri zamanlarda dedi.
Bu yanlış. İleri zamanları öngöremeyiz tabi ama PHP halen dünyada en çok kullanılan, en çok sunucuda kullanımda olan dil.
PHP ile Javascript'e göre çok daha hızlı proje geliştirirsiniz. Projenizi sonradan düzenlemeniz de çok daha hızlı olur.
Bu haliyle özellikle freelance işler için PHP en iyisidir. Türkiyede paylaşımlı sunucu hizmeti veren firmalar büyük oranda halen NodeJS'e geçememiştir. Paylaşımlı sunucu tercih etmezseniz de sunucu maliyetiniz artacak ve sunucu yönetimiyle de ilgilenmek zorunda kalacaksınız.
Diyelim ki NodeJS kurulu bir sunucuya sahipsiniz ve bir projeniz var. 2 yıl önce hazırladığınız bir web sitesinin sahibi sizden ufak bir düzeltme istedi. PHP yorumlanan bir dil olduğu için PHP ile bu düzenlemeyi 3-5 dk içinde yapabilirsiniz. Yani ilgili dosyayı açar, düzeltmenizi yapar, kaydedersiniz ve biter. Ama NodeJS projesi derlenmiş bir proje olduğu için önce projenin kaynak koduna erişir, kodu düzenler, kaydeder, projeyi yeniden derler, sonra sunucuyu yeniden ayağa kaldırırsınız.
PHP ile iş bulamazsınız yaklaşımını hatalı görüyorum. PHP uygun maliyetli, oldukça iyi performans veren, becerikli bir dil. PHP bilen insan sayısı da çok. Haliyle işverenler için gayet hoş bir dil. Ama ben de Javascript'i daha keyifli bulurum.
Psikolojim bozuldu ümidim yıkıldı.
Eğer bu söylemler sizi çok fazla demoralize ediyorsa bence de javascript'e başlayın. Çünkü "PHP öldü"cüler yıllardır bitmedi. Bitmeyecek gibi de görünüyor...
Şu an bulunduğunuz site PHP ile yazılmış mesela. "Klasik ASP öldü" diyene hak veririm. Dilin gelişimi durdu. Ama PHP halen geliştirilmeye devam eden bir dil.
Javascript'e başlıyorum ben.
Hayırlı olsun.
Php ile iş bitmiş diyor.
Evet, PHP ile iş biter. PHP iş bitirici bir dildir. PHP ile iş bitirmek oldukça hızlı ve keyiflidir.
Diyelim ki PHP ile şu şekilde tarihleri tutuyorsunuz:
$activeDates = [
'10-29',
'21-1',
'4-23',
'5-19',
];
Şimdi bugünün yukarıdaki tarihlerden biri olup olmadığını bulalım.
// Önce bugünün tarihini alalım:
$today = date("m-d");
// Henüz kontrol sağlamadan önce, bugünün aktif gün olup olmadığını tutacak değişkene false verelim:
$isTodayActive = false;
// Şimdi tüm aktif günlere tek tek bakmak için bir döngü oluşturalım:
foreach($activeDates as $date) {
// Döngünün baktığımız elemanı ile bugün aynı mı?
if($date == $today) {
// Aynıysa bugünün aktif olduğunu belirten değişkenimizi true yapalım.
$isTodayActive = true;
// Ve döngünün sonraki tarihlere bakmadan sonlanmasını sağlayalım.
break;
}
}
Artık $isTodayActive değişkenimiz true ise bugünün özel günlerden biri olduğunu anlayabiliyoruz.
Bu durumda DOM'daki ilgili elementimizin $isTodayActive değerine göre gösterilmesini/gösterilmemesini sağlayabiliriz.
<?php if($isTodayActive===true) { ?>
<a href="ornek.html">
<div class="ozelgunlerlinki">
Bu fırsatı kaçırmayın ! (resimler vs olacak)
</div>
</a>
<?php } ?>
Siz diyebilirsiniz ki:
"Özel tarih olunca anlayalım ama aynı zamanda bu özel tarihin adını da ekrana yazmak istersek ne yapabiliriz?"
Bu durumda $activeDates değişkenimizi biraz daha geliştirmemiz gerekir:
$activeDates = [
['10-29', 'Cumhuriyet Bayramı'],
['1-1', 'Yılbaşı'],
['4-23', 'Ulusal Egemenlik ve Çocuk Bayramı'],
['5-19', 'Gençlik ve Spor Bayramı'],
];
Böylece 2 boyutlu bir dizi oluşturmuş olduk.
Şimdi bugünün aktif olup olmadığını tutan değişkenimize true veya false atamak yerine, bugün eğer özel günlerden biriyse bu özel günün ne olduğunu yazalım.
// Önce bugünün tarihini alalım:
$today = date("m-d");
// Henüz kontrol sağlamadan önce, bugünün aktif gün olup olmadığını tutacak değişkene boş string ("") verelim:
$isTodayActive = "";
// Şimdi tüm aktif günlere tek tek bakmak için bir döngü oluşturalım:
foreach($activeDates as $date) {
// Döngünün baktığımız elemanı ile bugün aynı mı?
if($date[0] == $today) {
// Aynıysa bugünün aktif olduğunu belirten değişkenimize o günün verisini tutan dizinin 2. elemanını verelim.
$isTodayActive = $date[1];
// Ve döngünün sonraki tarihlere bakmadan sonlanmasını sağlayalım.
break;
}
}
Böylece eğer bugün özel günlerden biriyse $isTodayActive değişkeninde o günün adı yazıyor. Eğer değilse bu değişken boş string olarak kalmış demektir. Bu durumu if içinde kontrol edebiliriz.
<?php if($isTodayActive!=="") { ?>
<a href="ornek.html">
<div class="ozelgunlerlinki">
<?= $isTodayActive ?> gününe özel bu fırsatı kaçırmayın ! (resimler vs olacak)
</div>
</a>
<?php } ?>
Diyelim ki PHP ile şu şekilde tarihleri tutuyorsunuz:
$activeDates = [
'2022-10-29',
'2022-1-1',
'2023-4-23',
'2023-5-19',
];
Şimdi bugünün yukarıdaki tarihlerden biri olup olmadığını bulalım.
// Önce bugünün tarihini alalım:
$today = date("Y-m-d");
// Henüz kontrol sağlamadan önce, bugünün aktif gün olup olmadığını tutacak değişkene false verelim:
$isTodayActive = false;
// Şimdi tüm aktif günlere tek tek bakmak için bir döngü oluşturalım:
foreach($activeDates as $date) {
// Döngünün baktığımız elemanı ile bugün aynı mı?
if($date == $today) {
// Aynıysa bugünün aktif olduğunu belirten değişkenimizi true yapalım.
$isTodayActive = true;
// Ve döngünün sonraki tarihlere bakmadan sonlanmasını sağlayalım.
break;
}
}
Artık $isTodayActive değişkenimiz true ise bugünün özel günlerden biri olduğunu anlayabiliyoruz.
Bu durumda DOM'daki ilgili elementimizin $isTodayActive değerine göre gösterilmesini/gösterilmemesini sağlayabiliriz.
<?php if($isTodayActive===true) { ?>
<a href="ornek.html">
<div class="ozelgunlerlinki">
Bu fırsatı kaçırmayın ! (resimler vs olacak)
</div>
</a>
<?php } ?>
Siz diyebilirsiniz ki:
"Özel tarih olunca anlayalım ama aynı zamanda bu özel tarihin adını da ekrana yazmak istersek ne yapabiliriz?"
Bu durumda $activeDates değişkenimizi biraz daha geliştirmemiz gerekir:
$activeDates = [
['2022-10-29', 'Cumhuriyet Bayramı'],
['2022-1-1', 'Yılbaşı'],
['2023-4-23', 'Ulusal Egemenlik ve Çocuk Bayramı'],
['2023-5-19', 'Gençlik ve Spor Bayramı'],
];
Böylece 2 boyutlu bir dizi oluşturmuş olduk.
Şimdi bugünün aktif olup olmadığını tutan değişkenimize true veya false atamak yerine, bugün eğer özel günlerden biriyse bu özel günün ne olduğunu yazalım.
// Önce bugünün tarihini alalım:
$today = date("Y-m-d");
// Henüz kontrol sağlamadan önce, bugünün aktif gün olup olmadığını tutacak değişkene boş string ("") verelim:
$isTodayActive = "";
// Şimdi tüm aktif günlere tek tek bakmak için bir döngü oluşturalım:
foreach($activeDates as $date) {
// Döngünün baktığımız elemanı ile bugün aynı mı?
if($date[0] == $today) {
// Aynıysa bugünün aktif olduğunu belirten değişkenimize o günün verisini tutan dizinin 2. elemanını verelim.
$isTodayActive = $date[1];
// Ve döngünün sonraki tarihlere bakmadan sonlanmasını sağlayalım.
break;
}
}
Böylece eğer bugün özel günlerden biriyse $isTodayActive değişkeninde o günün adı yazıyor. Eğer değilse bu değişken boş string olarak kalmış demektir. Bu durumu if içinde kontrol edebiliriz.
<?php if($isTodayActive!=="") { ?>
<a href="ornek.html">
<div class="ozelgunlerlinki">
<?= $isTodayActive ?> gününe özel bu fırsatı kaçırmayın ! (resimler vs olacak)
</div>
</a>
<?php } ?>
MySQL ile işiniz olmasa da verdiğim kodu kendi kodunuza uygun hale getirebilirsiniz.
Anladığım kadarıyla cevabımdaki kodu kendi kodunuza entegre edecek düzeyde PHP bilmiyorsunuz.
Sizin kodunuzu görmeden yorum yapmak zor.