Afet kayıt formu php. PHP ve MySQL'de İnanılmaz Basit Bir Kayıt Sistemi Oluşturmak

24.10.2023

Merhaba! Şimdi PHP + MySQL kullanarak siteye en basit kaydı uygulamaya çalışacağız. Bunun için bilgisayarınızda Apache'nin kurulu olması gerekmektedir. Senaryomuzun çalışma prensibi aşağıda gösterilmiştir.

1. Veritabanında kullanıcılar tablosunu oluşturarak başlayalım. Kullanıcı verilerini (oturum açma adı ve şifre) içerecektir. Haydi phpmyadmin'e gidelim (PC'nizde bir veritabanı oluşturuyorsanız http://localhost/phpmyadmin/). Bir tablo oluştur kullanıcılar, 3 alanı olacak.

onu içinde yaratıyorum MySQL veritabanı, başka bir veritabanında oluşturabilirsiniz. Daha sonra değerleri şekildeki gibi ayarlayın:

2. Bu tabloya bağlantı gereklidir. Bir dosya oluşturalım bd.php. Bu içerik:

$db = mysql_connect("MySQL sunucunuz", "bu sunucu için oturum açın", "bu sunucunun şifresi");
mysql_select_db ("bağlandığımız veritabanının adı", $db);
?>

Benim durumumda şöyle görünüyor:

$db = mysql_connect("localhost", "kullanıcı", "1234");
mysql_select_db("mysql",$db);
?>

Kaydetmek bd.php.
Harika! Veritabanında bir tablomuz ve onunla bağlantımız var. Artık kullanıcıların verilerini bırakacakları bir sayfa oluşturmaya başlayabilirsiniz.

3. İçeriği olan bir reg.php dosyası oluşturun (tüm yorumlar içeride):



Kayıt


Kayıt


















4. Bir dosya oluşturun, veri tabanına veri girecek ve kullanıcıyı kaydedecektir. save_user.php(içerdeki yorumlar):



{
}
//eğer kullanıcı adı ve şifre girilirse, etiketlerin ve komut dosyalarının çalışmaması için bunları işleriz, insanların ne girebileceğini asla bilemezsiniz


//ekstra boşlukları kaldır
$giriş = trim($giriş);
$şifre = trim($şifre);
//veritabanına bağlanıyoruz
// aynı giriş bilgilerine sahip bir kullanıcının varlığını kontrol ediyoruz
$result = mysql_query("Kullanıcılardan kimliği SEÇİN WHERE giriş=$giriş"",$db);
if (!empty($myrow["id"])) (
çıkış("Üzgünüz, girdiğiniz kullanıcı adı zaten kayıtlı. Lütfen başka bir kullanıcı adı girin.");
}
// eğer böyle bir şey yoksa verileri kaydedin
$result2 = mysql_query("INSERT INTO kullanicilar (giriş,şifre) VALUES("$giriş,"$şifre")");
// Hata olup olmadığını kontrol edin
if ($result2=="DOĞRU")
{
echo "Başarıyla kayıt oldunuz! Artık siteye girebilirsiniz. Ana sayfa";
}
başka(
echo "Hata! Kayıtlı değilsiniz.";
}
?>

5. Artık kullanıcılarımız kayıt olabilir! Daha sonra, halihazırda kayıtlı kullanıcıların siteye girebilmesi için bir "kapı" oluşturmanız gerekir. index.php(içerdeki yorumlar):

// tüm prosedür oturumlar halinde çalışır. Kullanıcının sitede bulunduğu süre boyunca verilerinin saklandığı yerdir. Bunları sayfanın en başında başlatmak çok önemlidir!!!
oturum_başlangıç();
?>


Ana sayfa


Ana sayfa











Kayıt olmak



// Oturum açma ve kullanıcı kimliği değişkenlerinin boş olup olmadığını kontrol edin
if (boş($_SESSION["giriş"]) veya boş($_SESSION["id"]))
{
// Boşsa bağlantıyı göstermeyiz
echo "Misafir olarak giriş yaptınız
Bu bağlantı yalnızca kayıtlı kullanıcılara açıktır";
}
başka
{

Dosyada index.php Yalnızca kayıtlı kullanıcılara açık olacak bir bağlantı görüntüleyeceğiz. Komut dosyasının tüm amacı budur; herhangi bir veriye erişimi sınırlamak.

6. Girilen kullanıcı adı ve şifrenin doğrulandığı bir dosya kalır. testreg.php (yorumlar içeride):

session_start();// tüm prosedür oturumlarda çalışır. Kullanıcının sitede bulunduğu süre boyunca verilerinin saklandığı yerdir. Bunları sayfanın en başında başlatmak çok önemlidir!!!
if (isset($_POST["giriş"])) ( $login = $_POST["login"]; if ($login == "") ( unset($login);) ) //tarafından girilen kullanıcı adını girin kullanıcıyı $login değişkenine girin, eğer boşsa, değişkeni yok edin
if (isset($_POST["şifre"])) ( $şifre=$_POST["şifre"]; if ($şifre =="") ( unset($şifre);))
//kullanıcının girdiği şifreyi $password değişkenine koyun, eğer boşsa, ardından değişkeni yok edin
if (empty($login) veya empty($password)) //eğer kullanıcı kullanıcı adını veya şifreyi girmediyse bir hata veririz ve betiği durdururuz
{
çıkış("Tüm bilgileri girmediniz, geri dönün ve tüm alanları doldurun!");
}
//eğer kullanıcı adı ve şifre girilirse, etiketlerin ve komut dosyalarının çalışmaması için bunları işleriz, insanların ne girebileceğini asla bilemezsiniz
$giriş = stripslashes($giriş);
$giriş = htmlspecialchars($giriş);
$şifre = stripslashes($şifre);
$şifre = htmlspecialchars($şifre);
//ekstra boşlukları kaldır
$giriş = trim($giriş);
$şifre = trim($şifre);
//veritabanına bağlanıyoruz
include("bd.php");// bd.php dosyası diğerleriyle aynı klasörde olmalıdır, değilse sadece yolu değiştirin

$result = mysql_query("SELECT * FROM user WHERE giriş=$giriş"",$db); //girilen kullanıcı adı ile kullanıcı hakkındaki tüm verileri veri tabanından al
$myrow = mysql_fetch_array($result);
if (empty($myrow["şifre"]))
{
//girilen kullanıcı adı mevcut değilse
}
başka(
//varsa şifreleri kontrol edin
if ($myrow["şifre"]==$şifre) (
//şifreler eşleşirse kullanıcı için bir oturum başlatırız! Onu tebrik edebilirsiniz, içeri girdi!
$_SESSION["giriş"]=$myrow["giriş"];
$_SESSION["id"]=$myrow["id"];//bu veriler çok sık kullanılıyor, dolayısıyla oturum açmış kullanıcı onu “yanında taşıyacak”
echo "Siteye başarıyla giriş yaptınız! Ana sayfa";
}
başka(
//şifreler eşleşmiyorsa

Çıkış ("Üzgünüz, girdiğiniz kullanıcı adı veya şifre yanlış.");
}
}
?>

Tamam artık her şey bitti! Ders sıkıcı olabilir ama çok faydalıdır. Burada yalnızca kayıt fikri gösterilmektedir, o zaman onu geliştirebilirsiniz: koruma ekleyin, tasarım, veri alanları ekleyin, avatarları yükleyin, hesaptan çıkış yapın (bunu yapmak için, oturumdaki değişkenleri işlevle yok etmeniz yeterlidir) ayarsız) ve benzeri. İyi şanlar!

Her şeyi kontrol ettim, düzgün çalışıyor!

Web sitelerinin çoğunda kullanıcılarınızın kaydolması için bir kayıt formu bulunur ve bu nedenle site içinde bir tür ayrıcalıktan yararlanabilirler. Bu yazıda PHP ve MySQL'de nasıl kayıt formu oluşturulacağını göreceğiz.

Sign-Up.html web sayfasını tasarlamak için basit etiketlerin yanı sıra tablo etiketini de kullanacağız. Hadi başlayalım:

Listeleme 1: kaydolma.html

Üye olmak

Kayıt formu
İsim
E-posta
Kullanıcı adı
Şifre
Şifreyi Onayla



Şekil 1:

sing-in.html web sayfasının açıklaması:

Şekil 1'de görebileceğiniz gibi, bir Kayıt formu bulunmaktadır ve kullanıcı hakkında birkaç veri istemektedir. Bunlar herhangi bir web sitesinin kullanıcılarından veya ziyaretçilerinden kimlik ve şifre oluşturmalarını istediği ortak verilerdir. Tablo etiketini kullandık çünkü web sayfasındaki form alanlarını Şekil 1'de görebileceğiniz gibi düzenlenmiş bir formda göstermek için. Çok basit görünüyor çünkü henüz CSS Stili kullanmadık, şimdi CSS stillerini kullanalım ve sing-up.html web sayfasını içeren CSS stil dosyası.

Listeleme 2: style.css

/*Kayıt web sayfası için CSS Dosyası*/ #body-color( arka plan rengi:#6699CC; ) #Sign-Up( arka plan resmi:url("sign-up.png"); arka plan boyutu:500px 500px ; arka plan tekrarı: tekrarlama yok; arka plan konumu: merkez; kenar boşluğu: 150 piksel; kenar boşluğu: 450 piksel; yazı tipi ağırlığı: kalın; yazı tipi boyutu: 20 piksel;

Listeleme 3: style.css'yisignup.html web sayfasına bağlayın



Şekil 2:

style.css dosyasının açıklaması:

Harici CSS dosyasında sizin için yeni görünebilecek bazı stiller kullandık. Arka planda bir görsel kullandık ve onu web sayfasının ortasına yerleştirdik. Html div etiketi sayesinde kullanımı kolay hale geldi. Üç div etiketi kimliği kullandığımız için. #button, #sing-up ve #body-color ve tüm CSS stillerini üzerlerine uyguladık ve artık Şekil 2'de ne kadar güzel ve çekici göründüğünü görebilirsiniz. Üzerinde 2D ve 3D CSS stilleri gibi diğer birçok CSS stilini kullanabilirsiniz. Şimdi göründüğünden daha güzel görünecek.

Tüm bu basit çalışmalardan sonra şimdi yeni kullanıcıların veritabanındaki tüm verileri saklayacak bir veritabanı ve tablo oluşturacağız. Bir tablo oluşturmaya başlamadan önce kullanıcıdan ne istediğimizi bilmeliyiz. Formu tasarladığımızda, Şekil 1 ve 2'de görebileceğiniz kayıt formuna göre tabloyu oluşturacağız.

Listeleme 3: MySQL'deki tablo sorgusu

CREATE TABLE WebsiteUsers (userID int(9) NOT NULL auto_increment, tam ad VARCHAR(50) NOT NULL, kullanıcıAdı VARCHAR(40) NOT NULL, e-posta VARCHAR(40) NOT NULL, ilet VARCHAR(40) NOT NULL, PRIMARY KEY(userID) );

Liste 3'ün Açıklaması:

Bilmeniz gereken bir şey var ki eğer bu sorguyu kullanacak MySQL olanağınız yoksa, . bu linkten kurulumu ve gereksinimleri anlayabileceksiniz. Peki bunu nasıl kullanabiliriz?

Listedeki 3 sorguda kayıt formu için ihtiyacımız olan her şeyi kullandık. E-posta, Tam ad, şifre ve kullanıcı adı değişkenleri olduğu için. Bu değişkenler, kullanıcının kayıt için Şekil 2'deki kayıt formuna gireceği kullanıcının verilerini depolayacaktır.

Tüm bu çalışmalarımızdan sonra sunucu taraflı programlama dili olan PHP programlamaya geçeceğiz. Bu yüzden veritabanıyla bağlantı kurmamız gerekiyor.

Listeleme 4: Veritabanı bağlantısı

Liste 4'ün Açıklaması:

Veritabanı ile web sayfalarımız arasında bir bağlantı oluşturduk. Ancak çalışıp çalışmadığını bilmiyorsanız, bunun için son kontrol listesi 5'te bir şey daha kullanırsınız.

Listeleme 5: veritabanı bağlantısının bağlantısını kontrol etme

Açıklama Liste 5:

Liste 5'te size veritabanı ile PHP arasındaki bağlantıyı kontrol edip onaylayabileceğinizi göstermeye çalıştım. Ve bir şey daha, kayıt web sayfamızda Liste 5 kodunu kullanmayacağız. Çünkü bu sadece MySQL bağlantısını nasıl kontrol edebileceğinizi anlamanızı sağlamak içindir.

Şimdi öncelikle kullanıcının uygunluğunu kontrol etmek ve daha sonra kullanıcıyı web sayfasında yeni bir kullanıcı olup olmadığını depolamak için bir PHP programlama uygulaması yazacağız.

Listeleme 6: bağlantı-kaydol-up.php

connection-sign-up.php açıklaması

Bu PHP uygulamasında web sayfaları için kayıt uygulaması oluşturmanın en basit yolunu kullandım. Gördüğünüz gibi ilk önce listeleme 4'e benzer bir bağlantı oluşturduk. Daha sonra iki fonksiyon kullandık, ilk fonksiyon SignUP()'du ve uygulamanın sonuncusundan if ifadesi tarafından çağrıldı, burada ilk önce kayıt ol tuşuna basmayı onaylıyor düğme. Basılırsa SingUp işlevi çağrılacak ve bu işlev, verileri almak ve bunları kullanıcıdan girilmiş olan kullanıcıAdı ve e-posta ile karşılaştırmak için bir SELECT sorgusu kullanacaktır. KullanıcıAdı ve e-posta adresi veritabanında zaten mevcutsa, zaten kayıtlı olduğunuz için üzgün olduğunuzu söyleyecektir.

Kullanıcı yeniyse, mevcut kullanıcıAdı ve e-posta kimliği veritabanında mevcut değilse, If ifadesi, yeni kullanıcının tüm bilgilerini depolayacağı NewUser() öğesini çağıracaktır. Ve kullanıcı web sayfasının bir parçası haline gelecektir.



Figür 3

Şekil 3'te veritabanı kayıtlarına göre kullanıcı bu web sayfasının eski kullanıcısı ise kayıt olmak için veri girmektedir. Bu nedenle, kullanıcı yeniyse web sayfası kullanıcının zaten kayıtlı olduğu bir mesaj gösterecektir, böylece web sayfası kullanıcının kaydının tamamlandığı mesajını gösterecektir.



Şekil 4:

Kayıt formuna veri girdiğimizde (Şekil 4), kayıt için kayıt formuna girdiğimiz kullanıcı adı ve e-posta veritabanına göre veritabanında zaten mevcut. Bu nedenle, yeni bir Kimlik ve Şifre ile kaydolmak için yeni bir kullanıcı Adı ve e-posta adresi denememiz gerekir.



Şekil 5

Şekil 5'te hangi userName ve email id kullanıcısının girdiğini bize teyit etmektedir. Her ikisi de veritabanı kayıtlarında mevcut değil. Artık yeni bir Kimlik ve Şifre oluşturuldu ve kullanıcı bir dahaki sefere oturum açmak için yeni Kimlik ve Şifresini kullanabilir.

Çözüm:

Bu yazıda kayıt web sayfası oluşturmanın en basit yolunu öğrendik. Ayrıca PHP ve MySQL kullanırsak veritabanıyla nasıl ilgilendiğini de öğrendik. Size kayıt web sayfasının işlevselliği hakkında temel bilgiler vermeye çalıştım. Arka uçta nasıl çalışır ve ön uçtaki görünümünü nasıl değiştirebiliriz. Herhangi bir sorunuz için tereddüt etmeyin ve yorum yapmayın.

Geçtiğimiz birkaç yılda web hosting dramatik bir değişime uğradı. Web barındırma hizmetleri web sitelerinin performans şeklini değiştirdi. Çeşitli hizmet türleri vardır ancak bugün bayi barındırma sağlayıcıları için mevcut olan seçeneklerden bahsedeceğiz. Bunlar Linux Bayi Barındırma ve Windows Bayi Barındırmadır. İkisi arasındaki temel farkları anlamadan önce bayi hostingin ne olduğunu öğrenelim.

Bayi Barındırma

Basit bir ifadeyle, bayi barındırma, bir hesap sahibinin, üçüncü tarafların web sitelerine satış yapmak amacıyla ayrılmış sabit disk alanını ve tahsis edilen bant genişliğini kullanabileceği bir web barındırma biçimidir. Bazen bir satıcı, bir barındırma şirketinden (Linux veya Windows) özel bir sunucuyu kiralayıp üçüncü taraflara kiralayabilir.

Çoğu web sitesi kullanıcısı ya Linux ya da Windows kullanıyor. Bunun çalışma süresiyle ilgisi var. Her iki platform da web sitenizin %99 oranında yükselişte olmasını sağlar.

1. Özelleştirme

Linux Bayi Hosting Planı ile Windows tarafından sağlanan Hosting planı arasındaki temel farklardan biri özelleştirme ile ilgilidir. Her iki oynatıcıyı da çeşitli şekillerde deneyebilseniz de Linux, Windows'tan çok daha özelleştirilebilir. İkincisi, muadillerinden daha fazla özelliğe sahiptir ve bu nedenle birçok geliştirici ve yönetici Linux'u çok müşteri dostu bulmaktadır.

2. Başvurular

Farklı bayi barındırma hizmetlerinin farklı uygulamaları vardır. Linux ve Windows'un her ikisinin de kendi uygulama yelpazesi vardır, ancak sayı ve çok yönlülük söz konusu olduğunda Windows'un bir avantajı vardır. Bunun Linux'un açık kaynak doğasıyla ilgisi var. Herhangi bir geliştirici, uygulamasını Linux platformuna yükleyebilir ve bu, onu milyonlarca web sitesi sahibi için çekici bir barındırma sağlayıcısı haline getirir.

Ancak, web barındırma için Linux kullanıyorsanız, aynı zamanda Linux'u da kullanıyorsanız lütfen unutmayın. pencerelerİşletim sistemi varsa, bazı uygulamalar basitçe çalışmayabilir.

3. Kararlılık

Her iki platform da kararlı olsa da Linux Bayi Barındırma ikisinden daha kararlıdır. Açık kaynak kodlu bir platform olduğundan birçok ortamda çalışabilir. Bu platform ara sıra değiştirilebilir ve geliştirilebilir.

4. .NET uyumluluğu

Linux'un Windows'tan her bakımdan üstün olduğu söylenemez. .NET uyumluluğu söz konusu olduğunda Windows dikkatleri üzerine çekiyor. Web uygulamaları Windows barındırma platformunda kolaylıkla geliştirilebilir.

5. Maliyet avantajları

Her iki barındırma platformu da uygun fiyatlıdır. Ancak nakit sıkıntısı çekiyorsanız Linux'u tercih etmelisiniz. Ücretsizdir ve bu nedenle dünya çapında pek çok geliştirici ve sistem yöneticisi tarafından tercih edilmektedir.

6. Kurulum kolaylığı

Windows'un kurulumu muadillerine göre daha kolaydır. Söylenen ve yapılan her şeye rağmen Windows, tüm bu yıllar boyunca kullanıcı dostu özelliğini hala koruyor.

7.Güvenlik

Windows'tan daha güvenli olduğu için Linux bayi barındırmayı tercih edin. Bu, özellikle E-ticaret işlerini yürüten kişiler için geçerlidir.

Çözüm

İkisi arasında seçim yapmakihtiyacınıza ve maliyet esnekliğine bağlı olacaktır. Her iki barındırma hizmetinin de benzersiz avantajları vardır. Windows'un kurulumu kolay olsa da Linux uygun maliyetli, güvenli ve çok yönlüdür.



Bu yılın Mart ayında, bir medya şirketinin bana ödeme yapmayı ve e-postalarıma cevap vermeyi reddetmesiyle çok kötü bir deneyim yaşadım. Bana hâlâ binlerce dolar borçlular ve içimdeki öfke duygusu her gün nüfuz ediyor. Görünen o ki yalnız değilim ve diğer yüzlerce web sitesi sahibi de aynı durumda. Dijital reklamcılıkla aynı seviyede.

Dürüst olmak gerekirse, bu blogu uzun süredir kullanıyorum ve geçmişte farklı reklam ağlarında gezindim. Beni engelleyen o şirketin reklam birimlerini kaldırdıktan sonra eski halime geri döndüm. Şunu da belirtmeliyim ki Google'ın AdSense ürününü hiçbir zaman pek sevmedim, çünkü kalite açısından değil, gelir açısından yalnızca görüntülü reklamların "varilinin dibi" gibi geliyor.

Anladığım kadarıyla sitenizde Google reklamları istiyorsunuz ama aynı zamanda diğer büyük şirketlerin ve ajansların da bunu yapmasını istiyorsunuz. Bu şekilde talebi ve geliri en üst düzeye çıkarırsınız.

Olumsuz deneyimimden sonra Newor Media adında bir şirketi tavsiye etmem gerekti. Ve dürüst olmak gerekirse, ilk başta satılmadım çünkü onlar hakkında fazla bilgi bulamadım. Diğer sitelerde birkaç iyi inceleme buldum ve orada biriyle konuştuktan sonra denemeye karar verdim. SÜPER yararlı olduklarını söyleyeceğim. Çalıştığım her ağ, yanıtlar ve ilerleme açısından bana oldukça kısa davrandı ve bu gerçekten cesaret verici bir süreçti.

Birkaç aydır reklamları yayınlıyorum ve kazancım diğer şirkette kazandığımla hemen hemen aynı seviyede. Bu yüzden diğerlerinden çok daha iyi olup olmadıklarını gerçekten söyleyemem ama nerede öne çıkıyorlar bu gerçekten vurgulamak istediğim bir nokta. Onlarla olan iletişim, şimdiye kadar çalıştığım hiçbir ağa benzemiyor. İşte onların gerçekten farklı olduğu bir durum:

Paypal ile ilk ödemeyi zamanında bana ilettiler. Ancak ABD'de olmadığım için (ve sanırım bu herkes için geçerli) Paypal'dan bir ücret kestim. Temsilcime bu konuda e-posta gönderdim ve gelecekte bundan kaçınmanın bir yolu olup olmadığını sordum.

Ücretten kaçamayacaklarını söylediler. ama TÜM ÜCRETLERİ GERİ ÖDEMEYECEKLERİNİ.... EN SON ÖDEME DAHİL! Sadece bu da değil, geri ödeme ödemesi 10 DAKİKA içinde alındı! Ne zaman "finans departmanına" iletilmeden böyle bir talepte bulunabildiniz ve asla yanıt alamadınız?

Sonuç olarak bu şirketi seviyorum. Başka bir yerde daha fazlasını kazanabilirim, pek emin değilim ama ömür boyu yanımda bir yayıncıları var. Çok büyük bir site değilim ve çok fazla gelir elde etmiyorum, ama kendimi bir Onlarla konuştuğumda çok önemli bir müşteriyim. Dürüst olmak gerekirse, dolandırıcılık ve yanıt vermemeyle olgunlaşmış bir sektörde yeni bir nefes alıyorum.

Raspberry Pi Vakfı tarafından 2012 yılında oluşturulan mikro bilgisayarlar, küçük çocuklarda yaratıcılık seviyelerini harekete geçirmede büyük başarı elde etti ve İngiltere merkezli bu şirket, pi-top ve Kano gibi kodlamayı öğrenme başlangıç ​​programları sunmaya başladı. Artık Pi elektroniklerini kullanan yeni bir girişim var ve cihaz, dokunmatik ekran, çoklu bağlantı noktaları, kontrol düğmeleri ve hoparlörler sunan el tipi bir konsol olan Pip olarak biliniyor. Cihazın arkasındaki fikir, genç bireylerin retro tarzdaki ama aynı zamanda web tabanlı bir platform aracılığıyla kod öğrenme deneyimi sunacak bir oyun cihazıyla etkileşime geçmesini sağlamaktır.

Pip'in sunduğu muhteşem yazılım platformu Python, HTML/CSS, JavaScript, Lua ve PHP'de kodlamaya başlama şansı sunacak. Cihaz, çocukların kodlamaya başlaması için adım adım eğitimler sunuyor ve hatta LED'lerin yanıp sönmesini bile sağlıyor. Pip hâlâ bir prototip olsa da, kesinlikle sektörde büyük bir hit olacak ve kodlamaya ilgi duyan çocukların ilgisini çekecek ve onlara genç yaşta kodlamaya başlamaları için gereken eğitim ve kaynakları sağlayacak.

Kodlamanın Geleceği

Kodlamanın harika bir geleceği var ve çocuklar kodlamayı bir kariyer olarak kullanmayacak olsalar bile, kodlamayı her zamankinden daha kolay hale getiren bu yeni cihazla kodlamayı öğrenmenin faydalarından yararlanabilirler. Pip ile en genç kodlama meraklıları bile farklı diller öğrenecek ve kendi kodlarını, kendi oyunlarını, kendi uygulamalarını ve daha fazlasını oluşturma yolunda ilerleyecek. Bu, elektronik çağın geleceğidir ve Pip, kodlamanın temel yapı taşlarında uzmanlaşmaya olanak sağlar.
Bilgisayar bilimi eğitimin önemli bir parçası haline geldi ve yeni Pip gibi cihazlarla çocuklar evde eğlenirken eğitimlerini geliştirmeye başlayabilirler. Kodlama, web siteleri veya yazılım oluşturmanın çok ötesine geçer. Bir şehirde güvenliği artırmak, tıp alanındaki araştırmalara yardımcı olmak ve çok daha fazlası için kullanılabilir. Artık yazılımın egemen olduğu bir dünyada yaşadığımız için kodlama geleceğidir ve bu becerileri kariyer olarak hiç kullanmasalar bile tüm çocukların en azından kodlamanın nasıl çalıştığına dair temel bir anlayışa sahip olmaları önemlidir. Gelecek açısından kodlama günlük yaşamın kritik bir bileşeni olacak. Bu dünyanın dili olacak ve bilgisayarları veya nasıl çalıştıklarını bilmemek, üstesinden gelinmesi cehalet kadar zor olan zorluklara yol açabilir.
Kodlama aynı zamanda oyun dünyasında, özellikle çevrimiçi kumarhanelere erişim de dahil olmak üzere çevrimiçi oyun söz konusu olduğunda büyük değişiklikler sağlayacaktır. Kodlamanın oyun dünyasını nasıl geliştirdiğini görmek için kodlamaya dayanan en yüksek puan alan birkaç casino sitesine göz atın. Hızlıca bir göz atın ve kodlamanın çevrimiçi ortamda gerçekçi ortamları nasıl sunabileceğini görün.

Pip Çocuklarla Nasıl Etkileşime Geçer?

Kodlamayı öğrenme fırsatı söz konusu olduğunda çocukların birçok seçeneği vardır. Satın alınabilecek çok sayıda cihaz ve donanım var, ancak Pip bu cihazlarla farklı bir yaklaşım benimsiyor. Cihazın taşınabilirliği ve dokunmatik ekranı piyasadaki diğer kodlama cihazlarına göre avantaj sağlıyor. Pip, Raspberry Pi HAT sisteminin yanı sıra elektronik bileşenlerle de tam uyumlu olacak. Cihaz standart dilleri kullanır ve temel araçlara sahiptir ve başlangıç ​​düzeyindeki tüm kodlayıcılar için mükemmel bir cihazdır. Amaç, fikir ile yaratım arasındaki engelleri kaldırmak ve araçları hemen kullanıma hazır hale getirmektir. Pip'in diğer büyük avantajlarından biri de SD kart kullanmasıdır, bu sayede monitör ve fareye bağlandığında masaüstü bilgisayar olarak da kullanılabilir.
Pip cihazı, çocuklara ve ilgilenen acemi kodlayıcılara, kodlamayı öğrenme ve pratik yapma konusunda yardımcı olacaktır. Sorunları çözmek için görev tamamlama ve düzeltmelerin bir kombinasyonunu sunan cihaz, kesinlikle genç neslin ilgisini çekecek. Cihaz daha sonra bu genç kodlayıcıların JavaScript ve HTML/CSS gibi farklı dillerde daha ileri düzeyde kodlamaya geçmelerine olanak tanır. Cihaz bir oyun konsolunu taklit ettiğinden çocukların dikkatini hemen çekecek ve onları küçük yaşta kodlamayla tanıştıracak. Ayrıca dikkati korumak için Pac-Man ve Minecraft gibi önceden yüklenmiş bazı oyunlarla birlikte gelir.

Gelecek Yenilikler

Gelecekteki yenilikler büyük ölçüde çocuğun mevcut kodlama becerisine ve süreci genel olarak anlamasına bağlıdır. Çocuklar, yeni Pip gibi cihazları kullanarak erken yaşta kodlamayı öğrendikçe, gelecekte harika şeyler yaratacak bilgi ve becerileri kazanacaklar. Bu, yeni oyunların veya uygulamaların tanıtılması, hatta tıbbi araştırma ve tedavilere yardımcı olacak fikirlerin hayata geçirilmesi olabilir. Sonsuz olasılıklar var. Geleceğimiz yazılım ve bilgisayarlar tarafından kontrol edileceğinden, genç yaşta başlamak en iyi yoldur, bu nedenle yeni Pip genç kalabalığa yöneliktir. Kodlama becerilerini öğretirken oyun oynayabilecekleri bir konsol cihazının sunulmasıyla toplumun gençleri, gelecekte tüm hayatlarımızı değiştirecek yazılımların yaratıcıları olma yolunda ilerliyor. Bu sadece bir başlangıç ​​ama dünyanın her yerindeki milyonlarca çocuğun öğrenmeye ve ustalaşmaya başladığı bir şey. Pip gibi cihazların kullanımıyla kodlamanın temelleri anlatılıyor ve çocuklar, yetişkinliğe girerken harika yollara gidebilecek farklı kodlama dillerini hızla öğrenecekler.

Web sitenizin bölümlerinden birini sınırlı ancak belirtilmemiş bir insan çevresinin erişimine açmanız gerekiyorsa, bunu yapmanın en kolay yolu kullanıcıları kaydedip yetkilendirmektir. Kullanıcıları yetkilendirmenin birçok yolu vardır. Hem web sunucusu araçlarını hem de programlama dili araçlarını kullanabilirsiniz. PHP oturumlarının kullanıldığı durumdan bahsedeceğiz.

Muhtemelen bu şekli yaratmanın daha modern bir yolunu görmek istersiniz. Hala tam olarak modern ve alakalı bir şekilde sunma planım yok, ancak geri bildirim formunun PHP'deki nesne yönelimli teknikler kullanılarak oluşturulabileceğini görebilirsiniz.

Öncelikle bundan sonra atacağımız tüm adımları tartışalım. Neye ihtiyacımız var? Kullanıcıyı kaydedecek, kullanıcıya yetki verecek, yetkilendirme sonrasında kullanıcıyı bir yere yönlendirecek bir scripte ihtiyacımız var. Ayrıca yetkisiz kullanıcıların erişimine karşı korunacak bir sayfa oluşturmamız gerekecek. Kayıt ve yetkilendirme için HTML formları oluşturmamız gerekecek. Kayıtlı kullanıcılar hakkındaki bilgileri bir veritabanında saklayacağız. Bu, DBMS'ye bağlanmak için hala bir komut dosyasına ihtiyacımız olduğu anlamına gelir. Tüm çalışmalarımız kendi yazdığımız fonksiyonlar tarafından yapılacaktır. Bu fonksiyonları ayrı bir dosyaya kaydedeceğiz.

Yani aşağıdaki dosyalara ihtiyacımız var:

  • DBMS'ye bağlantı;
  • özel işlevler;
  • yetki;
  • kayıt;
  • korumalı sayfa;
  • kullanıcı kapatma komut dosyası;
  • kullanıcının yetkilendirme durumunu kontrol eden bir komut dosyası;
  • sayfalarımızın en basit tasarımı için stil sayfası.

Veritabanında karşılık gelen bir tablonuz yoksa tüm bunlar anlamsız olacaktır. DBMS yönetim aracınızı başlatın (PhpMyAdmin veya komut satırı, hangisi daha uygunsa) ve içinde aşağıdaki sorguyu çalıştırın:

CREATE TABLE `users' (`id` int(11) NULL DEĞİL AUTO_INCREMENT, `login` char(16) NULL DEĞİL, `password` char(40) NULL DEĞİL, `reg_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (` id`)) ENGINE=MyISAM VARSAYILAN CHARSET=utf8 AUTO_INCREMENT=1 ;

Betik dosyalarımızı şu şekilde adlandıracağım (hepsi tek bir dizinde olacak):

  • veritabanı.php;
  • işlevler.php;
  • giriş.php;
  • kayıt.php;
  • index.php;
  • çıkış.php;
  • checkAuth.php;
  • style.css.

Eminim ki her birinin amacı sizin için açıktır. DBMS'ye bağlantı komut dosyasıyla başlayalım. Bunu zaten gördün. Bu betiğin kodunu, veritabanı.php adlı bir dosyaya kaydetmeniz yeterli. Function.php dosyasında özel işlevler bildireceğiz. Bütün bunlar nasıl çalışacak? Yetkisiz bir kullanıcı, korunan index.php belgesine erişmeye çalışır, sistem kullanıcının yetkili olup olmadığını kontrol eder, kullanıcı yetkili değilse yetkilendirme sayfasına yönlendirilir. Giriş sayfasında kullanıcının bir yetkilendirme formu görmesi gerekir. Hadi yapalım.

Kullanıcı yetkilendirmesi

kayıt olmak.



Artık formumuza bir şekil verilmesi gerekiyor. Aynı zamanda diğer unsurlar için de kurallar tanımlayacağız. İleriye baktığımda stil sayfasının içeriğini tam olarak sunacağım.

/* style.css dosyası */ .row ( border-bottom:10px; width:220px; ) .row label ( display:block; font-weight:bold; ) .row input.text ( font-size:1.2em; dolgu:2px 5px; ) .to_reg ( font-size:0,9em; ) .instruction ( font-size:0,8em; color:#aaaaaa; sol kenar boşluğu:2px; imleç:varsayılan; ) .error ( color:red; kenar boşluğu-sol:3px )

Her şey doğru yapılırsa tarayıcınızda aşağıdakilerin bulunması gerekir:

Tabii henüz tek bir kayıtlı kullanıcımız yok ve giriş yapabilmek için kayıt olmanız gerekiyor. Kayıt formu oluşturalım.

Kullanıcı kaydı

" />


Muhtemelen HTML kodunda PHP değişkenleri olduğunu fark etmişsinizdir. Formların metin alanlarının özniteliklerinin içerikleri, hataları görüntülemek için tasarlanmış kapların içerikleridir. Ancak bu değişkenleri başlatmadık. Hadi bunu yapalım.

Kullanıcı kaydı

" />
Kullanıcı adı yalnızca Latin karakterleri, sayıları ve "_", "-", "." sembollerini içerebilir. Kullanıcı adı 4 karakterden kısa ve 16 karakterden uzun olmamalıdır
Şifrenizde yalnızca Latin karakterleri, rakamları ve "_", "!", "(", ")" sembollerini kullanabilirsiniz. Şifre 6 karakterden kısa, 16 karakterden uzun olmamalıdır
Daha önce girilen şifreyi tekrarlayın


Form etiketinin action özelliğinde belirtilmiş bir parametre yok. Bu durumda form verileri gönderilirken gönderildiği komut dosyasında işlenecektir. Bu, form verilerini işleyen kod yazmamız gerektiği anlamına gelir. Ama önce bunları işlemek için kullanılan algoritmayı tartışalım.

Kullanıcı adı ve şifre alanlarının boş kalmamasına ihtiyacımız var. Daha sonra giriş bilgilerinin gereksinimlere uygunluğunu kontrol etmeniz gerekir. Parolanın ayrıca açıklanan gereksinimleri karşılaması ve yeniden belirlenen parolanın onunla eşleşmesi ve ayrıca aynı olması gerekir. Bu koşullardan herhangi birinin karşılanmaması durumunda form verilerinin işlenmesi durdurulmalı, hata mesajı dizisine uygun bir uyarı yazılmalı ve kullanıcıya görüntülenmelidir. Kullanıcıya kolaylık olması açısından girdiği giriş bilgisini (eğer belirtmişse) değerini $fields dizisine yazarak kaydedeceğiz.

Her şey yolundaysa, tarayıcı pencerenizde, kayıt.php belgesine eriştiğinizde şunun gibi bir şey görmelisiniz:

Şimdi diyelim ki kullanıcı kayıt butonuna tıkladı ve form alanlarını doldurmadı. Algoritmamıza göre kullanıcı adı ve şifre boş olamaz. Bu koşul sağlanmadığı takdirde kayıt yapılamaz. Form verilerinin işlenmesinin mevcut senaryoda gerçekleştiğini aklımızda tutuyoruz. Bu, uygun kontroller ekleyerek kodunu değiştirmemiz gerektiği anlamına gelir. Hemen aşağıdaki kontrollere değinelim. Hem kullanıcı adı hem de şifre girdiyseniz, bunların belirtilen gereksinimlere uygunluğunu kontrol etmeniz gerekir. Kullanıcı adını ve şifreyi doğrulamak için, Function.php dosyasında özel işlevler oluşturacağız.

/** * işlevler.php * Özel işlevlere sahip dosya */ // Bağlantı parametrelerini içeren dosyayı DBMS'ye bağlayın require_once("database.php"); // Kullanıcı adı işlevi kontrol ediliyor checkLogin($str) ( // Olası bir hata mesajıyla bir değişkeni başlatın $error = ""; // Oturum açma satırı eksikse, bir hata mesajı döndürün if(!$str) ( $error = " Kullanıcı adı girmediniz"; return $hata; ) /** * Kullanıcı adını normal ifadeler kullanarak kontrol edin * Giriş bilgisi 4'ten kısa, 16 karakterden uzun olmamalıdır * Latin alfabesindeki karakterleri içermelidir, sayılar, * "_", "-", "." karakterlerini içerebilir */ $pattern = "/^[-_.a-z\d](4,16)$/i"; $result = preg_match ($pattern, $str) ; // Kontrol başarısız olursa, bir hata mesajı döndürün if(!$result) ( $error = "Kullanıcı adındaki karakterler geçersiz veya kullanıcı adı çok kısa (uzun)"; return $error; ) // Her şey yolundaysa true değerini döndürün return true; ) // Kullanıcının şifresini kontrol etme işlevi checkPassword($str) ( // Olası bir hata mesajıyla bir değişkeni başlatın $error = ""; // Varsa giriş satırı yok, hata mesajı döndürür if(!$ str) ( $error = "Şifre girmediniz"; $hata döndür; ) /** * Kullanıcının şifresini normal ifadeler kullanarak kontrol edin * Şifre 6'dan kısa, 16 karakterden uzun olmamalıdır * Latin karakterleri, rakamlar içermeli, * "_", "!" karakterlerini içerebilir, " (", ")" */ $pattern = "/^[_!)(.a-z\d](6,16)$/i"; $result = preg_match($pattern, $str); // If kontrol başarısız oldu, hata mesajı döndür if(!$result) ( $error = "Kullanıcı şifresinde geçersiz karakterler veya şifre çok kısa (uzun)"; return $hata; ) // Her şey yolundaysa geri dön true değeri true değerini döndürür;

Şimdi bildirdiğimiz fonksiyonları etkinleştirmek için kayıt.php dosyasını değiştirmemiz gerekiyor. Kayıt butonunun tıklanıp tıklanmadığını kontrol eden scripte bir koşul ekleyeceğiz. Bu durumda kullanıcı adı ve şifre kontrolü başlatılır. Kontrollerden herhangi biri başarısız olursa formu tekrar görüntüler ve bir hata mesajı veririz. Herhangi bir hata yoksa kullanıcıyı kaydederiz, kayıt formunu artık görüntülemeyiz, kullanıcıyı başarılı kayıt konusunda bilgilendiririz ve başlık() işlevini kullanarak onu yetkilendirme formuna yönlendiririz.

Sisteme başarıyla kayıt oldunuz. Artık giriş sayfasına yönlendirileceksiniz. Bu olmazsa, doğrudan bağlantıyı kullanarak ona gidin.

"; başlık("Yenile: 5; URL = giriş.php"); ) // Aksi halde, kullanıcıyı hata hakkında bilgilendirin, else ( $errors["full_error"] = $reg; ) ) ) ?> Kullanıcı kaydı
" />
Kullanıcı adı yalnızca Latin karakterleri, sayıları ve "_", "-", "." sembollerini içerebilir. Kullanıcı adı 4 karakterden kısa ve 16 karakterden uzun olmamalıdır
Şifrenizde yalnızca Latin karakterleri, rakamları ve "_", "!", "(", ")" sembollerini kullanabilirsiniz. Şifre 6 karakterden kısa, 16 karakterden uzun olmamalıdır
Daha önce girilen şifreyi tekrarlayın


Betikte başka bir yeni işlevi fark etmiş olmalısınız - kayıt() . Ama henüz duyurmadık. Hadi bunu yapalım.

// Kullanıcı kayıt fonksiyonu fonksiyon kaydı($login, $password) ( // Olası bir hata mesajıyla bir değişkeni başlatın $error = ""; // Eğer oturum açma satırı yoksa, bir hata mesajı döndürün if(!$login) ( $ error = "Giriş belirtilmedi"; return $hata; ) elseif(!$şifre) ( $hata = "Şifre belirtilmedi"; return $hata; ) // Kullanıcının zaten kayıtlı olup olmadığını kontrol edin // Bağlan DBMS connect() ; // Bir sorgu dizesi yazın $sql = "SELECT `id` FROM `users` WHERE `login`="" . $login . """ // Veritabanına bir sorgu yapın $query = mysql_query( $sql) veya die( ""); // Bu girişe sahip olan kullanıcı sayısına bakın, eğer en az bir tane varsa, // bir hata mesajı döndürün if(mysql_num_rows($query) > 0) ( $error = " Belirtilen giriş bilgilerine sahip kullanıcı zaten kayıtlı"; $ hatası döndür; ) // Böyle bir kullanıcı yoksa kaydedin // Sorgu dizesini yazın $sql = "INSERT INTO `users` (`id`,`login`) ,`şifre`) DEĞERLER (NULL, "" . $login . " ","" . $şifre. "")"; // Veritabanına bir sorgu yapın $query = mysql_query($sql) veya die("

Kullanıcı eklenemiyor: " . mysql_error() .". ".__LINE__" satırında bir hata oluştu.

"); // DBMS bağlantısını kesmeyi unutmayın mysql_close(); // Başarılı kullanıcı kaydının return true olduğunu belirten true değerini döndürün; )

Her şey yolundaysa kullanıcınız kaydedilecektir. Formu test edebilirsiniz. Kullanıcıları aynı giriş bilgilerine sahip olarak kaydetmeyi deneyin. Başarılı kayıt sonrasında kullanıcı yetkilendirme formuna yönlendirilecektir. Daha önce bu formu görüntülemek için işaretlemeyi oluşturuyorduk. Action özelliğinde herhangi bir parametre belirtilmediğinden formun gönderdiği veriler aynı script içerisinde işlenecektir. Bu, işlemek için kod yazmamız ve bunu login.php belgesine eklememiz gerektiği anlamına gelir.

Kullanıcı yetkilendirmesi

;">

Sistemde kayıtlı değilseniz kayıt olunuz.



Yetkilendirme komut dosyasında artık başka bir yabancı fonksiyonumuzun olduğunu fark etmişsinizdir - Authorization() . Bu işlev, öncelikle veritabanında aynı oturum açma adı ve parolaya sahip kayıtlı bir kullanıcının bulunup bulunmadığını kontrol ederek kullanıcıya yetki vermelidir. Böyle bir kullanıcı bulunamazsa yetkilendirme iptal edilecek ve bir hata mesajı görüntülenecektir. Kontrol başarılı olursa, Authorization() işlevi bir oturum başlatacak ve buna kullanıcının kullanıcı adı ve şifre değerlerini yazacak, komut dosyasına yetkilendirmenin başarılı olduğunu bildirecek ve komut dosyası kullanıcıyı korumalı bir kaynak sayfasına yönlendirecektir.

/** * Kullanıcı yetkilendirme fonksiyonu. * Kullanıcı yetkilendirmesi PHP oturumları kullanılarak gerçekleştirilecektir. */ fonksiyon yetkilendirme($giriş, $şifre) ( // Olası bir hata mesajıyla bir değişkeni başlatın $error = ""; // Eğer giriş satırı yoksa, bir hata mesajı döndürün if(!$login) ( $hata = " Giriş belirtilmedi"; return $hata; ) elseif(!$şifre) ( $hata = "Şifre belirtilmedi"; return $hata; ) // Kullanıcının zaten kayıtlı olup olmadığını kontrol edin // DBMS connect'e bağlanın( ); // Böyle bir kullanıcının kayıtlı olanlar arasında olup olmadığını kontrol etmemiz gerekiyor // Bir sorgu dizesi oluşturun $sql = "SELECT `id` FROM `users` WHERE `login`="".$login."" VE ` şifre`="".$şifre ."""; // $query = mysql_query($sql) veya die(" sorgusunu yürütün

Sorgu yürütülemiyor: " . mysql_error() .". ".__LINE__" satırında bir hata oluştu.

"); // Bu tür verilere sahip bir kullanıcı yoksa, bir hata mesajı döndürün if(mysql_num_rows($query) == 0) ( $error = "Belirtilen verilere sahip kullanıcı kayıtlı değil"; return $error; ) // Kullanıcı varsa oturumu başlatın session_start(); // Ve kullanıcının kullanıcı adını ve şifresini buraya yazın // Bunun için süper küresel diziyi kullanıyoruz $_SESSION $_SESSION["login"] = $_SESSION[; "password"] = $password; / Veritabanı bağlantısını kapatmayı unutmayın mysql_close(); // Başarılı kullanıcı yetkilendirmesini belirtmek için true değerini döndürün, true değerini döndürün)

Bir kullanıcı korumalı bir sayfaya girdiğinde yetkilendirme verilerinin doğruluğunu kontrol etmelisiniz. Bunu yapmak için başka bir özel fonksiyona ihtiyacımız var. Buna checkAuth() adını verelim. Görevi, kullanıcının yetkilendirme verilerini veritabanımızda saklananlarla doğrulamak olacaktır. Verilerin eşleşmemesi durumunda kullanıcı giriş sayfasına yönlendirilecektir.

Function checkAuth($login, $password) ( // Kullanıcı adı veya şifre yoksa, false değerini döndür if(!$login || !$password) false değerini döndür; // Böyle bir kullanıcının kayıtlı olup olmadığını kontrol edin // Bağlan DBMS connect(); // Sorgu dizesini oluşturun $sql = "SELECT `id` FROM `users` WHERE `login`="".$login."" VE `password`="".$password.""" // Sorguyu yürütün $ query = mysql_query($sql) veya die("

Sorgu yürütülemiyor: " . mysql_error() .". ".__LINE__" satırında bir hata oluştu.

"); // Bu tür verilere sahip bir kullanıcı yoksa, false değerini döndürün; if(mysql_num_rows($query) == 0) ( return false; ) // mysql_close() veritabanı bağlantısını kapatmayı unutmayın; // Aksi halde true değerini döndür, true değerini döndür)

Artık kullanıcı korumalı sayfaya ulaştığına göre, yetkilendirme verilerini kontrol etmek için işlevi çağırmalıyız. Çağrı ve doğrulama komut dosyasını ayrı bir checkAuth.php dosyasına yerleştireceğiz ve onu genel erişime kapatılacak sayfalara bağlayacağız.

/** * Kullanıcı yetkilendirmesini kontrol etmek için komut dosyası */ // Yetkili kullanıcıların kullanıcı adını ve parolasını // çıkaracağımız bir oturum başlatın session_start(); // Özel işlevlere sahip bir dosya bağlayın require_once("functions.php"); /** * Bir kullanıcının yetkili olup olmadığını belirlemek için veritabanında kullanıcı adı * ve şifresine ait kayıtların olup olmadığını kontrol etmemiz gerekir. Bunu yapmak için, oturum açmış kullanıcı verilerinin doğruluğunu kontrol etmek için özel işlevi * kullanacağız. * Bu işlev false değerini döndürürse yetkilendirme yoktur. * Yetkilendirme yoksa kullanıcıyı yetkilendirme sayfasına yönlendirmemiz yeterlidir. */ // Oturum hem kullanıcı adı hem de parola verilerini içeriyorsa, // bunları kontrol edin if(isset($_SESSION["login"]) && $_SESSION["login"] && isset($_SESSION["password" ]) && $_SESSION["password"]) ( // Mevcut verilerin kontrolü başarısız olursa if(!checkAuth($_SESSION["login"], $_SESSION["password"])) ( // Kullanıcıyı giriş sayfası başlığına yönlendirin( "location: login.php"); // Komut dosyasının yürütülmesini durdurun çıkış ) ) ) // Kullanıcının kullanıcı adı veya şifresi hakkında veri yoksa, // yetkilendirme olmadığını varsayıyoruz, kullanıcıyı // yetkilendirmeye yönlendirin sayfa else ( başlık("konum: giriş.php"); // Komut dosyası çıkışını yürütmeyi durdurun;

Şimdi güvenli sayfamızın kodunu oluşturalım. Oldukça basit olacak.

Kullanıcı yetkilendirmesi ve kaydı

Başarılı yetkilendirme.

Güvenli bir sayfaya eriştiniz. Çıkış yapabilirsiniz.



Gördüğünüz gibi, korumalı bir belgeye yalnızca tek bir dosya ekliyoruz - checkAuth.php. Diğer tüm dosyalar diğer komut dosyalarına bağlanır. Bu nedenle kodumuz hantal görünmüyor. Kullanıcıların kayıt ve yetkilendirmelerini organize ettik. Artık kullanıcıların çıkış yapmasına izin vermeniz gerekiyor. Bunu yapmak için logout.php dosyasında bir komut dosyası oluşturacağız.

/** * Kullanıcı oturum kapatma komut dosyası. Kullanıcılar * oturumlar aracılığıyla oturum açtığından, oturum açma bilgileri ve parolaları $_SESSION süper küresel dizisinde * depolanır. Sistemden * çıkış yapmak için $_SESSION["login"] ve $_SESSION["password"] dizisinin değerlerini * yok edin, ardından kullanıcıyı * giriş sayfasına yönlendiririz */ // Be oturumu başlattığınızdan emin olun session_start(); unset($_SESSION["giriş"]); unset($_SESSION["şifre"]); başlık("konum: giriş.php");

Kullanıcı kaydı, yetkilendirme ve doğrulama scripti hazır. Kendiniz için kullanabilir, tamamlayabilir, ihtiyaçlarınıza göre değiştirebilirsiniz. Sorularınız varsa yorumlarda sorabilirsiniz. Burada tartışılan tüm dosyaları tek bir arşiv halinde indirebilirsiniz.

Not: Nesneye yönelik kod yazmanın daha iyi olduğunu biliyorum, şifreyi açık metin olarak iletmeye ve saklamaya değmediğini, veritabanına girilen bilgilerin önceden kontrol edilmesi gerektiğini biliyorum. Biliyorum. Bu konuyu burada konuşmayacağım.

Bu eğitimde, kullanıcıların kullanıcı adı, e-posta ve şifre sağlayarak hesap oluşturabilecekleri, PHP ve MySQL kullanarak oturum açıp kapatabilecekleri bir kullanıcı kayıt sistemi oluşturma sürecinin tamamında size yol göstereceğim. Ayrıca bazı sayfaları yalnızca oturum açmış kullanıcılar için erişilebilir hale getirebileceğinizi de göstereceğim. Giriş yapmayan herhangi bir kullanıcı sayfaya erişemeyecektir.

Benimkiyle PHP ve MySQL veritabanıyla eksiksiz bir blog oluşturmayı öğrenin YouTube'da ücretsiz kurs.

Yapmamız gereken ilk şey veritabanımızı oluşturmak.

Adlı bir veritabanı oluşturun kayıt. İçinde kayıt veritabanına adlı bir tablo ekleyin kullanıcılar. Kullanıcılar tablosu aşağıdaki dört alanı alacaktır.

  • kullanıcı adı - varchar(100)
  • e-posta - varchar(100)
  • şifre - varchar(100)

Bunu PHPMyAdmin gibi bir MySQL istemcisi kullanarak oluşturabilirsiniz.

Veya aşağıdaki SQL betiğini kullanarak MySQL isteminde oluşturabilirsiniz:

OLUŞTURMA TABLOsu `users` (`id` int(11) NULL DEĞİL AUTO_INCREMENT PRIMARY KEY, `username` varchar(100) NULL DEĞİL, `email` varchar(100) NULL DEĞİL, `password` varchar(100) NULL DEĞİL) MOTOR =InnoDB VARSAYILAN KARAKTER SETİ=latin1;

Veritabanında da bu kadar.

Şimdi adında bir klasör oluşturun kayıt sunucumuzun erişebileceği bir dizinde. yani htdocs içinde (XAMPP sunucusu kullanıyorsanız) veya içinde klasör oluşturun www(eğer wampp sunucusu kullanıyorsanız).

Klasörün içinde kayıt, aşağıdaki dosyaları oluşturun:

Bu dosyaları seçtiğiniz bir metin düzenleyicide açın. Benimki Sublime Text 3.

Bir kullanıcıyı kaydetme

Register.php dosyasını açın ve içine aşağıdaki kodu yapıştırın:

kayıt.php:

Kayıt olmak

Zaten bir üye misiniz? Kayıt olmak



Şu ana kadar karmaşık bir şey yok değil mi?

Burada dikkat edilmesi gereken birkaç nokta:

Birincisi formumuzu aksiyonöznitelik, Register.php olarak ayarlanmıştır. Bu, form gönder düğmesine tıklandığında formdaki tüm verilerin aynı sayfaya (register.php) gönderileceği anlamına gelir. Kodun bu form verisini alan kısmı server.php dosyasına yazılmıştır ve bu yüzden onu Register.php dosyasının en üstüne ekliyoruz.

Form hatalarını görüntülemek için error.php dosyasını da eklediğimize dikkat edin. Yakında buna geleceğiz.

Head kısmında gördüğünüz gibi bir style.css dosyasına link veriyoruz. Style.css dosyasını açın ve içine aşağıdaki CSS'yi yapıştırın:

* ( kenar boşluğu: 0 piksel; dolgu: 0 piksel; ) gövde ( yazı tipi boyutu: %120; arka plan: #F8F8FF; ) .başlık ( genişlik: %30; kenar boşluğu: 50 piksel otomatik 0 piksel; renk: beyaz; arka plan: #5F9EA0; metin -hizalama: merkez; kenarlık: 1 piksel katı #B0C4DE; kenarlık yarıçapı: 10 piksel 10 piksel 0 piksel 0 piksel; form, .content (genişlik: %30; kenar boşluğu: 0 piksel otomatik; dolgu: 20 piksel; kenarlık: 1 piksel katı #B0C4DE; kenarlık yarıçapı) : 0px 0px 10px 10px; .input-group (kenar boşluğu: 10px 0px 10px 0px; ) ; kenar boşluğu: 3px; .input-group girişi (yükseklik: 30px; genişlik: %93; dolgu: 5px 10px; yazı tipi boyutu: 16px ; kenarlık yarıçapı: 5 piksel; kenarlık: 1 piksel düz gri; ) .btn ( dolgu: 10 piksel; yazı tipi boyutu: 15 piksel; arka plan: #5F9EA0; kenarlık: kenarlık yarıçapı: 5 piksel; genişlik: %92; kenar boşluğu: 0 piksel otomatik; kenarlık: 1 piksel düz # a94442; renk: #a94442; kenarlık yarıçapı: 5 piksel; sol; arka plan: #dff0d8; kenarlık: 1 piksel katı #3c763d; kenar boşluğu alt: 20 piksel; )

Şimdi form çok güzel görünüyor.

Şimdi formdan gönderilen bilgileri alacak ve bu bilgileri veritabanına kaydedecek kodu yazalım. Daha önce söz verdiğimiz gibi bunu server.php dosyasında yapıyoruz.

Server.php'yi açın ve içine şu kodu yapıştırın:

sunucu.php

Oturumlar oturum açmış kullanıcıları izlemek için kullanılır ve bu nedenle dosyanın üstüne bir session_start() ekleriz.

Koddaki yorumlar hemen hemen her şeyi açıklıyor ancak burada birkaç şeyin altını çizeceğim.

If ifadesi, kayıt formundaki reg_user düğmesinin tıklanıp tıklanmadığını belirler. Formumuzda gönder düğmesinin reg_user olarak ayarlanmış bir ad niteliğine sahip olduğunu ve if ifadesinde buna atıfta bulunduğumuzu unutmayın.

Kullanıcının formu doğru doldurduğundan emin olmak için tüm veriler formdan alınır ve kontrol edilir. Eşleştiklerinden emin olmak için şifreler de karşılaştırılır.

Herhangi bir hatayla karşılaşılmazsa, kullanıcı kullanıcılar karma bir parola ile veritabanındaki tablo. Karma şifre güvenlik nedeniyledir. Bir bilgisayar korsanı veritabanınıza erişim sağlamayı başarsa bile şifrenizi okuyamamasını sağlar.

Ancak error.php dosyamız hala boş olduğundan hata mesajları şu anda görüntülenmiyor. Hataları görüntülemek için bu kodu error.php dosyasına yapıştırın.

0) : ?>

Bir kullanıcı veritabanına kaydolduğunda hemen oturum açar ve index.php sayfasına yönlendirilir.

Kayıt için bu kadar. Kullanıcı girişine bakalım.

Kullanıcı girişi

Bir kullanıcının oturum açması daha da kolay bir iştir. Giriş sayfasını açın ve içine şu kodu koyun:

Kayıt sistemi PHP ve MySQL

Giriş yapmak

Henüz üye değil misiniz? Üye olmak



Bu sayfadaki her şey, Register.php sayfasına oldukça benzer.

Artık kullanıcının oturum açmasını sağlayan kodun aynı server.php dosyasına yazılması gerekiyor. Server.php dosyasını açın ve bu kodu dosyanın sonuna ekleyin:

// ... // KULLANICIYA GİRİŞ if (isset($_POST["login_user"])) ( $kullanıcı adı = mysqli_real_escape_string($db, $_POST["kullanıcı adı"]); $password = mysqli_real_escape_string($db, $_POST ["şifre"]); if (boş($kullanıcıadı)) ( array_push($hatalar, "Kullanıcı adı gerekli"); ) if (boş($şifre)) ( array_push($hatalar, "Şifre gerekli"); ) if (count($errors) == 0) ( $password = md5($password); $query = "SELECT * FROM user WHERE kullanıcı adı=$kullanıcı adı" AND parola=$password""; $results = mysqli_query ($db, $query); if (mysqli_num_rows($results) == 1) ( $_SESSION["kullanıcıadı"] = $kullanıcıadı; $_SESSION["success"] = "Artık oturum açtınız"; başlık(" konum: index.php"); )else ( array_Push($hatalar, "Yanlış kullanıcı adı/şifre kombinasyonu"); )) ) ) ?>

Yine tüm bunlar, kullanıcının formu doğru doldurup doldurmadığını kontrol etmek, kimlik bilgilerinin veritabanındaki bir kayıtla eşleştiğini doğrulamak ve eşleşiyorsa oturum açmaktır. Giriş yaptıktan sonra kullanıcı, başarı mesajıyla birlikte index.php dosyasına yönlendirilir.

Şimdi index.php dosyasını açın ve içine aşağıdaki kodu yapıştırın:

Ev

Ana Sayfa

Hoş geldin

çıkış Yap



İlk if ifadesi kullanıcının zaten oturum açıp açmadığını kontrol eder. Giriş yapmamışlarsa giriş sayfasına yönlendirileceklerdir. Bu nedenle bu sayfaya yalnızca oturum açmış kullanıcılar erişebilir. Herhangi bir sayfanın yalnızca oturum açmış kullanıcılar tarafından erişilebilir olmasını istiyorsanız tek yapmanız gereken bu if ifadesini dosyanın en üstüne yerleştirmektir.

İkinci if ifadesi, kullanıcının çıkış düğmesine tıklayıp tıklamadığını kontrol eder. Evetse, sistem bu kişilerin oturumlarını kapatır ve onları tekrar oturum açma sayfasına yönlendirir.

Şimdi devam edin, ihtiyaçlarınıza göre özelleştirin ve harika bir site oluşturun. Herhangi bir endişeniz veya açıklığa kavuşturmanız gereken bir şey varsa, bunu aşağıdaki yorumlarda bırakın, yardım gelecektir.

Sosyal medyada paylaşarak veya blogumu arkadaşlarınıza ve meslektaşlarınıza önererek her zaman destek olabilirsiniz.