Помогни ни да направим Uroci.net по - богат! Добави урок

PHP регистрация с база данни

PHP » PHP
azerot   трудност:    видян: 20935



След това създаваме документ за вход наречен login.php!

// Закача се към базата данни
mysql_connect("сървър", "акаунт", "парола") or die(mysql_error());
mysql_select_db("база данни") or die(mysql_error());

//проверява дали потребителя няма сетната бисквитка
if(isset($_COOKIE['ID_my_site']))

//ако има ви логва автоматично и ви пренасочва към последно запазената страница
{
$username = $_COOKIE['ID_my_site'];
$pass = $_COOKIE['Key_my_site'];
$check = mysql_query("SELECT * FROM users WHERE username = '$username'")or die(mysql_error());
while($info = mysql_fetch_array( $check ))
{
if ($pass != $info['password'])
{
}
else
{
header("Location: members.php");

}
}
}

//ако формата е изпълнена
if (isset($_POST['submit'])) {

// проверява дали полетата са попълнени
if(!$_POST['username'] | !$_POST['pass']) {
die('Не сте попълнили нужните полета.');
}
// проверява дали има такъв потребител с такава парола

if (!get_magic_quotes_gpc()) {
$_POST['email'] = addslashes($_POST['email']);
}
$check = mysql_query("SELECT * FROM users WHERE username = '".$_POST['username']."'")or die(mysql_error());

//дава гершка ако няма
$check2 = mysql_num_rows($check);
if ($check2 == 0) {
die('Няма такъв потребител в уроци.ком. Натиснете тук, за да се регистрирате');
}
while($info = mysql_fetch_array( $check ))
{
$_POST['pass'] = stripslashes($_POST['pass']);
$info['password'] = stripslashes($info['password']);
$_POST['pass'] = md5($_POST['pass']);

//gives error if the password is wrong
if ($_POST['pass'] != $info['password']) {
die('Грешна парола, опитайте пак!.');
}
else
{

// ако всичко е наред сетваме бисквитка
$_POST['username'] = stripslashes($_POST['username']);
$hour = time() + 3600;
setcookie(ID_my_site, $_POST['username'], $hour);
setcookie(Key_my_site, $_POST['pass'], $hour);

//след това пренасочва към потребителската секция
header("Location: members.php");
}
}
}
else
{

// ако не е вече влязъл потребителя
?>






Login

Username:

Password:





}

?>

След това създайте документ members.php, където потребителят ще може да влезе след като се логне!

// закача се към базата данни
mysql_connect("сървър", "акаунт", "парола") or die(mysql_error());
mysql_select_db("база данни") or die(mysql_error());

//проверява дали има сетната бисквитка, за да потвърди дали сте логнати
if(isset($_COOKIE['ID_my_site']))
{
$username = $_COOKIE['ID_my_site'];
$pass = $_COOKIE['Key_my_site'];
$check = mysql_query("SELECT * FROM users WHERE username = '$username'")or die(mysql_error());
while($info = mysql_fetch_array( $check ))
{

//ако бисквитката има грешна парола ви пренасочва към входа
if ($pass != $info['password'])
{ header("Location: login.php");
}

//иначе показва секцията за регистрирани потребители
else
{
echo "Admin Area

";
echo "Your Content

";
echo "Изход от uroci.com";
}
}
}
else

//ако въобще няма бисквитка ви пренасочва към страницата за вход
{
header("Location: login.php");
}
?>


След това създайте документ logout.php, чрез който потребителят ще може да излиза от acc-то си!

$past = time() - 100;
//това унищожава бисквитката
setcookie(ID_my_site, gone, $past);
setcookie(Key_my_site, gone, $past);
header("Location: login.php");
?>


Страници: «1 2

Коментари (17)

penkostr на 28.11 2006 в 15:10ч.
така значи да създам база данни но как несхващан почти нищо:
"Първо създаваме база данни, която кръщаваме reg!"

създавам база данни с името reg но незнам къде да поставя
CREATE TABLE users (ID MEDIUMINT NOT NULL
AUTO_INCREMENT PRIMARY KEY, username VARCHAR(60),
password VARCHAR(60))
тези редове :(
azerot на 15.12 2006 в 19:35ч.
значи ако работиш с AppServ или Xampp би трябвало да създадеш база данни reg и да подадеш заявка... Базата данни може и да не се казва reg! може да и сложиш всякакво име, но в удебелените сиви полета - mysql_connect трябва да зададеш потр.име на MySQL и парола , а накрая и избраното от теб име! Ако не изпълниш това то PHP парсера ще ти върне грешка, която ще гласи, че не може да се свърже с базана данни!
true_wizard на 20.12 2006 в 13:25ч.
Тези редове ги копирай и ги постави в notepad, след което запази документа като reg.sql и след това го импортни в SQL сървъра ти директно или чрез PHPMyAdmin.
brumbo на 29.01 2007 в 00:00ч.
Добре всичко направих, обаче когато се регистрирам и после се опитам да влезна с името и паролата, които съм регистрирал ми дава - "Грешна парола, опитайте пак!.". Защо така?
ghost_ на 24.02 2007 в 17:33ч.
когато отвора файла add.php ми исписва:
ГОТОВО

Благодаря ви че се регистрирахте, сега може да взелете..
и отдолу полетата попълвам ги и цукам регистар и се получава това :
Not Found
The requested URL /members/filemanager/
KypBaP на 11.03 2007 в 16:01ч.
тцтц я земете го управете малко тоя урок че хич не струва ! само ми дава грешки....
Joey на 09.05 2007 в 12:54ч.
Работи, ама е прекалено простичка системата.
doki на 19.06 2007 в 04:49ч.
Малко тези коментари няма ли да ги следите?
Правя всичко както е указано, но ми изписва това когато започвам процедурата: "Warning: mysql_connect() [function.mysql-connect]: Unknown MySQL server host 'locolhost' (1) in /home/martten/public_html/add.php on line 3
Unknown MySQL server host 'locolhost' (1)".
Защо е така?
Какво не му е наред?
doki на 19.06 2007 в 04:50ч.
Малко тези коментари няма ли да ги следите?
Правя всичко както е указано, но ми изписва това когато започвам процедурата: "Warning: mysql_connect() [function.mysql-connect]: Unknown MySQL server host 'locolhost' (1) in /home/martten/public_html/add.php on line 3
Unknown MySQL server host 'locolhost' (1)".
Защо е така?
Какво не му е наред?
KypBaP на 30.06 2007 в 09:08ч.
ПРИ МЕНЕ НАЙ СЕтне ПРОРАБОТИ :) 10х 10х :)
dabobo на 31.07 2007 в 22:38ч.
Здравейте !
При мен работи до в момента в които си напиша ника и паролата и трябва да се покаже " members.php " , но уви показва ми се грешка в тези редове:
- setcookie(Key_my_site, $_POST['pass'], $hour);
- header("Location: members.php");
Намерих този урок и на ENG. - http://php.about.com/od/finishedphp1/ss/php_login_code_4.htm

Но грешката си остава ... :(
МОЛЯ ПОМОГНЕТЕ!!!
charmed на 11.10 2007 в 23:22ч.
Би било добре първо да се научите да пишете пък после да давате мнение. И на мен нещо ми дава грешки.
Genetix на 10.02 2008 в 23:26ч.
пичове не знам какво правите че ви дава грешки но на мен от 1вия път стана и работи без грешка
май грешката не е в урока как мислим...
sIME на 07.04 2008 в 22:18ч.
Мисля, че голяма част от вас трябва да се научат поне малко на PHP и MySQL и след това да влизат в толкова трудни уроци. Не казвам, че сте прости, само искам да ви кажа, че урокът не е лесен и не е за всеки. И тука един потребител doki e написал, че не може да се оправи. Пробваш се да се свържеш с locolhost, а трябва да е localhost.
VeNkU на 03.04 2009 в 09:52ч.
А какво е това "поле за регистрация наречено add.php!"
wicked92 на 13.12 2009 в 19:01ч.
Урока не е от най-лесните, но за тези, които вкарат малко логика ще е елементарен. Понеже току що го подкарах да работи ще Ви обясня къде може да са ви грешките.
1. else-a на главния if оператор съм си въвел една форма за данните(това го правя за add.php i za login.php)
Ето например за add.php:
else
{
echo "
username
pass
retypepass

";
}
За login.php е същото само махаме реда на retypepass и сменяме action='login.php'

2. След това ми изкара някаква парс грешка за записване на данните въведени от формата към БД и реших да го направя така:
$name=$_POST['username'];
$parola=$_POST['pass'];
$insert="INSERT INTO users(username,password) VALUES('$name','$parola')";
Ясно е какво правя. azerot го беше направил с точките...не го разбрах, ако някой може да ми ги обясни skype: wicked_92
Надявам се, че на някой ще му помогне това.
nedelinadari на 08.06 2012 в 09:07ч.
Здравейте. Виждам, че урока и коментарите са отдавна, но аз сега съм начинаеща. Трябва ми за курсова работа и въпроса ми е доста тъп: какво трябва да напиша в index файла, че да ми излезе това в сайта?

Регистрирайте се, за да добавите коментар


Калдейта ЕООД - © 2003-2010. Всички права запазени.
Препоръчваме: Национален Бизнес | Bomba.bg | IT Новини | Диплома.бг | TRAVEL туризъм | Реферати | AmAm.bg | Иде.ли | Курсови работи | Фото Форум | Spodeli.net | Фото-Култ | Atol.bg | Elmaz.com | MobileBulgaria.com | Казанлък.Com