عبسي الحمديني
2012-07-22, 07:01 PM
اليوم سوف اشرح لكم طريقة عمل عمل فورم تسجيل الاعضاء بلغة php
واليكم صورة الفورم:-
http://www13.0zz0.com/2012/05/24/21/116186607.png
ولا نقوم بأنشاء قاعدة بيانات
CREATE TABLE users (
userid int(25) NOT NULL auto_increment,
first_name varchar(25) NOT NULL default '',
last_name varchar(25) NOT NULL default '',
email_address varchar(25) NOT NULL default '',
username varchar(25) NOT NULL default '',
password varchar(255) NOT NULL default '',
info text NOT NULL,
user_level enum('0','1','2','3') NOT NULL default '0',
signup_date datetime NOT NULL default '0000-00-00 00:00:00',
last_login datetime NOT NULL default '0000-00-00 00:00:00',
activated enum('0','1') NOT NULL default '0',
PRIMARY KEY (userid)
) TYPE=MyISAM COMMENT='Membership Information';
ثانيا انشا ملف
db.php ما فائدة هذا الملف : من المعروف انه اي عملية تنفيذ سواءً حذف او تعديل ادخال بيانات او اي عملية اخرى
قبل التنفيذ في لغة الــ php يجب ان نتصل في قاعدة البيانات
ونحن هنا نكتب كود الاتصال في قاعدة البيانات من اجل تلك الاوامر التي سوف ننفذفها.
وهنا الكود
<?
$dbhost = 'localhost';
$dbusername = 'هنا اكتب اسم المستخدم';
$dbpasswd = 'هنا اكتب الرقم السري';
$database_name = 'هنا اكتب اسم قاعدة البيانات';
/* Database Stuff, do not modify below this line */
$connection = mysql_pconnect("$dbhost","$dbusername","$dbpasswd")
or die ("لم يتم الاتصال السيفر.");
$db = mysql_select_db("$database_name", $connection)
or die("لم يتم اختيار قاعدة البيانات هناك مشكلة.");
?>
ثالثا نقوم بأنشاء ملف
join_form.php وهنا راح يدخل العضو كامل بياناته المطلوبة اثناء التسجيل ومن ثم راح ترسل بياناته المدخلة الى صفحة تسمى بــ register.php لكي يتم معالجتها وتصحيح الاخطاء وفي حال عدم وجود اي اخطاء راح يتم تسجيل العضو الجديد وراح يتم ارسال الرقم السري له عن طريق البريد
ومن هناك ايضاً راح يرسل له رابط تفعيل الاشتراك
كود PHP:
<body dir="rtl">
<div id="head">
<ul id="menu">
<li><a class="current" href="index.html" title="">الرئيسية</a></li>
</ul>
</div>
<h1>استمارة التسجيل</h1>
<form name="form1" method="post" action="register.php">
<table width="450" border="1" cellpadding="4" cellspacing="0">
<tr>
<td width="24%" align="left" valign="top">الاسم الاول</td>
<td width="76%"><input name="first_name" type="text" id="first_name2" value="<? echo $first_name; ?>"></td>
</tr>
<tr>
<td align="left" valign="top">الاسم الاخير</td>
<td><input name="last_name" type="text" id="last_name" value="<? echo $last_name; ?>"></td>
</tr>
<tr>
<td align="left" valign="top">البريد الالكتروني</td>
<td><input name="email_address" type="text" id="email_address" value="<? echo $email_address; ?>"></td>
</tr>
<tr>
<td align="left" valign="top">اسم المستخدم</td>
<td><input name="username" type="text" id="username" value="<? echo $username; ?>"></td>
</tr>
<tr>
<td align="left" valign="top">نبذة عنك اختياري:</td>
<td><textarea name="info" id="info"><? echo $info; ?></textarea></td>
</tr>
<tr>
<td align="left" valign="top"> </td>
<td><input type="submit" name="Submit" value="تسجيل"></td>
</tr>
</table>
</form>
</body>
رابعا نقوم بأنشاء ملف
register.php وهذا الصفحة عملها معالجة المدخلات بالتأكد من انها صالحة لكي تدخل في جدول اليوزر
كود PHP:
<?
include 'db.php';
// تعريف المتغيرات
$first_name = $_POST['first_name'];
$last_name = $_POST['last_name'];
$email_address = $_POST['email_address'];
$username = $_POST['username'];
$info = $_POST['info'];
// حماية المدخلات
$first_name = stripslashes($first_name);
$last_name = stripslashes($last_name);
$email_address = stripslashes($email_address);
$username = stripslashes($username);
$info = stripslashes($info);
/* التحقق من كتابة الحقول */
if((!$first_name) || (!$last_name) || (!$email_address) || (!$username))**
echo 'يجب ملأ جميع الحقول! <br />';
if(!$first_name)**
echo "لم تكتب أسم المستخدم.<br />";
}
if(!$last_name)**
echo "لم تكتب الأسم الاخير.<br />";
}
if(!$email_address)**
echo "لم تكتب البريد.<br />";
}
if(!$username)**
echo "أكتب أسم المستخدم.<br />";
}
include 'join_form.php'; // Show the form again!
/* End the error checking and if everything is ok, we'll move on to
creating the user account */
exit(); // if the error checking has failed, we'll exit the script!
}
/* هنا راح نتأكد من انه الاسم والايميل غير محجوزان */
$sql_email_check = mysql_query("SELECT email_address FROM users WHERE email_address='$email_address'");
$sql_username_check = mysql_query("SELECT username FROM users WHERE username='$username'");
$email_check = mysql_num_rows($sql_email_check);
$username_check = mysql_num_rows($sql_username_check);
if(($email_check > 0) || ($username_check > 0))**
echo "هناك أخطاء: <br />";
if($email_check > 0)**
echo "<strong>هذا البريد مستخدم من قبل!<br />";
unset($email_address);
}
if($username_check > 0)**
echo "هذا الأسم تم اختياره من قبل!<br />";
unset($username);
}
include 'join_form.php'; // Show the form again!
exit(); // exit the script so that we do not create this account!
}
// انشاء باسورد مشفر بطريقة احترافية لكي سوف يتم ارسالة للعضو لاحقاً
function makeRandomPassword() **
$salt = "abchefghjkmnpqrstuvwxyz0123456789";
srand((double)microtime()*1000000);
$i = 0;
while ($i <= 7) **
$num = rand() % 33;
$tmp = substr($salt, $num, 1);
$pass = $pass . $tmp;
$i++;
}
return $pass;
}
$random_password = makeRandomPassword();
$db_password = md5($random_password);
// هنا سوف يتم ادخال جميع الحقول الى الجدول.
$info2 = htmlspecialchars($info);
$sql = mysql_query("INSERT INTO users (first_name, last_name, email_address, username, password, info, signup_date)
VALUES('$first_name', '$last_name', '$email_address', '$username', '$db_password', '$info2', now())") or die (mysql_error());
if(!$sql)**
echo 'هناك مشكلة فضلاً اتصال بالمدير العام لكي تخبره عن مشكلتك في التسجيل.';
} else **
$userid = mysql_insert_id();
// Let's mail the user!
$subject = "بيانات تسجيل دخول ";
$message = "عزيزي $first_name $last_name,
نشكرك لتسجيل في موقعنا, http://www.libyars.com/!
في الرابط التالي تفعيل عضويتك الرجاء النقر على الرابط لكي يتم تفعيل عضويتك.
http://www.libyars.com/activate.php?id=$userid&code=$db_password
هنا بيانات دخولك بعد تفعيل العضوية:
أسم المستخدم: $username
الرقم السري: $random_password
شكراً لك!
المدير العام
يرجي عدم اعادة ارسال هذه الرسالة!";
mail($email_address, $subject, $message, "From: مجلة الدروس العربية<tsmim@tsmim.com>\nX-Mailer: PHP/" . phpversion());
echo 'تم ارسال بيانات دخولك بالاضافة الى رابط التفعيل! راجع بريدك!';
echo "****** HTTP-*****='*******' CONTENT='2;URL=index.html'>";
}
?>
واليكم صورة الفورم:-
http://www13.0zz0.com/2012/05/24/21/116186607.png
ولا نقوم بأنشاء قاعدة بيانات
CREATE TABLE users (
userid int(25) NOT NULL auto_increment,
first_name varchar(25) NOT NULL default '',
last_name varchar(25) NOT NULL default '',
email_address varchar(25) NOT NULL default '',
username varchar(25) NOT NULL default '',
password varchar(255) NOT NULL default '',
info text NOT NULL,
user_level enum('0','1','2','3') NOT NULL default '0',
signup_date datetime NOT NULL default '0000-00-00 00:00:00',
last_login datetime NOT NULL default '0000-00-00 00:00:00',
activated enum('0','1') NOT NULL default '0',
PRIMARY KEY (userid)
) TYPE=MyISAM COMMENT='Membership Information';
ثانيا انشا ملف
db.php ما فائدة هذا الملف : من المعروف انه اي عملية تنفيذ سواءً حذف او تعديل ادخال بيانات او اي عملية اخرى
قبل التنفيذ في لغة الــ php يجب ان نتصل في قاعدة البيانات
ونحن هنا نكتب كود الاتصال في قاعدة البيانات من اجل تلك الاوامر التي سوف ننفذفها.
وهنا الكود
<?
$dbhost = 'localhost';
$dbusername = 'هنا اكتب اسم المستخدم';
$dbpasswd = 'هنا اكتب الرقم السري';
$database_name = 'هنا اكتب اسم قاعدة البيانات';
/* Database Stuff, do not modify below this line */
$connection = mysql_pconnect("$dbhost","$dbusername","$dbpasswd")
or die ("لم يتم الاتصال السيفر.");
$db = mysql_select_db("$database_name", $connection)
or die("لم يتم اختيار قاعدة البيانات هناك مشكلة.");
?>
ثالثا نقوم بأنشاء ملف
join_form.php وهنا راح يدخل العضو كامل بياناته المطلوبة اثناء التسجيل ومن ثم راح ترسل بياناته المدخلة الى صفحة تسمى بــ register.php لكي يتم معالجتها وتصحيح الاخطاء وفي حال عدم وجود اي اخطاء راح يتم تسجيل العضو الجديد وراح يتم ارسال الرقم السري له عن طريق البريد
ومن هناك ايضاً راح يرسل له رابط تفعيل الاشتراك
كود PHP:
<body dir="rtl">
<div id="head">
<ul id="menu">
<li><a class="current" href="index.html" title="">الرئيسية</a></li>
</ul>
</div>
<h1>استمارة التسجيل</h1>
<form name="form1" method="post" action="register.php">
<table width="450" border="1" cellpadding="4" cellspacing="0">
<tr>
<td width="24%" align="left" valign="top">الاسم الاول</td>
<td width="76%"><input name="first_name" type="text" id="first_name2" value="<? echo $first_name; ?>"></td>
</tr>
<tr>
<td align="left" valign="top">الاسم الاخير</td>
<td><input name="last_name" type="text" id="last_name" value="<? echo $last_name; ?>"></td>
</tr>
<tr>
<td align="left" valign="top">البريد الالكتروني</td>
<td><input name="email_address" type="text" id="email_address" value="<? echo $email_address; ?>"></td>
</tr>
<tr>
<td align="left" valign="top">اسم المستخدم</td>
<td><input name="username" type="text" id="username" value="<? echo $username; ?>"></td>
</tr>
<tr>
<td align="left" valign="top">نبذة عنك اختياري:</td>
<td><textarea name="info" id="info"><? echo $info; ?></textarea></td>
</tr>
<tr>
<td align="left" valign="top"> </td>
<td><input type="submit" name="Submit" value="تسجيل"></td>
</tr>
</table>
</form>
</body>
رابعا نقوم بأنشاء ملف
register.php وهذا الصفحة عملها معالجة المدخلات بالتأكد من انها صالحة لكي تدخل في جدول اليوزر
كود PHP:
<?
include 'db.php';
// تعريف المتغيرات
$first_name = $_POST['first_name'];
$last_name = $_POST['last_name'];
$email_address = $_POST['email_address'];
$username = $_POST['username'];
$info = $_POST['info'];
// حماية المدخلات
$first_name = stripslashes($first_name);
$last_name = stripslashes($last_name);
$email_address = stripslashes($email_address);
$username = stripslashes($username);
$info = stripslashes($info);
/* التحقق من كتابة الحقول */
if((!$first_name) || (!$last_name) || (!$email_address) || (!$username))**
echo 'يجب ملأ جميع الحقول! <br />';
if(!$first_name)**
echo "لم تكتب أسم المستخدم.<br />";
}
if(!$last_name)**
echo "لم تكتب الأسم الاخير.<br />";
}
if(!$email_address)**
echo "لم تكتب البريد.<br />";
}
if(!$username)**
echo "أكتب أسم المستخدم.<br />";
}
include 'join_form.php'; // Show the form again!
/* End the error checking and if everything is ok, we'll move on to
creating the user account */
exit(); // if the error checking has failed, we'll exit the script!
}
/* هنا راح نتأكد من انه الاسم والايميل غير محجوزان */
$sql_email_check = mysql_query("SELECT email_address FROM users WHERE email_address='$email_address'");
$sql_username_check = mysql_query("SELECT username FROM users WHERE username='$username'");
$email_check = mysql_num_rows($sql_email_check);
$username_check = mysql_num_rows($sql_username_check);
if(($email_check > 0) || ($username_check > 0))**
echo "هناك أخطاء: <br />";
if($email_check > 0)**
echo "<strong>هذا البريد مستخدم من قبل!<br />";
unset($email_address);
}
if($username_check > 0)**
echo "هذا الأسم تم اختياره من قبل!<br />";
unset($username);
}
include 'join_form.php'; // Show the form again!
exit(); // exit the script so that we do not create this account!
}
// انشاء باسورد مشفر بطريقة احترافية لكي سوف يتم ارسالة للعضو لاحقاً
function makeRandomPassword() **
$salt = "abchefghjkmnpqrstuvwxyz0123456789";
srand((double)microtime()*1000000);
$i = 0;
while ($i <= 7) **
$num = rand() % 33;
$tmp = substr($salt, $num, 1);
$pass = $pass . $tmp;
$i++;
}
return $pass;
}
$random_password = makeRandomPassword();
$db_password = md5($random_password);
// هنا سوف يتم ادخال جميع الحقول الى الجدول.
$info2 = htmlspecialchars($info);
$sql = mysql_query("INSERT INTO users (first_name, last_name, email_address, username, password, info, signup_date)
VALUES('$first_name', '$last_name', '$email_address', '$username', '$db_password', '$info2', now())") or die (mysql_error());
if(!$sql)**
echo 'هناك مشكلة فضلاً اتصال بالمدير العام لكي تخبره عن مشكلتك في التسجيل.';
} else **
$userid = mysql_insert_id();
// Let's mail the user!
$subject = "بيانات تسجيل دخول ";
$message = "عزيزي $first_name $last_name,
نشكرك لتسجيل في موقعنا, http://www.libyars.com/!
في الرابط التالي تفعيل عضويتك الرجاء النقر على الرابط لكي يتم تفعيل عضويتك.
http://www.libyars.com/activate.php?id=$userid&code=$db_password
هنا بيانات دخولك بعد تفعيل العضوية:
أسم المستخدم: $username
الرقم السري: $random_password
شكراً لك!
المدير العام
يرجي عدم اعادة ارسال هذه الرسالة!";
mail($email_address, $subject, $message, "From: مجلة الدروس العربية<tsmim@tsmim.com>\nX-Mailer: PHP/" . phpversion());
echo 'تم ارسال بيانات دخولك بالاضافة الى رابط التفعيل! راجع بريدك!';
echo "****** HTTP-*****='*******' CONTENT='2;URL=index.html'>";
}
?>