çünkü instagram izin vermiyor, o buna izin verene kadar yapabileceğimiz çok bir şey yok :)
İlk kontrolün gönderilen base64'ün geçerli bir base64 olup olmadığı olabilir. Bunun içinde base64_decode() fonksiyonunda 2. parametreye true verip tekrar base64_encode() ile base64'e çevirip gönderilenle eşleşip eşleşmediğine bakacaksın. Yani;
Not: base64 başındaki data:image/(png|jpg|jpeg|webp);base64, değerlerini replace etmeyi unutma bu arada.
$base64_string = 'gönderilen base64 değer';
$base64_check = base64_encode(base64_decode($base64_string, true));
if ($base64_check === $base64_string) {
// geçerli bir base64 gönderilmiş
} else {
// hatalı bir base64 gönderilmiş
}
Bir diğer bakacağın ise, bu base64'den imagecreatefromstring() ile görseli oluşturup oluşturamadığına bakmak olabilir.
$base64_string = 'gönderilen base64 değer';
$image = imagecreatefromstring(base64_decode($base64_string));
if (!$image){
// gönderilen bir resim değil
} else {
// gönderilen resim
}
yani kısaca şöyle bir fonksiyon işini çözecektir;
function isValidImage($base64_string)
{
$base64_check = base64_encode(base64_decode($base64_string, true));
if ($base64_check !== $base64_string){
return false;
}
$image = imagecreatefromstring(base64_decode($base64_string));
if (!$image){
return false;
}
return true;
}
$base64_string = 'gönderilen base64 değer';
if (isValidImage($base64_string)) {
echo 'base64 formatında geçerli bir resim gönderilmiş';
}
ne slaytı, ne tekerleği? sen şu yazdığından bir anlam çıkarabildin mi gerçekten, ben çıkartamadım çünkü
css'de parent'ı ya da öncesini seçme durumu olmadığı için yapamazsın :) jquery ile şöyle bir şey yapabilirsin
<div class="purpose">başka bir div</div>
<div class="container">
<div>1. div</div>
<div>2. div</div>
<div>3. div</div>
</div>
<style>
.purpose.active {
background-color: lime;
}
</style>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script>
$('.container div').on('mouseover', function() {
$('.purpose').addClass('active');
}).on('mouseleave', function() {
$('.purpose').removeClass('active');
});
</script>
güncel olması için bir sebep yok zaten, oturum yönetimi ne zamandan beri farklılaştı ki :)
ben https://packagist.org/ adresinden arıyordum paketleri belki sen de şansını deneyebilirsin
bir sürü markdown parser var aslında, örneğin
https://github.com/michelf/php-markdown
composer olmadan ifadesi çok anlamsız, çünkü kolayca kurmak varken neden uğraşmak isteyesin? çok istiyorsan kaynak kodlarını indirip uğraşarak projene dahil edebilirsin ama dediğim gibi, bir anlamı yok bunun :)
python'ın re modülündeki sub() metodunu kullanarak bunu bir html tagı içine alabilirsin, örneğin;
import re
txt = "Güzel film blabla [--spoiler--]Bilmem ne ölüyor[--spoiler--] spoilersız yazı devam ediyor.. [--spoiler--]tekrar bir spoiler[--spoiler--] ve son :)"
replaced_txt = re.sub('\[--spoiler--\](.*?)\[--spoiler--\]', r'<span class="spoiler">\1</span>', txt)
print(replaced_txt)
# Güzel film blabla <span class="spoiler">Bilmem ne ölüyor</span> spoilersız yazı devam ediyor.. <span class="spoiler">tekrar bir spoiler</span> ve son :)
hangisini kolay yazıyorsan onunla kolay olur, bu tarz sorular biraz anlamsız kalıyor yapacağın şeyin özel bir yanı yok çünkü.
ayrıca lütfen sitedeki kategori seçimlerini soruyla ilişkili olarak kullanalım.
burada aldığın hata post değerinin array olmamasıyla alakalı dolayısı ile foreach'e sokmadan önce şu şekilde kontrol etmen daha doğru olacaktır;
if (isset($_POST['siparistamam'])) {
$isimsy=$_POST['isimsoyisim'];
$sirket=$_POST['sirket'];
$adres=$_POST['adres'];
$sehir=$_POST['sehir'];
if (isset($_POST['alan']) && is_array($_POST['alan'])){
foreach ($_POST['alan'] as $key => $value) {
$db->query("insert into siparis(alan_kadi) values ('$value')");
}
}
if (isset($_POST['veren']) && is_array($_POST['veren'])){
foreach ($_POST['veren'] as $key => $value) {
$db->query("insert into siparis(veren_kadi) values ('$value')");
}
}
if (isset($_POST['fiyat']) && is_array($_POST['fiyat'])){
foreach ($_POST['fiyat'] as $key => $value) {
$db->query("insert into siparis(toplam_tutar) values ('$value')");
}
}
if (isset($_POST['urunid']) && is_array($_POST['urunid'])){
foreach ($_POST['urunid'] as $key => $value) {
$db->query("insert into siparis(urun_id) values ('$value')");
}
}
$db->query("insert into siparis(isimsoyisim,adres,sirket,sehir) values('.$isimsy.','.$adres.','.$sirket.','.$sehir.')");
}
ayrıca print_r() ile dump ederek gelen değerlerini kontrol etmen gerek, sen eminsin ama öyle geliyor mu bir kontrolün yok gibi, en basit olarak şöyle bakıp karar ver doğruluğuna;
print_r($_POST);
eğer include ya da require ile dosya açmak istiyorsan bunu tamponda tutup geriye döndürmen gerekir. Örneğin;
function kisakod_html(){
ob_start();
require 'dosyaadi.php';
$file = ob_get_clean();
return $file; // dosyanın içeriğini geriye döndürüyoruz, ob_ fonksiyonları ile ekrana basmayı engelliyor doğrudan
}
add_shortcode("kisakod","kisakod_html");
tabi sorunu yanlış anlamış olabilirim, o yüzden tam emin olamadım :)