Sehri-Paylasim
Hosgeldiniz
Sehri-Paylasim
Hosgeldiniz
Sehri-Paylasim
Would you like to react to this message? Create an account in a few clicks or log in to continue.

Sehri-Paylasim


 
AnasayfaAramaLatest imagesKayıt OlGiriş yap
Giriş yap
Kullanıcı Adı:
Şifre:
Beni hatırla: 
:: Şifremi unuttum
En iyi yollayıcılar
Admin
Php de Alışveriş Sitesi Vote_lcapPhp de Alışveriş Sitesi Voting_barPhp de Alışveriş Sitesi Vote_rcap 
daba31
Php de Alışveriş Sitesi Vote_lcapPhp de Alışveriş Sitesi Voting_barPhp de Alışveriş Sitesi Vote_rcap 
hidelgo41
Php de Alışveriş Sitesi Vote_lcapPhp de Alışveriş Sitesi Voting_barPhp de Alışveriş Sitesi Vote_rcap 

 

 Php de Alışveriş Sitesi

Aşağa gitmek 
YazarMesaj
Admin
Kurucu / Root
Admin


Mesaj Sayısı : 552
Kayıt tarihi : 09/07/10
Yaş : 41
Nerden : Bursa

Php de Alışveriş Sitesi Empty
MesajKonu: Php de Alışveriş Sitesi   Php de Alışveriş Sitesi EmptyC.tesi Eyl. 24, 2011 7:38 am

Php de Alışveriş Sitesi


Aslında bir alış veriş sepeti tasarlamak veritabanındaki
ürün bilgilerine göre olur. Yani ilk önce ürünlerle ilgili
veritabanın tasarlanması en iyisi.
Örnek bir veritabanındaki ürün tablosunda neler olabilir acaba:

istediklerim:


Ürün adı
fiyatı
Ürün detayı
Stok durumu
indirim oranı
...
v.s

gibi daha geniş bir veritabanı tablosu tasarımıda istenebilir.

Tablomuzu oluşturalım:

CREATE TABLE `urunler` (
`id` int(11) NOT NULL auto_increment,
`urunadi` varchar(250) NOT NULL default "",
`fiyat` int(11) NOT NULL default "0",
`resim` varchar(200) default "",
`detay` text NOT NULL,
`stok` int(11) default "0",
`indirim` int(4) default "0",
`goster` char(1) default "1",
`tarih` datetime default "0000-00-00 00:00:00",
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin5;


Tabloyu veritabanına kaydettikten sonra içine ürünlerimizi ekleyelim:

INSERT INTO `urunler`(`urunadi`,`fiyat`,`resim`,`detay`) VALUES("Buz
dolabı","400","abcd1.jpg","Bu buzdolabı ile yazı rahat geçirin");
INSERT INTO `urunler`(`urunadi`,`fiyat`,`resim`,`detay`)
VALUES("Televizyon","200","abcd2.jpg","Bu televizyon ile rahatsız
olabilirsiniz");
INSERT INTO `urunler`(`urunadi`,`fiyat`,`resim`,`detay`) VALUES("Kiatap","10","abcd3.jpg","Son yılların en çok okunan Kitabı");
INSERT INTO `urunler`(`urunadi`,`fiyat`,`resim`,`detay`) VALUES("incik
boncuk","4","abcd4.jpg","Sevgilinize bir küpe alın onu mutlu edin");


Ben stok,indirim,goster,tarih gibi değerleri girmedim. Ama siz isterseniz sorguyu kendinize göre yeniden düzenleyebilirsiniz. Şimdilik bu kadarı benim için yeterli.

Sıra geldi sanal mağazamıza gelecek olan hasan ağanın ürünlerimizden birisini nasıl alacağına.

Hasan ağa,ahamet ağa ve daha birçok değerli müşterimiz rahatça ve
kapkaççılardan korunsun diye onlara yüksek mertebeden bir üyelik
vereceğiz. Bir nevi sanal pasaport.
Mağaza öyle sokak ortasında olmadından her gelen malı elleyemiyor yani.
Üyeler tablomuzu ben aşağıdaki gibi tasarladım ,eğer ek***se siz kendinize göre daha genişini tasarlayın [Linkleri görebilmek için üye olun veya giriş yapın.]

CREATE TABLE `uyeler` (
`id` int(11) NOT NULL auto_increment,
`ad` varchar(30) NOT NULL default "",
`soyad` varchar(30) NOT NULL default "",
`kullaniciadi` varchar(30) NOT NULL default "",
`Email` varchar(60) NOT NULL default "",
`sifre` varchar(32) NOT NULL default "",
`sesid` varchar(70) NOT NULL default "",
`onay` varchar(30) default "0",
`il` varchar(100) NOT NULL default "",
`ilce` varchar(100) NOT NULL default "",
`semt` varchar(100) NOT NULL default "",
`mahalle` varchar(100) NOT NULL default "",
`adres` varchar(100) NOT NULL default "",
`ceptel` varchar(100) NOT NULL default "",
`tarih` date NOT NULL default "0000-00-00",
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin5;


INSERT INTO `uyeler`(`ad`,`soyad`,`kullaniciadi`,`Email`,`sifr
e`,`onay`) VALUES("Gökçe","ÇİFTÇİ","gciftci","gciftci@gmail.c
om",MD5("1234"),"1");

Üye girişi için PHP koldarımızı yazalım.

form.html

<FORM method="POST" action="giris.php" method=post>
Kullanıcı adı: <INPUT type=text name="kullaniciadi" value="">
Şifre: <INPUT type="password" name="sifre" value="">
<INPUT type=hidden name="durum" value="giris">
<INPUT type="submit" value="Giriş Yap">
</FORM>



giris.php programımızı yazalım:

<?php
session_start();
$conn = mysql_connect("localhost", "kullanıcıadı", "şifre");
if (!$conn) {
echo "veritabanına ulaşılamadı,kullanıcıadı,şifre yada localhost bilgisi yanlış olabilir: " . mysql_error();
exit;
}
if (!mysql_select_db("veritabanıadı")) {
echo "Veritabanı adı doğru değil, yada yok: " . mysql_error();
exit;
}

if($_POST["durum"] == "giris"){
$kullaniciadi=htmlentities(mysql_real_escape_strin g($_POST["kullaniciadi"]));
$result = mysql_query("SELECT kullaniciadi,sifre FROM uyeler WHERE kullaniciadi="{$kullaniciadi}"") or die(mysql_error());
$row = mysql_fetch_array($result);
if($row["kullaniciadi"] == ""){
echo "<b>Kullanıcı adınız yada şifreniz hatalı.</b>";
}else{
if($row["onay"] == "0"){
echo "Hesabınızı aktive etmek için Eposta adresinize gönderilen adresi tıklayarak giriş yapmanız gerekir"; exit;
}
$sifre = $_POST["sifre"];
if($row["sifre"] == md5($sifre)){
$_SESSION["kullaniciadi"] = $_POST["kullaniciadi"];
$_SESSION["uye"] = "uyemiz";
header("Location: hesap.php");
exit;
}
else{
echo "<b>Kullanıcı adınız yada şifreniz hatalı.</b>";
}
}
}else{
header("Location: form.html");
}
mysql_close($conn);
?>


kullanıcımızın bilgileri şayet doğru ise onu hesap.php programına
yönlendiriyoruz. Böylece bilgilerini ve siparişini görebilecek.
hesap.php programımızı yazalım ama önce program içinde kullanacağımız sparis tablosunu oluşturalım

Üye tablomuz tamam.Üye girişi için programımızda tamam, Şimdi sıra geldi
üyelerimizin bize vereceği sparişi kaydetmeye. Bunun içinde bir tablo
oluşturalım. Ben siparis adını vereceğim bu tabloyu aşağıdaki gibi tasarladım.

CREATE TABLE `sparis` (
`id` int(11) NOT NULL auto_increment,
`uyeid` int(11) NOT NULL default "0",
`sparis` varchar(100) NOT NULL default "",
`fiyat` varchar(32) NOT NULL default "",
`adet` int(10) default "1",
`durumu` int(1) default "",
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin5;



şimdilik sipariş tablomuz boş. Yukarıda bir kayıtlı kullanıcımız var
onun adına bir sipariş vereceğiz zaten.Ozaman sipariş tablomuza nasıl
kayıt yapıldığını göreceğiz.
hesap.php programımızı şimdi yazabiliriz.


<?php
session_start();
$conn = mysql_connect("localhost", "kullanıcıadı", "şifre");
if (!$conn) {
echo "veritabanına ulaşılamadı,kullanıcıadı,şifre yada localhost bilgisi yanlış olabilir: " . mysql_error();
exit;
}
if (!mysql_select_db("veritabanıadı")) {
echo "Veritabanı adı doğru değil, yada yok: " . mysql_error();
exit;
}
if($_SESSION["kullaniciadi"] == "" || $_SESSION["uye"] == ""){
header("Location: giris.php");
exit;
}
$kullaniciadi=$_SESSION["kullaniciadi"];
$result1 = mysql_query("SELECT * FROM uyeler WHERE kullaniciadi="{$kullaniciadi}"");
if (!$result1) {
echo "Sorguda hata var ($sql) sorguyu gözden geçirin: " . mysql_error();
exit;
}
$row1 = mysql_fetch_assoc($result1);
$uyeid=$row1["id"];
$result = mysql_query("SELECT * FROM sparis WHERE uyeid="{$uyeid}"");
if (mysql_num_rows($result) == 0) {
echo "<h2>Hiç siparişiniz yok.</h2>";
echo "Sipariş vermek için lütfen <a href="sepet1.php">Sipariş sayfası</a> nı tıklayın.";
exit;
}
while ($row = mysql_fetch_assoc($result)) {
echo $row["sparis"] . "- " . $row["fiyat"] . "- " . $row["adet"]. "<br>\n";
}
mysql_free_result($result);
mysql_close($conn);
?>

Gelelim veritabanımızda bulunan urunler adlı tablomuzda kayıtlı olan
ürünleri ekrana yazdırmaya. Bunun için aşağıdaki kodları yazdım. Sade ve
anlaşılır olmasına çalıştım. Ama dileyen dahada karmaşık hale
getirebilir

sepet1.php



<?php
$conn = mysql_connect("localhost", "root", "1234");
if (!$conn) {
echo "veritabanına ulaşılamadı,kullanıcıadı,şifre yada localhost bilgisi yanlış olabilir: " . mysql_error();
exit;
}
if (!mysql_select_db("proje")) {
echo "Veritabanı adı doğru değil, yada yok: " . mysql_error();
exit;
}
$sql = "SELECT urunadi, fiyat, resim,detay FROM urunler"; # sorguda DESC
ve ORDER BY, GROUP BY ve LIMIT kullanılabilir. Bu size kalmış birşey.
$result = mysql_query($sql);
if (!$result) {
echo "Sorguda hata var ($sql) sorguyu gözden geçirin: " . mysql_error();
exit;
}
if (mysql_num_rows($result) == 0) {
echo "Kayıtlı hiçbir bilgiye rastlanmadı.";
exit;
}
include("sepet2.php");
echo "<table>";
while ($row = mysql_fetch_assoc($result)) {
echo "<tr><TD>
<img src="".$row["resim"].""
border=0><br>".$row["urunadi"]."
<br>".$row["detay"]."<br>".$row["fiyat"]."</TD>
<TD>
<FORM method="POST" action="sepet1.php" method=post>
<INPUT type=hidden name="durum" value=1>
<INPUT type="hidden" name="urun" value="".$row["urunadi"]."">
<INPUT type="hidden" name="fiyat" value="".$row["fiyat"]."">
<INPUT type="text" name="adet" size="3" value="1">
<INPUT type="submit" value="Sepete Ekle">
</FORM>
</TD></tr>";
}
echo "</table>";
mysql_free_result($result);
mysql_close($conn);
?>


Kodlarımızı sepet1.php olarak kaydettim ve çalıştırdım. Herşey yolunda. Yani istediğim gibi ürünlerimi ekran fiyat bilgisi ile birlikte ekrana yazdı.
Sipariş için tablomuzu okuttuk ve gereklibilgiler sayfaya yazdırıldı bu
tamam. Sıra geldi sepet temin etmeye. Yüksek mertebedeki üyelerimize
sepet vermesek ayıp olur. Mallar elde taşınmaz karizmaya zarar. Sonra
pişman olup birdaha mağazaya gelmezler. Müşteri veli nimetmizdir.

Capiyto arkadaşımızın yazdığı class kullanacağım. Çünkü gayet kullanışlı.
bu kodlarıda sepet2.php olarak kaydedelim.


<?
session_start();
class sepet {
var $sepetteki_urunler;

function sepet () {
if (isset($_SESSION["sepetteki_urunler"])) {
$this->sepetteki_urunler = $_SESSION["sepetteki_urunler"];
}
}

function sepete_ekle ($urun_no,$adet) {
$this->sepetteki_urunler[$urun_no] = $adet;
}

function sepetten_cikar ($urun_no,$adet) {
if (isset($this->sepetteki_urunler[$urun_no])) {
if ($this->sepetteki_urunler[$urun_no] > $adet) {
$this->sepetteki_urunler[$urun_no] = $adet;
} else {
unset($this->sepetteki_urunler[$urun_no]);
}
}
}

function sepeti_kaydet () {
if (isset($this->sepetteki_urunler)) $_SESSION["sepetteki_urunler"] = $this->sepetteki_urunler;
}

function sepeti_listele () {
if (isset($_SESSION["sepetteki_urunler"])) {
return $_SESSION["sepetteki_urunler"];
} else {
return false;
}
}

function oturum_kapat () {
#session_destroy();
$_SESSION["sepetteki_urunler"]="";
header("Location: sepet2.php");
}
}

?>

<?php
#şimdi yukarıdaki class ile nasıl çalışacağız onu ele alalım.

$yeni_sepet = new sepet;
if ($_POST["durum"]==1) {
$yeni_sepet->sepete_ekle($_POST["urun"],$_POST["adet"]."-".$_POST["fiyat"]);
$yeni_sepet->sepeti_kaydet();
}


if ($_POST["durum"]==2) {
$yeni_sepet->sepetten_cikar($_POST["urun"],$_POST["adet"]);
$yeni_sepet->sepeti_kaydet();
}

if ($_POST["durum"]==3) {
$yeni_sepet->oturum_kapat();
}



if ($_POST["durum"]==4) {

$conn = mysql_connect("localhost", "root", "1234");
if (!$conn) {
echo "veritabanına ulaşılamadı,kullanıcıadı,şifre yada localhost bilgisi yanlış olabilir: " . mysql_error();
exit;
}

if (!mysql_select_db("proje")) {
echo "Veritabanı adı doğru değil, yada yok: " . mysql_error();
exit;
}


if($_SESSION["kullaniciadi"] == "" || $_SESSION["uye"] == ""){
header("Location: giris.php");
exit;
}

$kullaniciadi=$_SESSION["kullaniciadi"];

$result1 = mysql_query("SELECT * FROM uyeler WHERE kullaniciadi="{$kullaniciadi}"");

if (!$result1) {
echo "Sorguda hata var ($sql) sorguyu gözden geçirin: " . mysql_error();
exit;
}

$row1 = mysql_fetch_assoc($result1);

$uyeid=$row1["id"];

$urunler = $yeni_sepet->sepeti_listele();
while (list($anahtar,$deger) = each($urunler)) {

$tutar=explode("-", $deger);
$result= mysql_query("INSERT INTO
`sparis`(`uyeid`,`sparis`,`fiyat`,`adet`)
VALUES("{$uyeid}","{$anahtar}","{$tutar[1]}","{$tutar[0]}")") or
die(mysql_error());

}

if (!$result) {
echo "Sorguda hata var ($sql) sorguyu gözden geçirin: " . mysql_error();
exit;
}else{
echo "bilgileriniz ve siparişleriniz alındı,en kısa zamnda sizinle kontak kurup bilgileri doğruluyacağız.Teşekkür ederiz.";
exit;
}
}

$urunler = $yeni_sepet->sepeti_listele();
$durum=0;
$sepet="<table border=1>";
$toplamtutar=0;

if($urunler){
while (list($anahtar,$deger) = each($urunler)) {

$tutar=explode("-", $deger);
$toplam=$tutar[0]*$tutar[1];
$sepet.= "<tr><td>Ürün ".$anahtar."</td><td>".$toplam." YTL ".$tutar[0]." adet </td>
<td> <FORM method="POST" action="sepet1.php" method=post>
<INPUT type="hidden" name="urun" value="".$anahtar."">
<INPUT type="hidden" name="adet" size="9" value="".$deger."">
<input type=hidden name="durum" value=2>
<INPUT type="submit" value="Sepeten Sil">
</form></td></tr>";
$durum=1;
$toplamtutar +=$toplam;
}
}else{
echo "<h2>sepetiniz boş</h2>";
}

if($durum){
$bosalt= "<tr><td>&nbsp;</td><td><FORM method="POST" action="sepet1.php" method=post>
<input type=hidden name="durum" value=3>
<INPUT type="submit" value="Sepeti boşalt">
</form></td><td><FORM method="POST" action="sepet1.php" method=post>
<input type=hidden name="durum" value=4>
<INPUT type="submit" value="Gönder">
</form></td></tr>";
$sepet.="<tr><td>Toplam Tutar:</td><td>".$toplamtutar."</td><td></td></tr>";
}
$sepet.=$bosalt;
$sepet.="</table>";
echo $sepet;
?>
Sayfa başına dön Aşağa gitmek
https://sehripaylasim.yetkin-forum.com
 
Php de Alışveriş Sitesi
Sayfa başına dön 
1 sayfadaki 1 sayfası

Bu forumun müsaadesi var:Bu forumdaki mesajlara cevap veremezsiniz
Sehri-Paylasim  :: Forum :: HTML, PHP, ASP, PERL-
Buraya geçin: