En Komik ve Eğlenceli Videolar Burada. * FrmTR Sohbet Kontrol Panelinizde.
Forum TR
Go Back   Forum TR > >
FrmTR'ye Reklam Vermek İçin: [email protected]
Cevapla
 
Konu Araçları
Eski 29-12-08, 20:12   #1
serhat292

Exclamation Siteye Üyelik Ekleme


Buyrun arkadaşlar aradım ama tam bulmadım. Kendime ayit yazım olmasada burdaki arkadaşlarla paylasayım dedim.
Buyrun;

Bu yazımızda PHP, HTML veya herhangi başka bir Web Programlama dili ile yaptığımız sitemize üyelik sistemi getirmeyi öğreneceğiz.

Öncelikle bu işlem için gerekli olan araç gerecimiz; PHP ve MySQL destekli bir hosting. Eğer bu işi deneme amacı ile evinizdeki bilgisayarınızda yapacaksanız, öncelikle bunları kendi bilgisayarınıza yükmeniz gerekir.

Bu iş için PHPTriad programını indirebilirsiniz. Bu program ile bilgisayarınızı bir server haline çevirip çalışmalarınızı buradan sürdürebilirsiniz.

Şimdi gelelim altyapı olayına. Öncelikle sitenizin MySQL desteklediğini düşünerek bir database iniz olduğunu farzediyorum. Bu veritabanı içersine üyelerinizin bilgilerinin girileceği bir table yapmalıyız. Bu tabloda neler olmalı. Öncelikle otomatik atanan bir user id olmalı, İsim ve soyisim olmalı, mail adresi olmalı, username olmalı, ve şifre bölümü olmalı.

Biz burada basit bir model yapacağımızdan İsim ve Soyisim bölümünü işin içine katmayacağız. Bu yüzden ilk olarak aşağıdaki veri tabanı bilgileri ile “user” tablomuzu oluşturalım. Bu tablonun nasıl oluşturulacağına gelince. PhpMyAdmin yardımı ile yaratmış olduğunu veritabanı içerisine bu tabloyu eklemelisiniz.

Login Scripti ile ilgili demo sitesine buraya tıklayarak ulaşabilirsiniz.

Eğer sisteminize phptriad yükediyseniz Apache.exe ve MySqladmin.exe programları çalışır vaziyetteyken ( Bu programlar hakkında fikir sahibi olmak istiyorsanız “Bedava PHP ile Portal Kurmak” seri makalelerini okuyunuz. )

Şimdi işlemlerimize başlayalım. Dosyalar bölümümüzden Php kategorisinden login.zip dosyasını indirin ve sisteminizde “c:/apache/htdocs” klasörü içerisine açın. Daha sonra browserınızın adres satırına

http://localhost/phpmyadmin

yazarak veritabanı yönetim bölümüne girin. Eğer daha önceden php ve mysql ile işlem yaptıysanız sol taraftaki database lerin ne anlama geldiğini biliyorsunuzdur. Bilmeyenler için kısa bir açıklama getireyim.

PHP ve MySQL tabanlı sitelerin verileri MySQL veri tabanı içersinde tutulur. Bu veriler bir database içersinde tablolar aracılığı ile saklanır. Eğer daha önceden var olan bir veritabanınız yoksa “Create new database “ komutunun hemen altına bir veritabanı ismini yazarak “Create” tuşuna basınız. Yeni veritabanı sol tarafta belirdi. Dediğim gibi daha önceden eğer PHP ve MySQL ile çalıştıysanız orda size ait uygulamalarınızda kullandığınız bir veritabanı olmalı.

“C:/apache/htdocs/login” dizininde “db.php” dosyasını herhangi bir metin editörü yardımı ile açarak gerekli ayarları yapın. “Bu ayarlar ne?” diye soracak olursanız onu da hemen anlatayım. (Bu arada ben bu işlem için sizlere PhpEd yazılımını öneriyorum. Dosyalar bölümümüzden bu ücretsiz yazılımı indirebilirsiniz. PHP dökümanları üzerinde değişiklik yaparken hata yapma olasılığı oldukça düşüyor.)


$dbhost='localhost';
Database inize ev sahipliği yapan yerin adresi. Bu local olarak çalışırken “localhost” olarak geçer. Sitenizi hosta taşırken de Hostunuzun size sağladığı MySQL desteği için verdiği adrestir. Default değeri localhost tur. Fakat hosting firmanızdan kesin bilgisini almanız doğru olacaktır.


$dbuser='username';
Mysql kullanıcı adınız. Local olarak çalışıyorsanız, MySQL ilk açtığınızda belirlemiş olduğunuz username olarak yazılır. Eğer hosta taşıdıysanız, Hosting in size verdiği username olarak yazılır

$dbpass='şifre';
Mysql şifreniz. Local olarak çalışıyorsanız, MySQL ilk açtığınızda belirlemiş olduğunuz şifre olarak yazılır. Eğer hosta taşıdıysanız, Hosting in size verdiği şifre yazılır.


$dbname='database';
Database inizin adı. Local olarak çalışıyorsanız biraz önce phpmyadmin yardımı ile oluşturduğunuz database adı. Eğer hosta yüklediyseniz size açılan database adı.

$siteurl =''http://www.siteniz.com '';
Sitenizin tam adresi

$adminmail =''[email protected]'';
Site yöneticisi mail adresi

$sitename = ''Php.Dosyasi.Com'';
Sitenizin ismi


db.php içersindeki tüm ayarları yaptıktan sonra kaydedip kapatıyoruz. Browserınızın adres satırına

http://localhost/login/dump.php

yazarak oluşturduğumuz database içersine ilgili “user” tablosunun eklenmesini sağlıyoruz. Eğer herhangi bir hata kodu aldıysanız, “db.php” içersindeki ayarların doğru yapılıp yapılmadığını kontrol etmelisiniz.

Browserınızın adres kısmına

http://localhost/login

yazdığınızda üye olmayanları gördüğü sayfa ile karşılaşacaksınız. Bu sayfaya bir hata kodu da konulabilir. Kodlama ayrıntıları için “index.php” dosyasını açarak bakabilirsiniz. Fakat buna daha sonra daha ayrıntılı olarak değineceğimizi hatırlatmam gerekli. Bu arada local olarak deneyeceğiniz login scriptinde işlem tamamlanamayacaktır. Çünkü üye olduktan sonra üyeye bir onay kodu gönderilmekte ve bu onay kodu ile üyelik bilgilerini aktive etmesi istenmektedir.

İşlem başarı ile tamamlandıysa işin karışık yönü olan login klasörü içersindeki dosyaların sitenizle entegre hale getirme işine gireceğiz. Öncelikle kodlama ile daha öncede uğraştığınız farz ediyorum. Yoksa oldukça zorlanacaksınız.

Sitenizin dosyalarını yerleştirmek için, “C:/apache/htdocs” dizininde bir klasör olarak açın. Örnek olarak klasör ismi “site” olsun. Şimdi sitenizin bütün dosyalarını “site” klasörü içersine açın. Sonra login klasöründeki “index.php” ve “diger.php” dosyaları haricinde bütün diğer php dosyalarını “site” klasörü içerisinde kopyalayın. Eğer sitenizi PHP ve MySQL kullanarak yapmadıysanız db.php içersindeki bilgilerde sadece site adresi bilgisini değiştirmeniz yeterli. Eğer yaptıysanız zaten nereleri değiştirmeniz gerektiğini biliyorsunuzdur.

Şimdi elimizde

• aktgonder.php
• aktiv.php
• aktmail.php
• db.php
• dump.php
• giris.php
• login.php
• login1.php
• logout.php
• sifre.php
• sifredegistir.php
• sifreform.php
• sifregonder.php

adlarında bir sürü php dokümanı var. Şimdi bu dokümanların ne anlama geldiklerini kısaca açıklayalım.

aktgonder.php : Siteye üye olmuş, aktivasyon kodu kendisine ulaşmamış üyelere tekrar aktivasyon kodu göndermeye yarayan form sayfası. Bu sayfa içersinde HTML bölümlerini dilediğiniz gibi değiştirebilirsiniz. Fakar FORM içersindeki “username” ve “email” text alanlarının isimlerini ve “action=''aktmail.php''” bölümünü değiştirmemeye dikkat edin.

aktiv.php : Yeni üye olmak için bilgileriniz giren kişiye mail olarak giden aktivasyon koduna tıklayan kişinin karşısına çıkacak sayfayı gösterir. İçersindeki HTML kodları içersinde değişiklik yapabilirsiniz.

echo '''';

satırında “login.php” yazan yerde sayfanın istediğiniz bir sayfaya yönlendirilmesini sağlayabilirsiniz.

“}else{“ ibaresinden sonrada HTML olarak istediğiniz hata kodunu ekleyebilirsiniz. Parantezin “}” ile kapatıldığına dikkat edin.

aktmail.php : Siteye üye olmuş, aktivasyon kodu kendisine ulaşmamış üyelere tekrar aktivasyon kodu göndermeye yarayan mail sayfası. aktgonder.php formundan gelen bilgilere göre veritabanı içersindeki aktivasyon mailini tekrar gönderiyor. Bu dosya içersinde $msg değişkeni içersinde HTML kodlarını ve yazıları değiştirebilirsiniz. Ancak

Hesabınızı Aktive Edebilmek için lütfen buraya tıklayın

linki içersinde herhangi bir değişiklik yapmayınız.

Burada da diğer dosyalarda olduğu gibi kişi eğer daha önceden herhangi bir üyelik işlemi başlatmamışsa. Kendisine bir hata kodu gösteriliyor.
Onay kodu için ve hata kodu için HTML bölümlerinde değişiklik yapabilirsiniz.

db.php : Bu dosyanın işlevini daha önce anlatmıştık.

dump.php : Bu dosya üzerinde bir değişiklik yapmanıza gerek yok. Verıtabanı içersinde “user” tablosunu oluşturduktan sonra silebilirsiniz.

giris.php: Bu dosya sitenize üye kayıt formudur. Bu form text editörü ile bakıldığında 5 bölümden oluşmuştur. Yani bu php dosyası içersinde 5 tane ayrı form vardır. Bunun sebebi, kişinin hatalı bilgi girişini engellemektir. Eğer bu formu kendi sitenize entegre edecekseniz? Bu 5 formu da değiştirmeniz gerekecektir. Yalnız unutulmaması gereken nokta; form içersinde ne fazladan bir veri ekleyebilirsiniz ne de çıkartabilirsiniz. Bu durumda hata kodları almaya başlayacaksınız. Değişiklik yaparken formlar içersindeki txt field lardaki “username”, “email” “sifre1” “sifre2” gibi ibarelere ve “action” bölümüne dikkat edin.

login.php : Adı üstünde üyelerin siteye giriş yapmasını sağlayan form sayfası. HTML bölümlerini dilediğiniz gibi değiştirin. Yalnız gene hatırlatıyorum FORM içersindeki bilgilerin aynı kalmasına dikkat edin.

login1.php : login.php den gelen bilgilerin doğrulanıp üyenin siteye login olmasını sağlayan dosya. En sondaki “} else { “ ibaresinden sonraki hata kodunu değiştirmeniz yeterli. Birde

echo '''';

satırında üye login olduktan sonra açılacak sayfayı index.php’yi değiştirerek ayarlayabilirsiniz.

logout.php : Fazla söze gerek yok. Sadece üye çıkış yaptıktan sonra açılacak sayfayı değiştirmeniz yeterli.

sifre.php : Kişi şifresini unutursa yeni şifrenin email adresine gönderilmesini isteyebilir. Bunun için sifregonder.php dosyası içersindeki formu dolduruyor. Bu bilgiler sifre.php ye geliyor. Eğer doğrulanırsa yeni bir şifre oluşturuluyor ve kişinin mail adresine gönderiliyor. Bu dosya içersinde 27. satırdan sonraki HTML kodları hata kodu olarak geçer ve bu bölümde HTML olarak istediğiniz hata kodunu ekleyebilirsiniz.

“}else{ “ ibaresinden sonra ise eğer bu bilgilerde bir üye var ise icra edilecek işlemler yer alır.
Buradaki “$msg” değişkeni içersinde gene yazıları diğer bilgileri değiştirebilirsiniz. Fakat $pass ve $username değişkenlerin mutlaka bulunması gerektiğini unutmayın. Alt bölümdeki mailin gönderildiğine dair onay kodu içersinde de istediğiniz gibi oynama yapabilirsiniz.

sifredegistir.php : Üyelerin şifrelerini değiştirmesi için sifreform.php sayfasından gelen bilgileri işleyerek kontrolleri yapan ve sonrasında şifreyi değiştiren dosya. Burada da gene HTML bölümlerinde değişikliği istediğiniz gibi yapabilirsiniz. Her hata kodu ayrı şekilde listelenmiştir.

sifreform.php : Bu dosya şifresini değiştirmek isteyen ziyaretçilerin bilgilerinin girişini yapmalarını sağlar. Bu bilgileri sifredegistir.php dosyasına göndererek işlemi tamamlar. Bu dosyayı istediğiniz gibi değiştirebilirsiniz. Fakat FORM bilgilerine dikkat ediniz!!!!

sifregonder.php : Bu dosya şifresini unutan ziyaretçilerin bilgilerinin girişini sağlar. Bu bilgileri sifre.php dosyasına gönderir. Bu dosya da bilgileri işler ve üyenin mail adresine yeni şifreyi gönderir. Bu dosyayı istediğiniz gibi değiştirebilirsiniz. Fakat FORM bilgilerine dikkat ediniz!!!!


Gelelim şimdi sadece üyelerime gösterilecek sayfa olayına.
PHP dili içersindeki “if” ve “else” komutları yardımı ile bu işi hemen gerçekleştireceğiz. Mantık şu; Eğer gelen ziyaretçi üye ise yani login durumda ise burayı göster. Eğer değil ise şurayı göster. Login olan ziyaretçiyi cookie yardımı ile tanıyoruz. Örenk olarak aşağıda bir kodlama yaptım.






if ($HTTP_COOKIE_VARS[''id'']){
?>
Burası üye bölümü. Buraya üyelerin görecekleri HTML sayfa bilgilerini girebilirsiniz.
}else{
?>
Burası hata kodu bölümü. Eğer siteye giren üye değilse veya login olmamışsa onu ilgili sayfaya götürecek linkleri bu bölüme HTML olarak ekleyebilirsiniz.
}
?>
Herkes tarafından görünecek sayfanın alt bölümü.



Burada İşaretleri ile PHP nin nasıl HTML kodları arasına gömüldüğüne dikkat edin. Kodu ile başlayan bölümde sadece PHP kodları kullanın ve HTML ye geçmeden önce mutlaka ?> kodu ile kapatın.

İşlemlerin hepsi bu kadar.


Bir hatamız olduysa affola. Beyendiyseniz +REP .
  Alıntı Yaparak Cevapla
Eski 02-01-09, 16:44   #2
on10_10

Varsayılan C: Siteye Üyelik Ekleme


emeğe saygı
  Alıntı Yaparak Cevapla
Eski 02-01-09, 21:48   #3
serhat292

Varsayılan C: Siteye Üyelik Ekleme


kimsenin işine yaramadımı merak ediyoum okadar bakan olmus. bi vap yazan yok.....!
  Alıntı Yaparak Cevapla
Eski 02-01-09, 22:26   #4
on10_10

Varsayılan C: Siteye Üyelik Ekleme


emeğe saygı !
  Alıntı Yaparak Cevapla
Eski 26-02-09, 02:17   #5
zirdelibayram

Varsayılan C: Siteye Üyelik Ekleme

teşşekkür ederim kardeşim biraz uğrastım ama yapıyorum ilerledim baya....
  Alıntı Yaparak Cevapla
Cevapla

Bu konunun kısa yolunu aşağıdaki sitelere ekleyebilirsiniz

Konu Araçları

Gönderme Kuralları
Yeni konu açamazsınız
Cevap yazamazsınız
Dosya gönderemezsiniz
Mesajlarınızı düzenleyemezsiniz

BB code is Açık
Smiley Açık
[IMG] kodu Açık
HTML kodu Kapalı



5651 sayılı yasaya göre forumumuzdaki mesajlardan doğabilecek her türlü sorumluluk yazan kullanıcılara aittir. Şikayet Mailimiz. İçerik, Yer Sağlayıcı Bilgilerimiz. Reklam Mailimiz. Gizlilik Politikası


Reklamı Kapat

Reklamı Kapat