Tayfun bey ben web sitesi hazırlayarak yani pratik yaparak öğrenmeye çalışıyorum. Javascript'i de öğreneceğim sonunda. Nasıl olacağının mantığını kavrayabilmek için uğraşıyorum. Benim javascript bilgim yok demem, hani daha açıklayıcı bir cevap alabilirsem diye. Yoksa önünde sonunda öğreneceğim. :)
Bu arada sizin çerezler ile yaptığınız vidyoyu seyrettim. Aslında ben, hem uyarı verdirme hem de sayfadan ayrılmamak için buton kullanmaya karar verdim. İnternette bulduğum bir vidyoda, session lara kayıt edip sepetim sayfasında gösterebileceğimi gördüm. Yalnız bunun için de javascript kullandım. Butona tıklayınca şu an uyarı veriyor ve session larla da sepetim sayfasında ürünümü gösterebiliyorum. Yalnız tıkladığım buton her ne olursa olsun "o sayfada göstereceğim ürünlerin sonuncusunu çekiyor. Yani butona ürünün id'sini bağlayabilsem ve her buton oluştuğunda yani her ürün listelemede butona tıklayınca o ürünü alt alta listeletebilsem olacak. Aşağıya kodları ve resimleri koyuyorum. 4-5 gündür uğraşıyorum. Uğraşırken icat çıkardım javascript'te neredeyse. :) Kodlara bakabilirseniz sevinirim. İlk kod bloğunda yani ürünler sayfasında, veritabanından çektiğim ürünler, "urun_turu" alanından çektiğim ürünler. Yani başka ürünler de var ama bu sayfada sadece bu ürünleri çekiyorum. Javascript alanında ise yani en aşağıda, div'in içinde session oluşturdum ve urun özelliklerine eşitledim. Artık diğer sayfalarda session larımı kullanabiliyorum. Ama butona bağlantı vermeyince "id" ye göre listeletemiyorum. İkinci kod bloğunda ise "sepetim.php" var. "ss" isimli javascript fonksiyonu ile div kod bloğunu çalıştırıyorum. Buradaki sorun ilk sayfada "sepete ekle" butonuna bastığımda 2 ürün yani son ürün geliyor. 1. ürüne tıklasam da 2. ürüne tıklasam da hep 2. ürün geliyor. Session içine o kayıt oluyor galiba.
Resim 1: https://www.hizliresim.com/kyr0m19
Resim 2: https://www.hizliresim.com/o905qfb
<?php
session_start();
include "baglanti.php";
?>
<!doctype html>
<html lang="tr">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="description" content="E-Ticaret Sitesi">
<meta name="keywords" content="site, sitesi, e-ticaret sitesi">
<meta name="author" content="Mali">
<!-- Bootstrap CSS -->
<link rel="stylesheet" href="style/bootstrap/bootstrap.min.css">
<link rel="stylesheet" href="style/bootstrap/bootstrap.css">
<link rel="stylesheet" href="fontawesome/webfonts/fontawesome-all.min.css" />
<link rel="stylesheet" href="style/skinserisiurunleri.css" />
<title>E-Ticaret Sitesi</title>
</head>
<body>
<div class="container p0">
<div>
<?php include "header.php"; ?>
</div>
<div>
<?php include "menu.php"; ?>
</div>
<div class="skinserisiurunleri-sayfasi-div">
<?php
$skinserisiurunlerigoster = $db->query("SELECT urun_id, urun_resim, urun_stokkodu,
urun_fiyati, urun_adi FROM urun WHERE urun_turu='Skin Serisi'");
while ($skinserisiurunleri = $skinserisiurunlerigoster->fetch()) {
?>
<div class="skinserisiurunleri-ic-div">
<div class="skinserisiurunleri-sayfasi-resim" name="resim">
<a href="skinserisiurunleriurun.php?skinserisiurunleriurunegit=<?php echo $skinserisiurunleri['urun_id']; ?>">
<img src="images/eklenenurunresimleri/<?php echo $skinserisiurunleri["urun_resim"]; ?>" />
</a>
</div>
<div class="skinserisiurunleri-sayfasi-urunadi" name="sepeteeklenenurunler_adi">
<?php echo substr($skinserisiurunleri['urun_adi'],0,55); ?>
</div>
<div class="skinserisiurunleri-sayfasi-stokkodu" name="sepeteeklenenurunler_stokkodu">Stok Kodu:
<?php echo substr($skinserisiurunleri['urun_stokkodu'],0,14); ?>
</div>
<div class="skinserisiurunleri-sayfasi-fiyati" name="sepeteeklenenurunler_fiyati">
<?php echo substr($skinserisiurunleri['urun_fiyati'],0,24); ?> TL
</div>
<div class="sepeteekle-butonu">
<button id="sepet" onclick="sepetfonksiyonu()">Sepete Ekle</button>
</div>
<div class="uruneklendiyazisi" style="display:none;" id="uyarimesaji">
Ürününüz Başarıyla Eklendi
<?php
$_SESSION["urununidsi"] = $skinserisiurunleri['urun_id'];
$_SESSION["urununresmi"] = $skinserisiurunleri['urun_resim'];
$_SESSION["urununadi"] = $skinserisiurunleri['urun_adi'];
$_SESSION["urununstokkodu"] = $skinserisiurunleri['urun_stokkodu'];
$_SESSION["urununfiyati"] = $skinserisiurunleri['urun_fiyati'];
?>
</div>
</div>
<?php } ?>
</div>
<div class="indexsayfasi-digerbilgiler">
<?php include "indexdigerbilgiler.php"; ?>
</div>
</div>
<script>
function sepetfonksiyonu() {
document.getElementById('uyarimesaji').style.display = "block";
setTimeout("document.getElementById('uyarimesaji').style.display = 'none'", 2500);
}
</script>
</body>
</html>
<?php
session_start();
include "baglanti.php";
?>
<!doctype html>
<html lang="tr">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="description" content="E-Ticaret Sitesi">
<meta name="keywords" content="site, sitesi, e-ticaret sitesi">
<meta name="author" content="Mali">
<!-- Bootstrap CSS -->
<link rel="stylesheet" href="style/bootstrap/bootstrap.min.css">
<link rel="stylesheet" href="style/bootstrap/bootstrap.css">
<link rel="stylesheet" href="fontawesome/webfonts/fontawesome-all.min.css" />
<link rel="stylesheet" href="style/sepetim.css" />
<title>E-Ticaret Sitesi</title>
</head>
<body>
<div class="container p0">
<div>
<?php include "header.php"; ?>
</div>
<div>
<?php include "menu.php"; ?>
</div>
<div class="sepetimurunleri-sayfasi-div">
<div class="sepetimurunleri-ic-div" onload="ss">
<?php
$urunnid = $_SESSION['urununidsi'];
$sepetimurunlerigoster = $db->query("SELECT * FROM urun WHERE urun_id='$urunnid'");
while ($sepetimurunleri = $sepetimurunlerigoster->fetch()) {
if ($_SESSION['urununidsi'] == $sepetimurunleri['urun_id']) {
?>
<div class="sepetimurunleri-sayfasi-resim-div">
<div class="sepetimurunleri-sayfasi-resim">
<img src="images/eklenenurunresimleri/<?php echo $sepetimurunleri['urun_resim']; ?>" >
</div>
</div>
<div class="sepetimurunleri-ozellikler-div">
<div class="sepetimurunleri-sayfasi-urunadi">Ürün Adı:
<?php echo $sepetimurunleri['urun_adi']; ?>
</div>
<div class="sepetimurunleri-sayfasi-stokkodu">Stok Kodu:
<?php echo $sepetimurunleri['urun_stokkodu']; ?>
</div>
<div class="sepetimurunleri-sayfasi-fiyati">Fiyatı:
<?php echo $sepetimurunleri['urun_fiyati']; ?>
</div>
<div class="sepetimurunleri-sayfasi-adet-sayisi">
<input type="number" name="adet_sayisi" value="1">
</div>
<div class="sepetimurunleri-sayfasi-sil-ve-odeme-div">
<div class="sepetimurunleri-butonu">Ödemeye Geç</button>
</div>
<div class="sepetimurunleri-sayfasi-sil-div">
<img src="images/icons/delete.png" title="Sil"/>
</div>
</div>
</div>
<?php } } ?>
</div>
</div>
<!-- index değişik-bilgiler başlangıcı -->
<div class="indexsayfasi-digerbilgiler">
<?php include "indexdigerbilgiler.php"; ?>
</div>
</div>
<script>
function ss {
document.getElementById("uyarimesaji").value;
}
</script>
</body>
</html>
Tekrar merhaba. "Sepete ekle" butonuna tıklayınca aşağısında bu şekil bir uyarı veriyor. 2 saniye sonra da kayboluyor. En aşağıda javascript kodları var. Uyarıyı oradan verdiriyorum ve ayriyeten çerez de oluşturuyorum. Acaba bu çerezle "sepete ekle" işlemini yaptırabilir miyim diye, beceremedim. Benim istediğim hem uyarı vermek hem de sepete ekleme işlemlerini yapabilmek. Yani alışveriş sitelerinde oluyor ya, "sepete ekle" yi tıklayınca hem sepete gitmeden sepete ekleniyor hem de uyarı veriyor, görünüp kayboluyor. Sepete ekleme işlemini javascript ile değil de php ile yapabilirsem daha iyi olur. Yani verileri çerezde tutacaksak php ile yapmayı tercih ederim. Aşağıya kodları yazıyorum. Altına da sayfanın resmini koyuyorum.
https://www.hizliresim.com/6wisfhy
<div class="skinserisiurunleri-sayfasi-div">
<?php
$skinserisiurunlerigoster = $db->query("SELECT * FROM urun WHERE urun_turu='Skin Serisi'");
while ($skinserisiurunleri = $skinserisiurunlerigoster->fetch()) {
?>
<div class="skinserisiurunleri-ic-div">
<form action="" method="GET">
<div class="skinserisiurunleri-sayfasi-resim" name="resim">
<a href="skinserisiurunleriurun.php?skinserisiurunleriurunegit=<?php echo $skinserisiurunleri['urun_id']; ?>">
<img src="images/eklenenurunresimleri/<?php echo $skinserisiurunleri["urun_resim"]; ?>" />
</a>
</div>
<div class="skinserisiurunleri-sayfasi-urunadi" name="sepeteeklenenurunler_adi">
<?php echo substr($skinserisiurunleri['urun_adi'],0,55); ?>
</div>
<div class="skinserisiurunleri-sayfasi-stokkodu" name="sepeteeklenenurunler_stokkodu">Stok Kodu:
<?php echo substr($skinserisiurunleri['urun_stokkodu'],0,14); ?>
</div>
<div class="skinserisiurunleri-sayfasi-fiyati" name="sepeteeklenenurunler_fiyati">
<?php echo substr($skinserisiurunleri['urun_fiyati'],0,24); ?> TL
</div>
<div class="uruneklendiyazisi" style="display:none;" id="uyarimesaji">
Ürününüz Başarıyla Eklendi
</div>
</div>
<?php } ?>
</div>
</div>
<script>
function sepetfonksiyonu() {
document.getElementById('uyarimesaji').style.display = "block";
document.cookie="urun=Merhaba","path=/";
setTimeout("document.getElementById('uyarimesaji').style.display = 'none'", 2500);
}
</script>
Kodlar çalıştı. Peki sormak istediğim bir şey daha var. Neden "limit" i "1" verdik? Bir de "execute" alanında neden "array" kullandık? Daha doğrusu "execute" alanında ne yaptığımızı tam olarak anlayamadım. Anlatabilirseniz sevinirim.
İki adet kullanıcı var veritabanında. Dediğiniz gibi yaptım ve sonuç şu şekilde. Aşağıdaki resme bakabilirsiniz. Bu arada kodları da kendime göre şöyle uyarladım.
$kullanicilarigoster = $db->prepare("SELECT * FROM kullanicilar WHERE kullanicilar_id=:id LIMIT 1");
$kullanicigoster = $kullanicilarigoster->execute(array(":id"=>$_SESSION['admin']['kullanicilar_id']));
$kullanicigoster = $kullanicilarigoster->fetch(PDO::FETCH_ASSOC);
foreach ($kullanicigoster as $kullanici) {
<div class="adi-div">Adı : <?php echo $kullanici['kullanicilar_adisoyadi']; ?> </div>
<div class="cinsiyet-div">Cinsiyet : <?php echo $kullanici['kullanicilar_cinsiyet']; ?> </div>
<div class="eposta-div">E-Posta : <?php echo $kullanici['kullanicilar_eposta']; ?> </div>
<div class="kullaniciadi-div">Kullanıcı Adı : <?php echo $kullanici['kullanicilar_kullaniciadi']; ?> </div>
<div class="sifresi-div">Şifresi : <?php echo $kullanici['kullanicilar_sifre']; ?> </div>
<div class="telefon-div">Telefon : <?php echo $kullanici['kullanicilar_telefon']; ?> </div>
Tekrar merhaba. Önceden de yazdığım gibi, Hesabım sayfasını düzenlemeye çalışıyorum. Kullanıcı var mı yok mu onun kontrolünü yaptırmıyorum. Paylaşılan örnekler anladığım kadarıyla kullanıcı var mı yok mu onu kontrol ediyor. Yapmak istediğim sayfanın bir örneğini koyuyorum. Resim aşağıda. "Aysel" kullanıcısı girmişse "aysel'in"; "ahmet" kullanıcısı girmişse "ahmet" in bilgilerinin çıkması lazım.
https://www.hizliresim.com/pjsm1my
Ben kullanıcı var mı yok mu, onu bulmaya çalışmıyorum. Oturum kontrollerini yaptım zaten. Mesela ben admin olarak oturum açtım. Admin kullanıcısına ait bilgilerin, hesabım sayfasında çıkması lazım. Telefon, mail, şifre, kullanıcı adı, gerçek ad-soyad gibi. Onları listeletmeye çalışıyorum. Ama listelettiğimde "admin" kullanıcısıyla oturum açmış olsam dahi diğer kullanıcıların bilgileri de listeleniyor, yukarıdaki kod ile.
Sorunum devam ediyor. Cevap verecek yok mu acaba arkadaşlar? Bu arada "where" alanına "id" verdim ve bütün kayıtlar geldi ama yine oturum sahibine göre getirtemedim.
İstediğiniz görüntüyü oluşturduysanız bir hata olmaz herhalde. Bu arada aşağıdaki kodu "body" den sonra kullansanız daha iyi olur diye düşünüyorum. Yani "nav li" kullanıldığı için önce "nav" etiketinin gelmesi daha iyi olur bence. Kodlar yukarıdan aşağıya doğru ve kapsayan etiket alt etikete etki edecek şekilde dizilirse kodların çalışması daha düzgün olur diye düşünüyorum. Hatam varsa düzeltin arkadaşlar. :)
.nav{
position: absolute;
left: 30%;
}
yeni bir boyut formatında yüklemek nasıl yüklenir tam anlayamadım. ne yapmalıyım acaba?
Javascript ile oturum açabilirim o zaman. Yani php'deki gibi bir oturum açabilirim. Peki oturumu php ile açıp javascript ile oturum kontrolünü yapabilir miyiz?