بسم الله الرحمن الرحيم
اليوم و لله الحمد اتممت تجربتي في بناء نظام تسجيل و تسجيل الدخول
والحمد لله استفدنا من التطبيقات و استفدنا من دروس الأخوان
ما اطول عليكم ندخل في الموضوع
الدرس عبارة عن أكواد لنظام التسجيل و تسجيل الدخول ويتكون من عدة صفحات و هي :
- صفحة index.php - الصفحة الرئيسية .
- صفحة config.php - صفحة الإتصال بقاعدة البيانات .
- صفحة register.php - صفحة تسجيل العضويات .
- صفحة login.php - صفحة تسجيل الدخول .
- صفحة logout.php - صفحة تسجيل الخروج .
نبتدي أول شئ بصفحة الـ index.php
كود php
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html dir="rtl"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>الصفحة الرئيسية</title> </head> <body> <?php ob_start(); session_start(); if(!isset($_POST['logname']) and !isset($_POST['logpass'])){ header("location: login.php") ; exit (); } include 'config.php'; $logname= $_POST['logname'] ; $logpass = md5(md5($_POST['logpass'])) ; $selectlog=mysql_query("select * from members where username='$logname' and userpass='$logpass'") or die(mysql_error()) ; $lognum = mysql_num_rows($selectlog) ; if(isset($_POST['login']) and $_POST['login'] == 'log'){ if(empty ($logname) or empty ($logpass)){ die( "لم تقم بإدخال جميع البيانات" ); }elseif($lognum <= 0 ){ die( "اسم المستخدم او كلمة المرور خطأ" ); }else{ $_SESSION['sessionname'] = $username ; $_SESSION['sessionpass'] = $userpass ; } } $select = mysql_query("select * from members where username='$logname'") or die(mysql_error()); $row=mysql_fetch_array($select); echo "تم تسجيل دخولك بنجاح عزيزي ".$row['username'] ; echo"<br />" ; echo"<a href='logout.php'>تسجيل الخروج</a>"; ob_end_flush(); ?> </body> </html>
وهذا كود صفحة config.php
<?php $localhost="localhost" ; // هذا برتكول المستضيف $username="root" ; // اسم المستخدم لقاعدة البيانات $userpass="root" ; // كلمة المرور اقاعدة البيانات $dbname="users" ;// اسم قاعدة البيانات $con = mysql_connect($localhost,$username,$userpass) or die(mysql_error()) ; // دالة الأتصال بالقاعدة $sel = mysql_select_db($dbname,$con) or die (mysql_error()) ; // دالة عرض القاعدة ?>
وهذا كود صفحة register.php
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html dir="rtl"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>التسجيل</title> </head> <body> <?php ob_start(); session_start(); if(isset($_SESSION['sessionname']) and isset($_SESSION['sessionpass'])){ header("location: index.php") ; exit (); } include 'config.php'; /* CREATE TABLE `users`.`members` ( `id` INT NOT NULL AUTO_INCREMENT , `username` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL , `userpass` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL , `email` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL , `date` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL , PRIMARY KEY ( `id` ) ) ENGINE = MYISAM ; */ $username = strip_tags(trim(mysql_real_escape_string($_POST['username']))) ; $userpass = strip_tags(trim(mysql_real_escape_string(md5(md5($_POST['password']))))) ; $email = strip_tags(trim(mysql_real_escape_string($_POST['email']))) ; $date = date("d - n - Y - H:j") ; $seleectusers = mysql_query("select * from members where username='$username' or email='$email'") or die(mysql_error()) ; $usernum = mysql_num_rows($seleectusers) ; if(isset($_POST['go']) and isset($_POST['go']) == 'send'){ if(empty ($username) or empty ($userpass) or empty ($email)){ echo "لم تقم بإدخال جميع البيانات"; }elseif($usernum > 0){ echo "اسم المستخدم او البريد الإلكتروني تم تسجيله سابقاًَ" ; }elseif(!preg_match('#^[a-z0-9\.\_\-]+@([a-z0-9\.\_\-])+\.([a-z]{2,4})$#i',$email)){ echo "لم تقم بإدخال الإيميل الصحيح " ; }elseif($_POST['password'] != $_POST['password1']){ echo "كلمة المرور غير متطابقة"; }else{ $insertmembers=mysql_query("INSERT INTO members (username,userpass,email,date)VALUES('$username','$userpass','$email','$date')") or die(mysql_error()) ; if(isset($insertmembers)){ echo"تم تسجيل عضويتك بنجاح"; } } } ?> <form action="<?php $_SERVER["PHP_SELF"] ?>" method="post"> <table border="1" width="40%" cellpadding="6" align="center"> <tr> <td colspan="2" align="center">أدخل البيانات المطلوبة</td> </tr> <tr> <td>أسم المستخدم</td> <td><input type="text" name="username" size="35"/></td> </tr> <tr> <td>كلمة المرور</td> <td><input type="password" name="password" size="35"/></td> </tr> <tr> <td>تأكيد كلمة المرور</td> <td><input type="password" name="password1" size="35"/></td> </tr> <tr> <td>البريد الإلكتروني</td> <td><input type="text" name="email" size="35"/></td> </tr> <tr> <td colspan="2" align="center"> <input type="submit" value="تسجيل"/> <input type="hidden" name="go" value="send" /> </td> </tr> </table> </form> </body> </html>
وهذا كود صفحة login.php
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html dir="rtl"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>تسجيل الدخول</title> </head> <body> <?php ob_start(); session_start(); if(isset($_SESSION['sessionname']) and isset($_SESSION['session'])){ header("location: index.php") ; exit() ; }else{ ?> <form action="index.php" method="post"> <table border="1" width="30%" cellpadding="5" align="center" > <tr> <td colspan="2" align="center">تسجيل الدخول</td> </tr> <tr> <td>أسم المستخدم :</td> <td><input type="text" name="logname" size="20"/></td> </tr> <tr> <td>كلمة المرور :</td> <td><input type="password" name="logpass" size="20"/></td> </tr> <tr> <td colspan="2" align="center"><input type="submit" value="تسجيل الدخول" /> <input type="hidden" name="login" value="log"/></td> </tr> </table> </form> <?php } ob_end_flush(); ?>
وهذا كود صفحة logout.php
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html dir="rtl"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>الصفحة الرئيسية</title> </head> <body> <?php ob_start(); session_start(); if(!isset($_SESSION['sessionname']) and !isset($_SESSION['sessionpass'])){ header("location: login.php") ; exit (); }else{ session_destroy() ; die("تم تسجيل خروجك للإنتقال للصفحة الرئيسية <a href='index.php'>اضغط هنا</a>"); } ?> </body> </html>
و إن شاء الله تكونون استفدتو من هذاي الأكواد
وفي امان الله و رعايته
اخوكم : بو عبد الله
لازالت مدونتى بدون تسجيل دخول- شكرا لك اخى ولك كامل تحياتى
ردحذفhttp://firecpu.com/
ردحذفيعطيك الف عافيه .. بس ليه مو قابل يطبق عندي !!
ردحذفهل استطيع وضعه في موقعي الخاص www.gogaclick.funcut.com
ردحذفأشكرك أخي ولكن لدي مشكله
ردحذفوهي تقول ذلك
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at C:\AppServ\www\index.php:8) in C:\AppServ\www\index.php on line 10
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\AppServ\www\index.php:8) in C:\AppServ\www\index.php on line 10
Warning: Cannot modify header information - headers already sent by (output started at C:\AppServ\www\index.php:8) in C:\AppServ\www\index.php on line 12
ما هو الحل؟
سسس
ردحذفياليت تعمل شريط فيديو
ردحذفتوضح فيه عمل الملفات
وهل السكريبت الكامل اللي حملتو على موقعك
متناسب مع السكربت الموضوع على الموقع
والصور التخطيط ليست واصحة وما تكبر
وشكرا لك على مجهودك
و تحية لمن علمني حرفا صرت له عبدا
أزال المؤلف هذا التعليق.
ردحذفWarning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at C:\AppServ\www\index.php:8) in C:\AppServ\www\index.php on line 10
ردحذفWarning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\AppServ\www\index.php:8) in C:\AppServ\www\index.php on line 10
Warning: Cannot modify header information - headers already sent by (output started at C:\AppServ\www\index.php:8) in C:\AppServ\www\index.php on line 12
ما هو الحل؟
شكرا يا مان السكربت يعمل
ردحذفطبعا ليس من السهل بالنسبة لمبتدا تركيبه لكن يجب المثابرة وتعلم الاساسيات واللغات البرمجية من اجل الحؤول دون الاخطاء ,
الملف config.php حساس للغاية ويجب عدم زيادة اي نقطة "," او فراغ " ****** " والتاكد من البيانات المدخة
السةربت يعمل
ردحذفلةن لازمتعديلات لانه فيه بعض الاخطاء البسيطة
لازم تكون عندك خبرة بالphp
السلام عليكم اخي كيف نربطها بالسيرفر المحلي هذي الصفحات
ردحذفيعطيك العافيه
ردحذفالسلام عليكم عندي مشكله ما بيقبل يتصل بقاعدة البيانات يا ريت تفيدني
ردحذف