Bir çok şifreleme algoritması var, örneğin AES (Advanced Encryption Standart - Gelişmiş Şifrelem Standardı) kullanılabilir.
function encrypt($string, $key)
{
$encrypted_string = openssl_encrypt($string, "AES-128-ECB", $key);
return $encrypted_string;
}
function decrypt($string, $key)
{
$decrypted_string = openssl_decrypt($string, "AES-128-ECB", $key);
return $decrypted_string;
}
$anahtar = 'prototurk.2019';
$deger = 5; // örneğin kategori idsi olsun
$sifreliDeger = encrypt($deger, $anahtar);
echo $sifreliDeger// Çıktı: vJeZ6vqVNnLG5AELjajNug==
$gercekDeger = decrypt($sifreliDeger, $anahtar);
echo $gercekDeger; // Çıktı: 5
Tam olarak şöyle;
<div class="fixed">
Hello PROTOTURK
</div>
<style>
.fixed {
position: fixed;
top: 0;
left: 50%;
transform: translate(-50%);
background: red;
}
</style>
burada olay soldan 50% verip translate(-50%) diyerek dinamik genişliği olan bir alanı ortalamak :)
Bence en kolay şöyle olur, header ve footer divlerini fixed olarak eklemek. Örnek vermek gerekirse;
<header class="header">
Header
</header>
<main class="contaner">
.. içeriğin ..
</main>
<footer class="footer">
Footer
</footer>
Tabi burada header ve footer'ı sadece yazdırma yaparken görmek için şöyle bir CSS gerekir;
.header, .footer {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100px;
display: none;
}
.footer {
top: auto;
bottom: 0;
}
@media print {
.header, .footer {
display: block;
}
.container {
padding: 100px 0;
}
}
İşine yarar diye tahmin ediyorum :D En kötü ihtimalle tüm ihtimaller burada açıklanmış ufak bir gezinti işini görecektir :)
jQuery 1.7 sürümünde live() metodu kaldırıldı. Yerine on() metodu kullanılabilir. Örnek olması adına;
$(document.body).on('click', '.link', function(){
// ...
});
bu tam olarak senin yazdığın kodun alternatifidir.
Bunun için flex-wrap: wrap kullanabilirsin. Yani;
.container {
display: flex;
flex-wrap: wrap;
.box {
width: 50%;
}
}
böylece 50% dediğin için 100%lük bir alana max. 2 tane sığacaktır. Taşanlar ise alta gelecektik ve ikişer ikişer gösterecektir.