Robimo, kayıt sistemini PHP, MySQL ve jQuery wikileri ile yönetir. Facebook stili ile jQuery PHP kayıt formunu kullanarak Pokrokova kaydı
Robimo, kayıt sistemini PHP, MySQL ve jQuery wikileri ile yönetir. Facebook stili ile jQuery PHP kayıt formunu kullanarak Pokrokova kaydı
02.12.2016
Sitenizin bölümlerinden birini yabancı, ancak belirli sayıda osib için erişilebilir hale getirmeniz gerekiyorsa, coristuvach'ların ek kaydı ve yetkilendirmesi için bunu yapmak daha kolaydır. Koristuvach'ları yetkilendirmenin birçok yolu vardır. Web sunucusu araçlarını ve programlama araçlarını hackleyebilirsiniz. PHP oturumları oylanırsa, artı oylar hakkında konuşalım.
Imovirno, böyle bir form yaratmanın daha iyi bir yolunu bulmak istiyorsunuz. Bunun dışında, bu gerçek tezahür hala planlarımda, ancak ters çevrilmiş bağlantının formunun PHP'de ek nesne yönlendirme yöntemleri için teşvik edilebileceğini düşünebilirsiniz.
Koçanı için yakі zrobimo'nun verdiği tüm detayları tartışacağız. Neye ihtiyacımız var? Koristuvach kaydetme, koristuvach'ı yetkilendirme, bir koristuvach'ı yetkilendirmeden sonra nereye yönlendirme gibi bir komut dosyasına ihtiyacımız var. Bu nedenle, yetkisiz coristuvachiv erişiminden korunacağı için bir kenar çubuğu oluşturmamız gerekecek. Kayıt ve yetkilendirme için oluşturmamız gerekecek HTML formları. Veri tabanından adli tabiplerin kaydı hakkında bilgi topluyoruz. Tse, DBMS'ye bağlanmak için hala bir komut dosyasına ihtiyacımız olduğu anlamına gelir. Kendimiz yazacağımız gibi mikonvatimemo fonksiyonlarının çalışmalarını kullanıyoruz. Fonksiyonlar Ocremy dosyasını kaydediyoruz.
Otzhe, aşağıdaki dosyalara ihtiyacımız var:
DBMS'den çağrı;
koristuvach'ın işlevleri;
yetki;
kayıt;
yan çalıntı;
koristuvach'ın çalışmalarını tamamlamak için senaryo;
bir koristuvach'ın yetkilendirme durumunu değiştiren bir komut dosyası;
en basit kenar tasarımı için stil sayfası.
Veritabanında ilgili tablonuz olmadığı için her şey aptalca olacaktır. DBMS'nizi yönetmek için aracı çalıştırın (PhpMyAdmin veya Komut satırı, yak zruchnіshe) yeni bir saldırgan soruda vykonayte:
Dosyalarımızı şu şekilde betiklerle isimlendireceğim (tüm kokular aynı dizinde olacak):
veritabanı.php
işlevler.php
login.php
kayıt.php;
index.php;
çıkış.php;
checkAuth.php;
stil.css
Deri atama onlardan, şarkı söyle, anlarsın. DBMS'den betiği kontrol edelim. Çiş yoga zaten bachili. Sadece bu betiğin kodunu database.php dosyasına kaydedin. Functions.php dosyasındaki fonksiyonları deşifre edeceğiz. Her şey nasıl pracyuvatime? Yetkisiz coristuvach şifreli index.php belgesine erişmeye çalışır, sistem coristuvach yetkilerini kontrol eder, sanki coristuvach yetki vermiyor, şarap yetkilendirme tarafına yönlendirilir. Yetkilendirme tarafında, yetkilendirme formunu gönderebilirsiniz. Haydi zrobimo її.
koristuvachiv'in yetkilendirilmesi
Kayıt ol.
Şimdi formumuza bir göz atmak gerekiyor. Aynı zamanda, diğer unsurların kuralları önemlidir. Ben, öne atlayarak, üstteki stil tablolarını getireceğim.
Her şey doğru ayarlandığından, tarayıcınız aşağıdakilere sahip olabilir:
Açıkçası, hala kayıtlı bir koristuvach'ımız yok ve yetkilendirilmek için kayıt olmak gerekiyor. Kayıt formunu dolduralım.
Muhabirlerin kaydı
Sen, şarkı söyleyen, HTML kodunda PHP değişikliği olanlara saygılarını yönelttin. Koku, formların metin alanlarının öznitelikleri yerine, konteynerler yerine afları göstermek için işaretlerdir. Alemy değişiklikleri başlatmadı. Hadi ezelim.
// Инициализируем переменные для введенных значений и возможных ошибок
$errors = array();
$fields = array();
?>
Muhabirlerin kaydı
Form etiketinin action özelliğinde parametre belirtilmedi. Bu durumda, bu formları bastırırken, kokunun düzeltildiği aynı senaryoda koku obroblyatsya olacaktır. Yani bu formları işleyecek bir kod yazmamız gerekiyor. Ale, їhnoyї işlemenin algoritmasıyla başlayalım.
Kullanıcı adı ve şifre alanlarının boş olmadığından emin olmamız gerekiyor. Ardından, mümkün olana kadar girişin geçerliliğini kontrol etmemiz gerekir. Parola, parolanın yeniden girilmesinden de sorumludur ve parolanın yeniden girilmesi bundan sorumludur ve dahası, koku aynı olabilir. Sanki bu akıllardan dayak yemiyorlarmış gibi, bu formların işlenmesi suçlu ama ekli, dizide, af hakkında hatırlamak itirafta yazılabilir ve Koristuvachev durumunda yapılabilir. Koristuvach'ın rahatlığı için, giriş bilgilerinin girişini (ve giriş bilgilerini girmenin yanı sıra) $fields dizisine değerini yazarak kaydediyoruz.
Her şey yolunda, tarayıcınızda kayıt.php belgesine geri döndüğünüzde şöyle bir şey görebilirsiniz:
Şimdi diyelim ki bir koristuvach form alanlarını doldurmadan kayıt ol butonuna tıkladı. Algoritmamıza bağlı olarak, giriş ve şifre boş olamaz. Akıl muzaffer olmadığı için kayıt mümkün değildir. Bu formların işlenmesinin bir akış senaryosunda gerçekleştirildiğini hatırlıyoruz. Bu, ek revizyonlar ekleyerek bu kodu değiştirmemiz gerektiği anlamına gelir. Hemen değiş tokuş yapalım ve yeniden doğrulayalım. Kullanıcı adınızı ve şifrenizi girdikten sonra, atanan kimlik bilgilerinin geçerliliğini kontrol etmeniz gerekir. Kullanıcı adı ve şifreyi yeniden doğrulamak için, function.php dosyasında coristuvacha'nın işlevini oluşturuyoruz.
/** * function.php * Koristuvach işlevli dosya */ // Dosyayı DBMS bağlantı parametreleriyle bağla require_once("database.php"); // Koristuvach fonksiyonunun adını yeniden kontrol ediyoruz checkLogin($str) ( // Pardon hakkında bir şey hatırlayabiliyorsak başlangıçta değiştirin $error = ""; // Login ile ilgili satır yokmuş gibi, af hakkında dönebiliriz if(!$str) ( $error = " "coristuvacha" adını girmediniz; return $error; ) /** * Ek normal ifadeler için yeniden kontrol edeceğiz ve "_", "- karakterlerini kullanacağız. ", "." */ $pattern = "/^[- _.az\d](4,16)$/i"; $result = preg_match($pattern, $str) ; // Yeniden doğrulama yapılmadığından geçelim, affa dönelim if(!$result) ( $error = " Koristuvach adında geçersiz karakterler veya koristuvach'ın adı çok kısa (uzun)"; return $error; ) // Her şey yolunda , değeri true döndürmek true; ) // Koristuvach işlevinin parolası yeniden kontrol ediliyor checkPassword($str) ( // Olası bir af uyarısı varsa başlatma değişikliği $error = ""; // Hala aynı gün giriş satırında af uyarısını açabiliyoruz if(!$str) ( $error = "Parola girmediniz"; return $error; ) /** * Şifreyi doğrula ek normal virüsler için koristuvach * Şifre suçludur ancak 6 karaktere kadar kısa değildir, 16 karaktere kadar değildir * Bazı durumlarda, Latin alfabesinin karakterleri, sayılar, * diğerlerinde, "_", "!" karakterleri olabilir, " (", ") " */ $desen = "/^[_!)(.az\d](6,16)$/i"; $sonuç = preg_match($desen, $str); // Doğrulamanın başarısız olduğunu varsayarak, affa dönelim if(!$result) ( $error = "Parolanın parolasında geçersiz karakterler veya parola çok kısa (uzun)"; return $error; ) / / Her şey yolunda, doğru dönüşü doğruya çevir; )
Şimdi duyurduğumuz işlevleri etkinleştirmek için kayıt.php dosyasını düzenlemeniz gerekiyor. Senaryodan önce, kayıt düğmesinin saldırısını saptırıyormuşum gibi fikrimi ekleyeceğim. Aklın ortasında, giriş ve şifrelerin yeniden doğrulanması başlatılır. Geriye dönüp baktığımızda, yeniden doğrulamadan başarısızlıkla sonuçlanıyormuş gibi, formu yeniliyoruz ve af hakkında bir hatırlatma gösteriyoruz. Daha fazla af yok, ancak kayıt ediyoruz, kayıt formu artık görünmüyor, kaydın başarısını size hatırlatıyoruz ve ek header() işlevi için yetkilendirme formuna yönlendiriliyor.
/**
* registration.php
* Страница регистрации пользователей. Предполагается, что в вашей
* базе данных присутствует таблица пользователей users, в которой
* есть поля id, login, password, reg_date
*/
// Подключаем файл с пользовательскими функциями
require_once("functions.php");
// Инициализируем переменные для введенных значений и возможных ошибок
$errors = array();
$fields = array();
// Заранее инициализируем переменную регистрации, присваивая ей ложное значение
$reg = false;
// Если была нажата кнопка регистрации
if(isset($_POST["submit"])) {
// Делаем массив сообщений об ошибках пустым
$errors["login"] = $errors["password"] = $errors["password_again"] = "";
// С помощью стандартной функции trim() удалим лишние пробелы
// из введенных пользователем данных
$fields["login"] = trim($_POST["login"]);
$password = trim($_POST["password"]);
$password_again = trim($_POST["password_again"]);
// Если логин не пройдет проверку, будет сообщение об ошибке
$errors["login"] = checkLogin($fields["login"]) === true ? "" : checkLogin($fields["login"]);
// Если пароль не пройдет проверку, будет сообщение об ошибке
$errors["password"] = checkPassword($password) === true ? "" : checkPassword($password);
// Если пароль введен верно, но пароли не идентичны, будет сообщение об ошибке
$errors["password_again"] = (checkPassword($password) === true && $password === $password_again) ? "" : "Введенные пароли не совпадают";
// Если ошибок нет, нам нужно добавить информацию о пользователе в БД
if($errors["login"] == "" && $errors["password"] == "" && $errors["password_again"] == "") {
// Вызываем функцию регистрации, её результат записываем в переменную
$reg = registration($fields["login"], $password);
// Если регистрация прошла успешно, сообщаем об этом пользователю
// И создаем заголовок страницы, который выполнит переадресацию к форме авторизации
if($reg === true) {
$message = "
Sisteme başarıyla kayıt oldunuz. Bir kerede yetkilendirme tarafına yönlendirileceksiniz. Sanki hiçbir şey olmamış gibi, doğrudan bir istek için ona gidin.
"); // DBMS'ye bağlanmayı unutmayın mysql_close(); // Sunucunun başarılı bir şekilde kaydedildiğini bildirmek için değeri true döndürün true; )
Her şey yolundaysa, koristuvach'ınız kaydedilecektir. Formu test edebilirsiniz. Corystuvac'ları aynı oturum açma bilgileriyle kaydetmeye çalışın. Başarılı bir kayıttan sonra, yetkilendirme formuna yönlendirileceksiniz. Daha önce, şeklin iyileştirilmesi için bir düzen oluşturduk. Action özniteliğinde gerekli parametre belirtilmezse, form tarafından gönderilen veriler bu senaryoda işlenecektir. Bu yüzden işleme için kodu yazmamız ve login.php belgesine eklememiz gerekiyor.
/**
* Страница авторизации пользователей. Предполагается,
* что в вашей базе данных присутствует таблица users,
* в которой существуют поля id, login и password
*/
// Подлючаем файл с пользовательскими функциями
require_once("functions.php");
// Заранее инициализируем переменную авторизации, присвоив ей ложное значение
$auth = false;
// Если была нажата кнопка авторизации
if(isset($_POST["submit"])) {
// Делаем массив сообщений об ошибках пустым
$errors["login"] = $errors["password"] = $errors["password_again"] = "";
// С помощью стандартной функции trim() удалим лишние пробелы
// из введенных пользователем данных
$login = trim($_POST["login"]);
$password = trim($_POST["password"]);
// Авторизуем пользователя
// Вызываем функцию регистрации, её результат записываем в переменную
$auth = authorization($login, $password);
// Если авторизация прошла успешно, сообщаем об этом пользователю
// И создаем заголовок страницы, который выполнит переадресацию на защищенную
// от общего доступа страницу
if($auth === true) {
$message = "";
header("Refresh: 5; URL = /");
}
// Иначе сообщаем пользователю об ошибке
else {
$errors["full_error"] = $auth;
}
}
?>
koristuvachiv'in yetkilendirilmesi
// Если запущен процесс авторизации, но она не была успешной,
// или же авторизация еще не запущена, отображаем форму авторизации
if($auth !== true) {
?>
;">
// Выводим сообщение об ошибке, если оно есть
echo $errors["full_error"] ? $errors["full_error"] : "";
?>
Sisteme kayıtlı değilseniz lütfen kayıt olunuz.
} // Закрывающая фигурная скобка условного оператора проверки успешной авторизации
// Иначе выводим сообщение об успешной авторизации
else {
print $message;
}
/**
* Если всё правильно, будет выведено сообщение об успешной авторизации,
* пользователь будет переадресован на защищенную страницу
*/
?>
Belki de yetkilendirme komut dosyasının bilinmeyen bir işlevi daha olduğundan bahsettiniz - yetkilendirme (). Bu işlev, koristuvach'ı yetkilendirmekten sorumludur, bu tür bir giriş ve şifre ile koristuvach kayıt veritabanında ne olduğunu daha önce kontrol etmiştir. Böyle bir kötü adam bulunamazsa, yetkilendirme kesintiye uğrayacak, ekranda arıza ile ilgili bir bildirim görüntülenecektir. Başarılı bir yeniden doğrulamadan sonra, yetkilendirme () işlevi oturumu başlatır ve içine koristuvach'ın oturum açma bilgilerini ve şifresini yazar, komut dosyasını yetkilendirmenin başarısı hakkında geri çağırır ve komut dosyası koristuvach'ı korunan tarafa yönlendirir. kaynağın.
/** * Corystuvach yetkilendirme işlevi. * Koristuvachiv'in yetkilendirilmesi PHP oturumu ile ilgili yardım için zdіysnyuvatisya * olacağız. */ function Authority($login, $password) ( // Değişikliği olası af uyarılarıyla başlat $error = ""; // Hâlâ oturum açma satırı yok, pardon uyarısını çevir if(!$login) ( $error = " Oturum açma belirtilmedi"; return $hata; ) elseif(!$password) ( $error = "Parola belirtilmedi"; return $hata; ) // Zaten oturum açılmadığını doğrulayın // DBMS'ye bağlanılıyor connect(); // Tekrar gözden geçirmemiz gerekiyor, bu kadar kısa bir kayıt listesi nedir? password ."""; // $query = mysql_query($sql) veya die(" diye sorabiliriz.
Viconati'nin ". mysql_error()." diye sorması imkansız. Pardon arka arkaya durdu " . __LINE__ . "
"); // Bu tür haraçları kontrol etmenin bir yolu yok, af hakkında geri dönelim if(mysql_num_rows($query) == 0) ( $error = "Atanan kayıt olmadığı için ödeme"; return $error; ) // Pardon'u kontrol et , session_start(); $_SESSION["password"] = $password; / mysql_close() veritabanı ile oturumu kapatmayı unutmayın; // Sunucunun başarılı bir şekilde yetkilendirildiğini bildirmek için true değerini döndürün true;
Koristuvach çalıntı bir sayfaya takılırsa, yetkilendirmenizle ilgili verilerin doğruluğunu tersine çevirin. Kimler için koristuvach'ın bir işlevine daha ihtiyacımız var. Buna checkAuth() diyelim. Veritabanımızda kayıtlı olanlar için bu yetkileri kontrol edeceğiz. Veri görünmezse, coristuvach yetkilendirme tarafına yönlendirilecektir.
function checkAuth($login, $password) ( // Kullanıcı adı veya şifre olmadığı için false olarak çevrilebilir if(!$login || !$password) false döndürür; // Böyle bir stenografinin kayıtlarını kontrol ederiz // DBMS connect(); // Satır ekleme $sql = "SELECT `id` FROM `users` WHERE `login`="".$login."" AND `password`="".$password."" "; // $ sorgu = mysql_query($sql) veya die(" diye sorabiliriz
Viconati'nin ". mysql_error()." diye sorması imkansız. Pardon arka arkaya durdu " . __LINE__ . "
"); // Bu tür verilerle veriyi kapatmanın bir yolu yoksa yanlışa çevrilebilir; if(mysql_num_rows($query) == 0) ( false döndür; ) // Verileri ile kapatmayı unutmayın veritabanı mysql_close(); // Aksi takdirde, true döndürülebilir; )
Şimdi, eğer koristuvach çalınan tarafa gittiyse, bu yetkileri yeniden kontrol etme işlevinden sorumluyuz. Wiki'nin betiğini ve yeniden doğrulamayı checkAuth.php dosyasına koyacağız ve genel erişime kapatılacağı için diğer tarafa ekleyeceğiz.
/** * Kök hesabın yetkilendirmesinin yeniden doğrulanması için komut dosyası */ // Yetkili muhabirin oturum açma ve parolasını alacağımız oturumu başlatmak // session_start(); // koristuvach require_once("functions.php"); /** * Hangi yetkilendirmelerin doğru olduğunu belirleyebilmek için, oturum açma bilgileriniz için * hangi veritabanı kayıtlarını * ve şifrenizi kontrol etmemiz gerekiyor. Muhabirin işleyişini hızlandırmak amacıyla * yetkili muhabirin verilerinin doğruluğunu kontrol edin. * Bu fonksiyon false yapılırsa yetkilendirme yoktur. * Yetkilendirmenin geçerliliği için koristuvach'ı yetkilendirme tarafına yönlendirmemiz yeterlidir. */ // Oturumda oturum açma ve parola hakkında veriler olduğu sürece, // bunları kontrol edin if(isset($_SESSION["login"]) && $_SESSION["login"] && isset($ _SESSION["password" ]) && $_SESSION["password"]) ( // Sonuç olarak, temel verilerin doğrulanması başarısız if(!checkAuth($_SESSION["login"], $_SESSION["password"]) ) ( // Girişin giriş sayfasına yönlendirilmesi başlık ("konum: login.php"); // Çıkış scriptinin çıkışa atanması; ) ) // Bu giriş ile ilgili olsa da, aksi halde herhangi bir bilgi yoktur. şifre, // Yetki olmadığını lütfen unutmayın, yetkilendirme tarafına // yeniden yönlendirilir, else ( header("location: login.php"); // script çıkışına atanır;
Ve şimdi çalınan tarafımızın kodunu oluşturalım. Şarap affedilecek.
/**
* Защищенная страница. К ней возможен доступ только авторизованным
* пользователям. Если пользователь не авторизован, ему предлагается
* авторизоваться, и доступ к сайту ограничивается.
*/
require_once("checkAuth.php");
?>
Muhabirlerin yetkilendirilmesi ve kaydı
Başarılı yetkilendirme.
Çalınan tarafa erişimi engellediniz. Sistemden çıkış yapabilirsiniz.
Bildiğiniz gibi, şifrelenmiş belgenin yalnızca bir dosyası vardır - checkAuth.php. Diğer dosyalar zaten başka senaryolara dahil edilmiştir. Bu nedenle kodumuz hantal görünmüyor. Muhabirlerin kayıt ve yetkilendirme işlemlerini organize ettik. Şimdi coristuvachas'ın sistemden ayrılmasına izin vermek gerekiyor. logout.php dosyasında kimin için bir komut dosyası oluşturuyoruz.
/** * Sistemden coristuvach'tan çıkmak için komut dosyası. Anahtar hesap sahipleri oturumlar aracılığıyla yetkilendirilir, oturum açma bilgileri ve parolaları $_SESSION süper küresel dizisinde saklanır. Sistemden * çıkış yapmak için, $_SESSION["login"] ve $_SESSION["password"] dizisine * değerini eklemeniz yeterlidir, ardından tekrar giriş sayfasına yönlendiriliriz */ // Oturumu başlatırız oturum_başlangıç(); unset($_SESSION["giriş"]); unset($_SESSION["şifre"]); header("konum: login.php");
Belgelerin kaydı, yetkilendirilmesi ve yeniden doğrulanması için komut dosyası hazır. Yogayı yerinizde bükebilir, tamamlayabilir, ihtiyaçlarınıza göre değiştirebilirsiniz. Yemekleriniz varsa, yorumlara koyabilirsiniz. Burada bahsedilen tüm dosyaları tek bir arşivde paketlenmiş olarak yakalayabilirsiniz.
not Nesneye yönelik kod yazmanın daha iyi olduğunun farkındayım, taranan kişiden şifreyi aktarmanın ve kaydetmenin gerekmediğini, veri tabanına girilen bilgilerin önceden tersine çevrilmesi gerektiğini biliyorum. Biliyorum. Ben buradan bahsetmiyorum.
Taraf değiştirmeden dinamik geçiş imkanı ile giriş ve kayıt için formların işlevlerine duyarlı. Yeni bir hesap göründüğünde, bir hesaptan diğerine kolayca geçiş yapabilir ve gerekirse şifrenizi değiştirme seçeneğini belirleyebilirsiniz. Bugün, küçük ama işlevsel bir jQuery eklentisinin ve yeni CSS3 standartlarının ek bağlantısı için her şeyin nasıl uygulanabileceğini görebiliriz.
Bu yöntem doğru olacaktır, eğer böyle bir şekilde çalışmak istiyorsanız giriş ve kayıt formu sitenizin dış yüzünde muhabirler için mevcut olacaktır. Siteye girdiğinizde veya muhabir olarak kayıt olduğunuzda, başka bir tarafa yönlendirilmezsiniz ve gerekli olan tüm şeyleri “gelmemesi durumunda” görebilirsiniz, her şey bir tarafta.
CSS3 yardımıyla birleştirilebilen modern görünümlü formların tasarımı, eklentinin ana fikri harika değil, modal görünümün görünümü ve hissi pratik olarak hıçkırıksız. Stovidsotkovo uyarlanabilir düzeni, formlarla kalıcı pencerenin yüksekliği ve genişliği, uzantıların ekranlarını yeniden boyutlandırmak için otomatik olarak sığacak şekilde ayarlanır.
Butt hayretler içinde, şimdi modal pencerenin ve formların tüm ana bileşenlerinin detaylarına bir göz atalım, onları sitenizde nasıl yeneceğinizi öğrenelim. Popüler JavaScript kitaplığından, jQuey eklentisinden ve oluşturulan CSS stillerinden esinlenerek pencereyi girmek ve kaydolmak için formlarla birleştirme işi. Tüm bu araçların sitenize bağlı olması gerekir. jQuey kitaplığının kalan sürümü doğrudan Google'dan, main.js eklenti dosyasının kendisinden ve arşivde bulacağınız hazır style.css stilleri kümesinden bağlanabilir. Javascript kapanan etiketin önüne yazılır
, CSS stilleri kopyalanabilir ve sitenizin stylesheet.css dosyasına eklenebilir.
HTML Yapısı:
Karartılmış bir arka plan üzerinde modal vicon'ların taban kabı ve kontrol öğelerine sahip yerleşik bir form, yan başlığına yerleştirilir. Daha iyi bir anlayış için, sektörleri ayırıp yorum ekleyerek. Formların tasarımını herhangi bir zorluk yaşamadan sitenizin tasarımına uyacak şekilde değiştirebilmeniz için sınıf adları aracılığıyla CSS'ye bağlanan tüm tasarım öğeleri.
<
div class
=
"cd-user-modal"
>
<
div class
=
"cd-user-modal-container"
>
<
ul class
=
"cd-switcher"
>
<
li><
a href=
"#0"
>Giriş
a>
li>
<
li><
a href=
"#0"
>kayıt
a>
li>
ul>
<
div id=
"cd-login"
>
<
form class
=
"cd-form"
>
<
p class
=
"fieldset"
>
<
label class
=
"image-replace cd-email"
for
=
"signin-email"
>E-posta
label>
<
input class
=
id=
"signin-email"
type=
"email"
placeholder=
"E-posta"
>
<
span class
=
"cd-error-message"
>İşte af hakkında bir hatırlatma!
span>
p>
<
p class
=
"fieldset"
>
<
label class
=
"image-replace cd-password"
for
=
"signin-password"
>Şifre
label>
<
input class
=
"tam genişlikte dolgunun sınırı vardır" id= "signin-password" type= "metin" placeholder= "(!LANG:(!LANG:Parola)"
>
!}!}<
a href=
"#0"
class
=
"hide-password"
>özel
a>
<
span class
=
"cd-error-message"
>İşte af hakkında bir hatırlatma!
span>
p>
<
p class
=
"fieldset"
>
<
input type=
"checkbox"
id=
"remember-me"
checked>
<
label for
=
"remember-me"
>Beni Hatırla
label>
p>
<
p class
=
"fieldset"
>
<
input class
=
"full-width"
type=
"submit"
value=
"Çıkmak"
>
p>
form>
<
p class
=
"cd-form-bottom-message"
><
a href=
"#0"
>Parolanızı mı unuttunuz?
a>
p>
div>
<
div id=
"cd-signup"
>
<
form class
=
"cd-form"
>
<
p class
=
"fieldset"
>
<
label class
=
"image-replace cd-username"
for
=
"signup-username"
>Im'ya Koristuvacha
label>
<
input class
=
"tam genişlikte dolgunun sınırı vardır" id="signup-username" type="text" yer tutucu= "Im'ya Koristuvacha">
<
span class
=
"cd-error-message"
>İşte af hakkında bir hatırlatma!
span>
p>
<
p class
=
"fieldset"
>
<
label class
=
"image-replace cd-email"
for
=
"signup-email"
>E-posta
label>
<
input class
=
"tam genişlikte dolgunun sınırı vardır" id= "kayıt-e-postası" type= "email" placeholder= "(!LANG:(!LANG:E-posta)"
>
!}!}<
span class
=
"cd-error-message"
>İşte af hakkında bir hatırlatma!
span>
p>
<
p class
=
"fieldset"
>
<
label class
=
"image-replace cd-password"
for
=
"signup-password"
>Şifre
label>
<
input class
=
"tam genişlikte dolgunun sınırı vardır" id= "kayıt-parolası" type= "metin" yer tutucu= "(!LANG:(!LANG:Parola)"
>
!}!}<
a href=
"#0"
class
=
"hide-password"
>özel
a>
<
span class
=
"cd-error-message"
>İşte af hakkında bir hatırlatma!
span>
p>
<
p class
=
"fieldset"
>
<
input type=
"checkbox"
id=
"accept-terms"
>
<
label for
=
"accept-terms"
>için uygunum<
a href=
"#0"
>zihinler
a>
label>
p>
<
p class
=
"fieldset"
>
<
input class
=
"full-width has-padding"
type=
"submit"
value=
"Hesap oluştur">
p>
form>
div>
<
div id=
"cd-reset-password"
>
<
p class
=
"cd-form-message"
>Parolanızı mı unuttunuz? Nazik olun, e-posta adresini girin. Yeni şifre oluşturma talebinizi iptal etmeniz gerekmektedir.
p>
<
form class
=
"cd-form"
>
<
p class
=
"fieldset"
>
<
label class
=
"image-replace cd-email"
for
=
"reset-email"
>E-posta
label>
<
input class
=
"tam genişlikte dolgunun sınırı vardır" id= "reset-email" type= "email" placeholder= "(!LANG:(!LANG:E-posta)"
>
!}!}<
span class
=
"cd-error-message"
>İşte af hakkında bir hatırlatma!
span>
p>
<
p class
=
"fieldset"
>
<
input class
=
"full-width has-padding"
type=
"submit"
value=
"Şifreyi yenile">
p>
form>
<
p class
=
"cd-form-bottom-message"
><
a href=
"#0"
>girişe dön
a>
p>
div>
<
a href=
"#0"
class
=
"cd-close-form"
>kapat
a>
div>
div>
Giriş
kayıt
Parolanızı mı unuttunuz?
Parolanızı mı unuttunuz? Nazik olun, e-posta adresini girin. Yeni şifre oluşturma talebinizi iptal etmeniz gerekmektedir.
girişe dön
kapat
CSS Stilleri:
Bu form kontrol öğesinin temel şablonu, minimalizme açıkça vurgu yapan popüler, düz stilin (Düz) yazarıdır. Hiçbir şey zayvogo, dünyanın vizyonu karanlık, renklendirme için ışık, yazı tipinin ve simgelerin iyi seçilmesi, girişin sulanmasının tanımlanması için. CSS'nin gücü sayesinde herhangi bir form öğesini kolayca değiştirebilirsiniz.
.cd-user-modal (konum: sabit; üst: 0; sol: 0; genişlik: %100; yükseklik: %100; arka plan: rgba (52, 54, 66, 0.9); z-endeksi: 3; y: otomatik ; imleç : işaretçi ; görünürlük : gizli ; opaklık : 0 ; s 0 , görünürlük 0 0.3s ; ) 0 , görünürlük 0 0 ; -moz-geçiş: opaklık 0.3s 0 , görünürlük 0 0 ; geçiş : opaklık 0.3s 0 , görünürlük 0 0 ; ) .cd-user-modal . transform: translateY(0) ; -ms-dönüşümü: translateY(0) ; -o-dönüşüm: çevirY(0 ) ; transform : translateY(0 ) ; %90; dth: 600 piksel; arka plan: #FFF; kenar boşluğu: 3em otomatik 4em; imleç: otomatik; sınır yarıçapı: 0.25em -webkit-dönüşüm: çevirY(-30 piksel); -moz-dönüşüm: çevirY(-30 piksel); -ms-dönüşüm: çevirY(-30 piksel); -o-dönüşüm: çevirY(-30 piksel); dönüştür : çevirY(-30 piksel ); -webkit-geçiş-özelliği: -webkit-dönüşüm; -moz-geçiş-özelliği: -moz-dönüşüm; geçiş özelliği : dönüşüm; -webkit-geçiş-süresi: 0.3s; -moz-geçiş-süresi: 0,3 sn; geçiş süresi : 0.3s; ) .cd-user-modal-container .cd-switcher : after ( content : "" ; display : table ; clear : Both ; ) .cd-user-modal-container .cd-switcher li ( genişlik : %50 ; kayan nokta : sol ; metin hizalama : merkez ; ) .cd-user-modal-container .cd-switcher li: first-child a (sınır yarıçapı: .25em 0 0 0 ; ) -switcher li: last-child a ( border -yarıçap : 0 .25em 0 0 ; ) .cd-user-modal-container .cd-switcher a (ekran : blok ; genişlik : %100 ; yükseklik : 50 piksel ; satır yüksekliği : 50 piksel ;arka plan : #d2d8d8 ; renk : #809191 ; ) .cd-user-modal-container .cd-switcher a.selected ( background : #FFF ; color : #505260 ; ) : 600px ) ( .cd-user-modal-container ( kenar boşluğu : 4em auto ; ) .cd-user-modal-container .cd-switcher a ( height : 70px ; line-height : 70px ; ) ) .cd-form ( padding: 1. 4em; ) .cd-form .fieldset ( konum : göreli ; kenar boşluğu : 1.4em 0 ; ) .cd-form .fieldset : first-child ( margin-top : 0 ; ) .cd-form .fieldset : last-child ( margin-bottom : 0 ; ) .cd-form etiketi ( font- boyut : 14 piksel ; yazı tipi boyutu : 0.875r em; ) .cd-form label.image-replace( /* metni simgeyle değiştir */ ekran: satır içi blok konum: mutlak; sol: 15 piksel; üst: %50; alt: otomatik; -webkit-dönüşüm: çevirY(-50%); -moz-dönüşüm: çevirY(-50%); -ms-dönüşüm: çevirY(-50%); -o-dönüştürme: çevirY(-50%); transform : translateY(-50%); yükseklik: 20 piksel; genişlik: 20 piksel taşma:
gizlenmiş;
metin girintisi:
100%
;
Beyaz boşluk:
şimdi rap;
renk:
şeffaf;
Metin gölgesi:
Yok;
arka plan-tekrar:
tekrarsız;
arka plan konumu:
50%
0
;
}
/* Giriş alanı simgeleri */.cd formu etiket .cd-kullanıcı adı{
arka plan görüntüsü:
url("../img/cd-icon-kullanıcıadı.svg")
;
}
.cd formu etiket .cd e-postası{
arka plan görüntüsü:
url("../img/cd-icon-email.svg")
;
}
.cd formu etiket .cd-şifre{
arka plan görüntüsü:
url("../img/cd-icon-password.svg")
;
}
.cd formu giriş {
marj:
0
;
dolgu malzemesi:
0
;
sınır yarıçapı:
0.25em;
}
.cd formu giriş .Tam genişlik{
Genişlik:
100%
;
}
.cd formu giriş .dolgu vardır{
dolgu malzemesi:
12 piksel20 piksel12 piksel50 piksel;
}
.cd formu giriş .sınırlıdır{
sınır:
1 pikselsağlam#d2d8d8;
-webkit-görünüm :
Yok;
-moz-görünüm :
Yok;
-ms-görünüm :
Yok;
-o-görünüm :
Yok;
görünüm :
Yok;
}
.cd formu giriş .sınırlıdır:
odak{
sınır rengi:
#343642
;
kutu gölgesi:
0
0
5 pikselrgba(52
,
54
,
66
,
0.1
)
;
anahat:
Yok;
}
.cd formu giriş .has-hatası{
sınır:
1 pikselsağlam#d76666;
}
.cd formu giriş [
tip =
parola ]
{
/* gizleme butonu için boşluk */sağ dolgu:
65 piksel;
}
.cd formu giriş [
tip =
Sunmak ]
{
dolgu malzemesi:
16 piksel0
;
imleç:
Işaretçi;
arka fon:
#2f889a;
renk:
#FFF;
yazı tipi ağırlığı:
gözü pek;
sınır:
Yok;
-webkit-görünüm :
Yok;
-moz-görünüm :
Yok;
-ms-görünüm :
Yok;
-o-görünüm :
Yok;
görünüm :
Yok;
}
.dokunmak yok.cd formu giriş [
tip =
Sunmak ]
:
üzerine gelmek,
.dokunmak yok.cd formu giriş [
tip =
Sunmak ]
:
odak{
arka fon:
#3599ae;
anahat:
Yok;
}
.cd formu.şifreyi gizle{
Görüntüle:
satır içi blok;
konum:
mutlak;
Sağ:
0
;
üst:
0
;
dolgu malzemesi:
6 piksel15 piksel;
sınır-sol:
1 pikselsağlam#d2d8d8;
üst:
50%
;
alt kısım:
Oto;
-webkit-dönüşüm :
çevirY (-50%
)
;
-moz-dönüşüm :
çevirY (-50%
)
;
-ms-dönüşüm :
çevirY (-50%
)
;
-o-dönüşüm :
çevirY (-50%
)
;
dönüştürmek:
çevirY (-50%
)
;
yazı Boyutu:
14 piksel;
yazı Boyutu:
0.875 rem;
renk:
#343642
;
}
.cd formu.cd-hata-mesajı{
Görüntüle:
satır içi blok;
konum:
mutlak;
sol:
-5 piksel;
alt kısım:
-35 piksel;
arka fon:
rgba(215
,
102
,
102
,
0.9
)
;
dolgu malzemesi:
.8em;
z-endeksi:
2
;
renk:
#FFF;
yazı Boyutu:
13 piksel;
yazı Boyutu:
0.8125 rem;
sınır yarıçapı:
0.25em;
/* Tıklamaları ve noktaları bırak */işaretçi olayları:
Yok;
görünürlük:
gizlenmiş;
opaklık:
0
;
-webkit-geçiş :
opaklık 0.2s0
,
görünürlük 0
0.2s;
-moz-geçiş :
opaklık 0.2s0
,
görünürlük 0
0.2s;
geçiş:
opaklık 0.2s0
,
görünürlük 0
0.2s;
}
.cd formu.cd-hata-mesajı::
sonrasında{
/* af hakkında küçük bir not */içerik:
""
;
konum:
mutlak;
sol:
22 piksel;
alt kısım:
100%
;
yükseklik:
0
;
Genişlik:
0
;
sınır-sol:
8 pikselsağlamşeffaf;
sınır-sağ:
8 pikselsağlamşeffaf;
sınır-alt:
8 pikselsağlamrgba(215
,
102
,
102
,
0.9
)
;
}
.cd formu.cd-hata-mesajı.görünür{
opaklık:
1
;
görünürlük:
görünür;
-webkit-geçiş :
opaklık 0.2s0
,
görünürlük 0
0
;
-moz-geçiş :
opaklık 0.2s0
,
görünürlük 0
0
;
geçiş:
opaklık 0.2s0
,
görünürlük 0
0
;
}
@medya sadece ekran ve (minimum genişlik:
600 piksel)
{
.cd formu{
dolgu malzemesi:
2em;
}
.cd formu.fieldset{
marj:
2em0
;
}
.cd formu.fieldset:
ilk çocuk{
kenar boşluğu:
0
;
}
.cd formu.fieldset:
son çocuk{
kenar boşluğu-alt:
0
;
}
.cd formu giriş .dolgu vardır{
dolgu malzemesi:
16 piksel20 piksel16 piksel50 piksel;
}
.cd formu giriş [
tip =
Sunmak ]
{
dolgu malzemesi:
16 piksel0
;
}
}
.cd-form-mesajı{
dolgu malzemesi:
1.4em1.4em0
;
yazı Boyutu:
14 piksel;
yazı Boyutu:
0.875 rem;
satır yüksekliği:
1.4
;
Metin hizalama:
merkez;
}
@medya sadece ekran ve (minimum genişlik:
600 piksel)
{
.cd-form-mesajı{
dolgu malzemesi:
2em2em0
;
}
}
.cd-form-alt-mesaj{
konum:
mutlak;
Genişlik:
100%
;
sol:
0
;
alt kısım:
-30 piksel;
Metin hizalama:
merkez;
yazı Boyutu:
14 piksel;
yazı Boyutu:
0.875 rem;
}
.cd-form-alt-mesaj a {
renk:
#FFF;
metin-dekorasyon:
altını çizmek;
}
.cd-yakın-form{
/* sağ üstteki stil X düğmesi */Görüntüle:
engellemek;
konum:
mutlak;
Genişlik:
40 piksel;
yükseklik:
40 piksel;
Sağ:
0
;
üst:
-40 piksel;
arka fon:
url("../img/cd-icon-close.svg")
tekrarsızmerkezmerkez;
metin girintisi:
100%
;
Beyaz boşluk:
şimdi rap;
taşma:
gizlenmiş;
}
@medya sadece ekran ve (minimum genişlik:
1170 piksel)
{
.cd-yakın-form{
Görüntüle:
Yok;
}
}
#cd giriş,
#cd kaydı,
#cd-sıfırlama-şifre{
Görüntüle:
Yok;
}
#cd giriş.seçildi,
#cd kaydı.seçildi,
#cd-sıfırlama-şifre.seçildi{
Görüntüle:
engellemek;
}
Geçişin etkisinde, modal pencerenin kapatıldığında yumuşak bir geçiş elde etmesi için bir solma eklendi.
Not. Tüm alanlar için yazı tipi boyutu 16 piksel olarak ayarlanmıştır. Tse zapobіgaє otomatik ölçeklendirme, yak vіdbuvaєtsya, mobil müştemilatlara bakmak için bir saat sürdü.
Yazarın, eklentinin burjuva versiyonu biliniyor. Orjinalini de oradan indirebilirsiniz. Rusça versiyonu, Yandex.Disk'imden alabilirsiniz, gerekli tüm dosyalar, hatta tek bir arşivde toplanmıştır, onlardan önce hayret etmeyi unutmayın, daha fazla uyarlama, robotik mucize jQuery eklentisinin yaşayan bir poposu:
saygılarımla
Sitede şık bir yetkilendirme formu oluşturduk, Volodymyr Kudinov tarafından oluşturulan Futurico UI Pro'dan öğrenebilirsiniz. Formu oluşturmak için CSS3 ve jQuery'yi hackleyeceğiz.
Krok 1 - HTML düzeni
HTML anahatlarının oluşturulmasından başlayalım. Birkaç girdi ile bir form oluşturalım (im'ya koristuvacha, şifre, onay kutusu ve "gönder" düğmesi) ensign, ensign'a stil vermek için kullanacağımız bir span etiketine saracağız. Formu ve başlığı DIV etiketi ile saralım ve "login-form" sınıfınıza atayalım.
>
Giriş Formu
>
>
>
Krok 2 - Zagalni stilleri
Arkada, tüm alanları, basamaklardan, yetersiz bir şekilde görebiliyorduk. elementlerden, yakі kazanacağız.
kenarlık-alt: 10 piksel katı #141517; sağ kenarlık: 10 piksel katı #141517; üst kenarlık: 10 piksel katı şeffaf; sol kenarlık: 10 piksel düz şeffaf; }
Form başlığı için Dodamo'ya özel stiller (renk, yazı tipi ve boyut, ince).
Giriş formu h1 ( satır yüksekliği : 40 piksel; yazı tipi ailesi: "Sayısız Pro", sans-serif; yazı tipi boyutu: 22 piksel; yazı tipi ağırlığı: normal renk: #e4e4e4; }
yazı tipi ailesi : Helvetica, sans-serif; yazı tipi boyutu: 12 piksel; yazı tipi ağırlığı: kalın; metin gölgesi : 0px 1px 1px rgba(255, 255, 255, .2);
webkit-border-radius: 26px; -moz-border-radius: 26px; sınır yarıçapı: 26 piksel;
webkit-geçiş: tüm .15'ler giriş-çıkış kolaylığı; -Moz geçişi: tüm .15'lerin giriş-çıkış kolaylığı; -o-geçiş: tüm .15'ler giriş-çıkış kolaylığı; geçiş: tüm .15s kolay giriş-çıkış; }
Ardından, giriş ve şifre alanlarına girmek için stilleri ayarlayacağız. Mi dodamo degrade gri arka plan ve gölge. Ayrıca metin için 170 piksele eşit sabit bir genişlik ekliyoruz.
Giriş formu girişi[ type= text ] , .login-form girişi[type=password] , .js .login-form aralığı( renk: #686868; genişlik: 170 piksel
arka plan: #989898; arka plan: -moz-doğrusal-gradyan(üst, #ffffff %0, #989898 %100); arka plan: -webkit-gradient(doğrusal, sol üst, sol alt, renk durdurma(0%, #ffffff), renk durdurma(100%, #989898)); arka plan: -webkit-linear-gradient(üst, #ffffff %0, #989898 %100); arka plan: -o-doğrusal-gradyan(üst, #ffffff %0, #989898 %100); arka plan: -ms-doğrusal-gradyan(üst, #ffffff %0, #989898 %100); arka plan: doğrusal gradyan(üst, #ffffff %0, #989898 %100); }
Fare imlecini q alanlarının üzerine getirdiğinizde gölgeleri değiştiririz.
Aktif hale gelmek için CSS3 gradyanını üç ışığa değiştirin
Giriş formu girişi[ type= text ] :focus , .login-form girişi[tür=şifre] :odak( arka plan: #e1e1e1; arka plan : -moz-doğrusal-gradyan(üst , #ffffff %0 , #e1e1e1 %100 ) ; arka plan: -webkit-gradient(doğrusal, sol üst, sol alt, renk durdurma(0%, #ffffff), renk durdurma(100%, #e1e1e1)); arka plan: -webkit-linear-gradient(üst, #ffffff %0, #e1e1e1 %100); arka plan : -o-doğrusal-gradyan(üst , #ffffff %0 , #e1e1e1 %100 ) ; arka plan: -ms-doğrusal-gradyan(üst, #ffffff %0, #e1e1e1 %100); arka plan: doğrusal gradyan(üst, #ffffff %0, #e1e1e1 %100); }
Giriş formu girişi[ tip= gönder] :aktif ( -webkit-box-shadow: yok; -moz-box-shadow: yok; kutu gölgesi: yok }
Düğme için yeşil bir degrade ekleyin.
Giriş formu girişi[ type=submit] , .js .login-form span.checked :önce ( arka plan: #a5cd4e; arka plan: -moz-linear-gradient(üst, #a5cd4e %0, #6b8f1a %100); arka plan : -webkit-gradient(doğrusal, sol üst, sol alt, renk durdurma(0% , #a5cd4e), renk durdurma(100%, #6b8f1a)
)
;
arka fon:
-webkit-doğrusal-gradyan (üst,
#a5cd4e0%
,
#6b8f1a100%
)
;
arka fon:
-o-doğrusal-gradyan (üst,
#a5cd4e0%
,
#6b8f1a100%
)
;
arka fon:
-ms-doğrusal-gradyan (üst,
#a5cd4e0%
,
#6b8f1a100%
)
;
arka fon:
doğrusal gradyan (üst,
#a5cd4e0%
,
#6b8f1a100%
)
;
}
Krok 5 - Ensign için stiller
Şimdi en önemli kısım tamir ediliyor, bunun için sancakların görünümünü CSS yardımıyla değiştiremeyiz, formun diğer alanlarının görünümünü değiştirdik.
Bildiğim en kolay yol, sancağı bir yayılma etiketiyle değiştirmek.
Bu bir sonraki adım olacak: başın arkasında, sancak'ı değiştireceğiz ve span etiketi için bu tür stilleri ayarlayacağız, böylece bir sancak gibi görünecek ve sonra sancak'ı (işaretler / işaretler değil) güncelleyeceğiz. jQuery'nin yardımı.
Parçalar JavaScript'i devre dışı bıraktı, bir yedekleme seçeneği eklemek gerekiyor. Kimin için zaman ekliyoruz "js" jQuery yardımı için y sınıfı gövde etiketi. Böylece, JavaScript atlanırsa, yan seçildiğinde gövde etiketine "js" sınıfı eklenir ve JavaScript atlanırsa, sınıf eklenmez. Bundan böyle, yalnızca JavaScript destekli koristuvach'lar stilizasyon şampiyonu olacak.
Başımın arkasında sancaktarız.
.js.Giriş Formu giriş [
tip =
onay kutusu ]
{
konum:
sabit;
sol:
-9999 piksel;
}
Etiket etiketi, sağ el ve dodamo temel stillerde (yazı tipi, renk ince) keyfi olarak sağ elle kullanılır.
.Giriş Formu etiket {
konum:
mutlak;
üst:
1 piksel;
sol:
25 piksel;
font ailesi:
sans Serif;
yazı tipi ağırlığı:
gözü pek;
yazı Boyutu:
12 piksel;
renk:
#e4e4e4;
}
Koçanı üzerine "js" sınıfını koyan tüm stiller yalnızca JavaScript etkinleştirildiğinde duracaktır.
Croc 6 - jQuery
Google API kullanarak jQuery kitaplığının en son sürümünü ekleyeceğiz, isterseniz onu istediğiniz bir genel sunucuda barındırabilirsiniz. Ardından, sonraki kodu HTML dosyasının altına, kapanış etiketinden önce ekleyin. .
Göz kırpma gücünüz varsa, daha iyi olmanın en iyi yolu için forumumuzu kullanmanız önerilir.
Hoşçakalın arkadaşlar! Koristuvachiv'in PHP'deki kaydına bir göz atalım. Koçanı için, koristuvachiv kaydımız için anlamlı bir şekilde düşünelim:
Parola, algoritmanın yardımıyla şifrelenir MD5
Şifre "yalnızlık"
Oturum açma istihdamı kontrol ediliyor
Koristuvach yaprağının aktivasyonu.
Verileri kaydetme ve kaydetme DBMS MySQL
Bu senaryoyu yazmak için, bir koristuvach kaydının nasıl olduğunu anlamamız gerekiyor. Bir koristuvach kaydı - gerçek bir koristuvach verilerinin alınması, verilerin işlenmesi ve kaydedilmesi.
Basit kelimelerle açıklamak gerekirse, kayıt sadece hesabımızda bir katip yetkilendirebileceğimiz kişisel verileri kaydetme ve toplama meselesidir - Giriş ve Şifre.
Yetkilendirme, bir şarkının bir kişiye veya bir grup kişiye şarkıları görme hakkının verilmesi ve bu hakların bir saat boyunca gözden geçirilip, görülmeye çalışılması işlemidir. Görünüşte daha basit, ek yetkilendirme ile sitemizde daha fazla içeriğe erişimi ayırabiliriz.
Yetkilendirme ile kaydımızın uygulanması için scriptlerdeki katalogların yapısına bakalım. Mantıksal depolardaki komut dosyalarını bölmemiz gerekiyor. Okremy dizinine kayıt ve yetkilendirme modülleri yerleştirildi. Ayrıca katalog ortamında veri tabanına da bağlanabiliyoruz. MySQL, Koristuvach işlevli dosya, stil dosyası css ve şablonumuz HTML. Bu yapı, komut dosyalarında hızlı bir şekilde gezinmenizi sağlar. Bir sürü modül vb. içeren harika bir siteniz olduğunu bildirin. Ve eğer bir düzen yoksa, böyle bir karmaşa içinde bilmek daha rahat olacaktır.
Peki tüm verileri nasıl kaydedeceğiz? DBMS MySQL, ardından kayıt hakkında veri toplamak için küçük bir tablo oluşturalım.
Koçanı için veritabanında bir tablo oluşturmak gereklidir. tablo denir bez_reg de bez- tse tablo öneki ve kayıt tabloları adlandırın.
Tablo yapısı: bez_reg
-- -- Tablo yapısı `bez_reg` -- MEVCUT DEĞİLSE TABLO OLUŞTURUN `bez_reg` (`id` int(11) NOT NULL AUTO_INCREMENT, `login` varchar(200) NOT NULL, `pass` varchar(32) NOT NULL , 'salt' varchar(32) NULL DEĞİL, 'active_hex' varchar(32) NULL DEĞİL, 'status' int(1) NULL DEĞİL, PRIMARY ANAHTAR ('id')) ENGINE=MyISAM VARSAYILAN CHARSET=utf8 AUTO_INCREMENT=1 ;
Şimdi işin geri kalanı için ana betikleri oluşturalım.
INDEX.PHP DOSYA
CONFIG.PHP DOSYA
!defined("BEZ_KEY"))
{
header("HTTP/1.1 404 Not Found");
exit(file_get_contents("./404.html"));
}
//Адрес базы данных
define("BEZ_DBSERVER","localhost");
//Логин БД
define("BEZ_DBUSER","");
//Пароль БД
define("BEZ_DBPASSWORD","");
//БД
define("BEZ_DATABASE","");
//Префикс БД
define("BEZ_DBPREFIX","bez_");
//Errors
define("BEZ_ERROR_CONNECT","Немогу соеденится с БД");
//Errors
define("BEZ_NO_DB_SELECT","Данная БД отсутствует на сервере");
//Адрес хоста сайта
define("BEZ_HOST","http://". $_SERVER["HTTP_HOST"] ..ru>");
?>