في البداية ستحتاج الى قاعدة بيانات .. إسمها users مثلاً
- ننشيء جدول في قاعدة البيانات بإسم users أيضاً 
كود:
CREATE TABLE `users` (
`id` int(11) NOT NULL auto_increment,
`username` varchar(50) NOT NULL,
`password` varchar(32) NOT NULL,
`email` varchar(100) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
- نموذج التسجيل بإسم register.php ..
كود PHP:
<form method="post" action="">
username: <input type="text" name="username" maxlength="50" value="<? echo $_POST['username']; ?>" /><br />
password: <input type="password" name="password" maxlength="20" /><br />
email: <input type="text" name="email" maxlength="100" value="<? echo $_POST['email']; ?>" /><br />
<input type="submit" value="register" />
</form>
<?php
$link = mysql_connect("localhost","root","");
mysql_select_db("users");
if (isset($_POST['username']) and isset($_POST['password']) and isset($_POST['email']))
{
extract($_POST);
if (empty($username) or empty($password) or empty($email))
{
echo "some information is empty.";
}
else
{
$result1 = mysql_query("select * from users where username='$username'");
$result2 = mysql_query("select * from users where email='$email'");
if (mysql_num_rows($result1) == 1)
{
echo "username <b>$username</b> is alredy exist.";
}
elseif (mysql_num_rows($result2) == 1)
{
echo "email <b>$email</b> is alredy used.";
}
else
{
$password = md5($password);
if ($result3 = mysql_query("insert into users ( id, username, password, email ) values ( null, '$username', '$password', '$email' )"))
{
echo "thank you <b>$username</b> for register in our site, please login from <a href=\"login.php?username=$username\">here</a>.";
}
else
{
echo "error.";
}
}
}
}
mysql_close($link);
?>
غير معلومات اتصالك بالقاعدة في السطر 8 ..
- نموذج تسجيل الدخول بإسم login.php ..
كود PHP:
<?php
session_start();
?>
<form method="post" action="">
username: <input type="text" name="username" maxlength="50" value="<? echo $_GET['username']; ?>" /><br />
password: <input type="password" name="password" maxlength="20" /><br />
<input type="submit" value="login" />
</form>
<?php
$link = mysql_connect("localhost","root","");
mysql_select_db("users");
if (isset($_POST['username']) and isset($_POST['password']))
{
extract($_POST);
if (empty($username) or empty($password))
{
echo "some information is empty.";
}
else
{
$password = md5($password);
$result1 = mysql_query("select * from users where username='$username' and password='$password'");
if (mysql_num_rows($result1) == 1)
{
$login = 1;
session_register("login");
session_register("username");
echo "hello <b>$username</b>, thank you for login.";
}
else
{
echo "wrong username or wrong password.";
}
}
}
mysql_close($link);
?>
غير معلومات اتصالك بالقاعدة في السطر 10 ..
- الان ضع هذا الكود في اول الصفحات التي تريد حمايتها ، بعد تغير امتداد هذه الصفحات الى php ..
كود PHP:
<?php
session_start();
if (!isset($_SESSION['login']) or $_SESSION['login'] !==1)
{
die("you are not login, please login from <a href=\"login.php\">here</a>.");
}
$username = $_SESSION['username'];
echo "hello <b>$username</b>, for logout click <a href=\"logout.php\">here</a>.<hr />";
?>
مثال لديك الصفحة example.html تحتوي على :
كود HTML:
<h1>how are you?</h1>
فانك تقوم بتغير اسمها الى example.php وتضع الكود السابق فتصبح ..
كود PHP:
<?php
session_start();
if (!isset($_SESSION['login']) or $_SESSION['login'] !==1)
{
die("you are not login, please login from <a href=\"login.php\">here</a>.");
}
$username = $_SESSION['username'];
echo "hello <b>$username</b>, for logout click <a href=\"logout.php\">here</a>.<hr />";
?>
<h1>how are you?</h1>
هذا النظام بسيط جدا ويحتاج الى المزيد من التطوير .
وانا انصحك باستخدام احدى المجلات التي تنظم المحتوى ، البوابة العربية ، وان اردت ابسط منها فلديك الدروس العربي ، الناشر للاخ رضا حفظه الله .
وفقك الله،،