Parçalayarak elde ettiğin id değerlerini yeniden youtube'a gidip video bilgilerini çekmek yerine yabancı mp3 indirme sitelerinin apilerini öneririm. Bir google araması yaparsan eğer çok hızlı ve sade apiler bulabilirsin.
Veritabanından dönen sonuçları listelerken bu sonuçları linklendirebilirsin. @webdevyusuf arkadaşımızın önerdiği kodu şu şekilde düzenlersek istediğine ulaşmış olacaksın.
<?php
$db = new mysqli("localhost", "root", "password", "veritabani");
$word = @$_GET["q"];
$sql = $db->query("SELECT * FROM veritabani WHERE baslik LIKE '%".$word."%' ");
if ($sql->num_rows) {
while ($row = $sql->fetch_assoc()) {
//Linklendirme yapacağın alan
$baslik = $row["baslik"];
$url = $row["url"];
echo "<a href=$url>$baslik</a><br>";
}
} else {
echo "sonuç yok";
}
?>
Tabii bunun için veritabanında içeriklerini tuttuğun bir tablo olmalı. Bu tabloda baslik ve url değerleri de tutulmalı. Merhaba olan başlığın urlsi https://siten.com/merhaba olarak tutulabilir. Url değeri yerine id değeri de girersin ve listeleme kısmında
<a href=https://siten.com/icerikgoster.php?id=$id>$baslik</a>
olarak gösterebilirsin. Nasıl bir çözüm arıyorsan detay verirsen daha da yardımcı olmaya çalışırız.
Kardeşim siteyi de biz kuralım mı :D
Bu konuları daha iyi kavramak için direkt olarak kendin deneyip öğrenmelisin. Google'a php çerezler yaz atıyorum, türkçe kaynaklar çıkar, bu konudaki bir yazılı kaynaktan, kullanılan kodlara bakarak kendi kodlarını yaz. Çerezler ve session konusu çok güzel, eğlenceli ve basit konulardır. Mantığını kavrarsan hızlı öğrenirsin. Session id konusunda alman gereken bir önlem yok. Bir problem yaşamazsın. Zaten her kullanıcının session id bilgisim PHPSESSID çerezine atanır. Bu zaten engellenmez. Kodlarına dışardan veri alırken açık yaratma ihtimalini düşünerek önlem alırsın. Dışarıdan aldığın değeri yazdırıyorsan, veritabanına yolluyorsan, dosya oluşturuyorsan, birtakım kontrollerden geçiririrsin. Session konusunda ek bir önlem yapmana gerek yok şimdilik. Çok üst düzey gereksiz görüyorum.
Videoda aşırı amatörce bir anlatım var. Çok yanlış bir bilgi veriliyor. Session başlatıp session adına değer atadığı php sayfasına zaten kodlayan adamın yazma yetkisi var. Yani şöyle söyleyeyim, adam kendi sessionını manipüle etmek için yine kendi sitesindeki bir php sayfasına kod yazıyor. Dışardan gelen hiçbir şey sessionu etkiyelemez. Tabi hocamızın da dediği gibi session id çalınır sızdırılırsa ayrı. Ya da çerez kullanılırsa site dışında siteye çerez atamak eklentilerle çok kolay. Ama elinde tuttuğun session ismine istersen username de istersen kullaniciadi. İstediğin ismi vermekte özgürsün. Birileri benim sessionumu manipüle eder mi diye düşünme. Buna kimse etki edemez.
Bu konuda Tayfun hocanın çektiği instagram api videolarına bakmanı öneririm. Fakat sanırım api user girişi yapılarak kullanılabiliyordu. İlgili video sanırım şu. Bir göz atabilirsin. https://www.youtube.com/watch?v=car8Dd8SgLE&ab_channel=PROTOTURK
Bu konuda en önemli nokta, her ürünün global ürün kodunun tüm sitelerde de aynı şekilde veriliyor olmasıdır.
Hedeflediğin botu elbette yapabilirsin ama, diyelim trendyolda bulunan ürünün linkinden gelen veride bir ürün kodu var. Botun bu kodu alıp diğer sitelerden gelen verilerde bu ürün kodunu araştırıp bulmaya çalışması gerekir. Buraya kadar güzel ama örneğin hepsiburada ürün kodunu farklı girmiş olabilir. Kodlar siteden siteye değişebilir ya da global bir kod kullanılmayabilir. İsim ve birkaç daha detay bilgiyle birden çok parametre ile arama ve araştırma yaptırma yoluna gidebilirsin.
Çerezlere izin vermediğindendir büyük ihtimalle. Google'da chrome için çerezlere izin vermeyi araştırabilirsin.
Yönlendirme kodu kullanarak, kullanıcıyı ilgili kullanıcı paneline yönlendirebilir, ya da sayfayı yenileyebilirsin. Bunun için bahsettiğin giris.php'de session tanımı yapmayı unutma.
window.location.replace("http://prototurk.com");
window.location.href = "http://prototurk.com";
Aklına gelen herhangi bir random kelime ile klasör oluşturabilirsin ama önemli olan ismi değil de ne kadar güvenli giriş sayfası yapabildiğindir sanırım. Wordpress sitelerinin admin girişi /wp-login.php'dir mesela apaçık olarak. Giriş yapmayı güvenli hale getirmelisin.