Hosting mi sunucu mu kullanıyorsunuz?
Hosting'de composer bağımlılıklarını yüklemek için cPanel vb. sistemlerde bir araç var mı bilmiyorum. Yoksa da manuel olarak tek tek yüklemek zorunda kalacaksınız.
Sunucuda ise proje klasöründe iken komutu çalıştırmalısınız.
Ek olarak konu dışına çıktığımız için bir dahaki sefere ayrı soru sorunuz lütfen.
Sadece composer.json
dosyasını atmanız yeterli. Sonrasında composer install
komutu ile tüm bağımlılıklar yüklenecektir.
Açıkçası yazdığın kod çok hatalı ve eksik. Birkaç düzenleme yaptım şu an çalışıyor.
<?php
ob_start();
require_once "database.php";
if(isset($_POST['urun_fiyat'])) {
$sporcuurunleri_stokkodu = $_POST["sporcuurunleri_stokkodu"];
$sporcuurunleri_urunfiyati = $_POST["sporcuurunleri_urunfiyati"];
$sporcuurunleri_urunadi = $_POST["sporcuurunleri_urunadi"];
$countfiles = count($_FILES['files']['name']);
$query = "INSERT INTO sporcuurunleri (sporcuurunleri_resim, sporcuurunleri_stokkodu, sporcuurunleri_urunfiyati, sporcuurunleri_urunadi) VALUES(:sporcuurunleri_resim, :sporcuurunleri_stokkodu, :sporcuurunleri_urunfiyati, :sporcuurunleri_urunadi)";
for($i=0;$i<$countfiles;$i++){
$filename = $_FILES['files']['name'][$i];
$target_file = 'images/' .$filename;
$file_extension = pathinfo($target_file, PATHINFO_EXTENSION);
$file_extension = strtolower($file_extension);
$valid_extension = array("png","jpeg","jpg", "mp4");
if(in_array($file_extension, $valid_extension)){
if(move_uploaded_file($_FILES['files']['tmp_name'][$i],$target_file)){
try {
$statement = $db->prepare($query);
$sorgu = $statement->execute([
':sporcuurunleri_resim' => $filename,
':sporcuurunleri_stokkodu' => $sporcuurunleri_stokkodu,
':sporcuurunleri_urunfiyati' => $sporcuurunleri_urunfiyati,
':sporcuurunleri_urunadi' => $sporcuurunleri_urunadi
]);
if ($sorgu) {
echo "Başarılı";
header("refresh:2; url=urunekle.php");
}else {
echo $statement->errorCode() . ' Error: <br>';
print_r($statement->errorInfo());
}
}catch (PDOException $e){
echo "Error: " . $e;
}
}
}
}
}else {
echo "Hata";
}
?>
$db
değişkeni oluşturulmamış. Veritabanı bağlantısını yaptınız mı?
GET ile bu tarz bir istek yapacaksanız http_build_query()
fonksiyonunu kullanmanız gerekir.
Örnek kullanım:
$get_data = [
'userID' => '5'
];
$ch = curl_init();
$get_url = 'https://jsonplaceholder.typicode.com/posts' . http_build_query($data);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($ch);
curl_close($ch);
echo $result;
1) Öncelikle PHP 8 özellikle JIT ile çok daha hızlı.
2) Tek bir dil öğrenmek iyi bir şey olmadığı için ikinci dediğin de yanlış. Ayrıca gelişmiş frameworkler için
bu dediğin bir sorun değil. Vue + Laravel çok uyumlu çalışıyor meselâ.
3) Bu kişiden kişiye değişir ama bence saçma bir bakış açısı. PHP öğrenmesi en basit dillerden biridir ve bunu sebebi de yazım tarzı.
Ek olarak;
-PHP'nin ekosistemi çok daha büyüktür ve nerdeyse her şeyin çözümünü veya örneğini bulabilirsin.
-PHP ile oluşturulan siteler internetteki sitelerin yaklaşık yüzde 80'nini kullanıyor ve bu felâket bir oran.
-Sık sık gelişiyor ve Laravel gibi dev bir ekosistemi var.
-OOP için PHP çok daha kullanışlı.
-Swoole vb. kullanarak dilin kullanımını çok daha fazla geliştirebilirsiniz.
Boşboğaz eden arkadaşı boş verin lütfen, bu platformda düzgün cevap veren insanlar da var.
Burada örnek bir çalışma mevcut, ortalama bir İngilizce seviyeniz varsa rahatlıkla anlarsınız.
Aslında bu tarz projelerde önemli olan mantığı anlamaktır. MVC yapısında neler bulunduğu, nasıl çalıştığı vb. idir. Tayfun hocanın videosu da mantığı anlatmaya dayalı.
Bu videodan sonra iyice anlayacağınızı düşünüyorum.
Burdaki GitHub reposunu kullanabilirsin
Sanırım Vanilla Js kullanıyorsun. Dinamik bir yapı oluşturduysan eğer ziyaret ettiği yerleri bir değişkende tutabilirsin.
Misal ürünler sayfasından Login'e tıkladıysa değişkene ürünler sayfasını koyup login olduğunda da o değişkeni yönlendirirsin.
Eğer değişken boş ise (ki bu da login sayfasına dışarıdan bir giriş olduğunu gösterir) ana sayfaya yönlendirirsin.
Eğer Apache sunucusu kullanıyorsanız .htaccess dosyasına şu kodu yazın
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)\.html$ /$1 [L,R=301]