12:13 صباحا 29 رمضان 1431 (07 سبتمبر 2010)
القائمة الرئيسية
· الصفحة الرئيسية
· عن المبرمج
· دروس الفيجوال بيسك
· دروس الـ PHP و الـ MySql
· دروس كلاسات PHP (عمرو)
· دروس الـ CakePHP
· دروس الـ XML
· دروس الـ XHTML
· دروس الـ CSS
· دروس Flash (إنكليزي)
· تحميل الدروس
· التعلم عن بعد
· الدروس المدفوعة
· المنتدى
· جميع دروس الفيديو
· الدروس المكتوبة
· مركز الملفات
· مواقع صديقة
· راسلنا
· معرض الصور
· أقوى إستضافة
مواضيع المنتديات
آخر المواضيع
· موقع رائع به عدة كتب...
· مشكله::عندى مشكله فى...
· بشرى:منحة وزارة الات...
· صفحة دروس بقشبش على ...
· مركز تحميل صور من بر...
أكثر المواضيع مناقشة
· فرصة ذهبية .. اخت... [32]
· جائزة درس فيديو خ... [24]
· هل أستطيع التحكم ... [21]
· أقسام جديدة في ال... [18]
المتواجدون حالياً
· الضيوف المتواجدون: 3

· الأعضاء المتواجدون: 0

· إجمالي الأعضاء: 469
· أحدث عضو: wa_islamah
إخترنا لكم هذا الفيديو
إخترنا لكم
تسجيل الدخول
إسم المستخدم

كلمة السر



لست عضواً بعد؟
إضغط هنا للتسجيل.

هل نسيت كلمة السر؟
يمكنك الحصول على كلمة جديدة من هنا.
إستفتاء الأعضاء
أي الدورات تريد من الموقع أن يركز عليها













يجب تسجيل الدخول للتصويت.
الرسائل القصيرة
يجب تسجيل الدخول لنشر رسائل قصيرة

05/09/2010 07:32
السلام عليكم و رحمة الله و بركاته ,تحياتي للأعضاء و لأستاذنا المحترم حسام و تقبل الله منا و منكم و غفر الله لنا و لكم , أستاذنا المحترم حسام نحن معك و بجنبك و من خلفك و منك نتعلم و على خطواتك سائرون

05/09/2010 07:29
التكملة: فصبر علينا حتى نبلغ معك المقام العالي ,و كما يقال من اين هذا الشبل ,من ذاك الأسد Wink

05/09/2010 03:38
السلام عليكم ورحمة الله وبركاته كل عام وأنتم بخير والأمة الإسلامية وبارك الله في الأستاذ حسام وجزاه الجنة

04/09/2010 12:36
كل عام وانتم طيبون كل عام وانتى بخير استاذ حسام ان شاء الله السنة الجاية محقق كل امانيك

01/09/2010 10:25
وأنا تقريبا إنتهيت من المرحلة الأولى للبرنامج

01/09/2010 10:25
ثم في الأخير يكون هناك لينكان readed, not readed لعرض الرسائل المقروءة وحدها والرسائل الغير المقروءة وحدها فليتكم تساعدوني إذا طرحت الموضع بالمنتدى

01/09/2010 10:22
السلام عليكم ورحمة الله وبركاته، أنا بصدد برمجة إضافة جديدة في سجل الزوار هي عبارة عن لينك yes , no لتعليم ما إدا قرئت الرسالة أم لا

01/09/2010 09:35
بارك الله فيك يا معلمنا الغالي وأنا في انتظارك Smile

31/08/2010 17:11
اللهم آمين وكل اخواننا في المنتدى والمسلمين اجمعين

30/08/2010 19:11
اللهم وسع رزق الاستاذ حسام وبارك له في وقته وعمره وماله واغفر له وارحمه واسكنه جنة الفردوس اللهم انك عفو تحب العفو فاعف عنا

30/08/2010 19:09
هنحن في العشر الاواخر اخواني الكرام اجتهدوا في الدعاء فليلة القدر ب 1000 شهر

30/08/2010 01:21
السلام عليكم هل يمكن وضع فيديوهات لتعلم لغة css لان هنا ك فيديو واحد فقط Smile ارجوك يا استاد ان ظع لنا هذه الفيديوهات لانني احتج كتيرا لتعلم هذه اللغة الرائعة والجميلة جدا

28/08/2010 13:06
سأبحث عن رابط مباشر للبرنامج و أرسله لك أخي الغالي.

28/08/2010 10:35
فهل من طريقة لتحميل الملف أو هل يوجد ملف كامل؟؟

28/08/2010 10:34
السلام عليكم، لدي مشكلة في تحميل برنامج محرر xml الدي صنعته مايكروسوفت، البرنامج حجمه 3 ميقا فقط ويعتمد على internet لكنني لا أستطيع تحميله إلى flashdisk لأحمه إلى جهازي في المنزل وأنا في مقهى إنترن

28/08/2010 09:17
السلام عليكم ورحمة الله وبركاته. أخي عبدالله تم الإجابة على سؤالك في الدرس 87

26/08/2010 01:16
جزاك الله الجنة أخي أحمد

25/08/2010 15:29
اقتربت ليلة القدر ويتم تحريها في العشر الاواخر من رمضان ويعدل العمل فيها بعمل 83 سنة 1000 شهر اعانانا الله ووفقنا واياكم لقيامها مع خالص تمنياتنا ودعاء للاستاذ حسام فيها

24/08/2010 22:53
أخي الغالي أحمد سيتم تعريب دفتر سكربت الزوار بالكامل بعد الانتهاء منه كما أشرت سابقاً في أحد الدروس أو التعليقات أو المنتدى لا أذكر.

24/08/2010 09:36
نعم ال UTF-8 يستخدم ترميز القاعدة ولاكن يمكنك الادخال عربي بودنة عن طريق حقل الادخال الي انت عملو مش من ال phpmyadmin

مشاهدة الموضوع
 طباعة الموضوع
صفحة تسجيل فى موقع
sherif magdy
# 1 طباعة المشاركة
المشاركة في 09-10-2009 15:05


المشاركات: 13
الاشتراك: 2009.09.29

هذا السكربت هو عبارة عن صفحة تسجيل فى موقع

وانا جاهز لشرح اى جزء غامض فى الكود مع انى اظن ان من تابع
الدروس سيفهمه

سنقوم بعمل صفحتين
الصفحة الاولى هى الصفحة الرئيسية التى يوجد بها فورم تسجيل الدخول و التسجيل فى الموقع ولكن
انا لم اكتب الا التسجيل فى الموقع

الصفحة الاولى اسمها
test.php

لقد قمت برفع الكود لاننى لم استطيع تنظيمة هنا
http://rapidshare...t.php.html


الصفحة الثانية
test1.php
http://rapidshare...1.php.html
 
sherif magdy
# 2 طباعة المشاركة
المشاركة في 10-10-2009 12:40


المشاركات: 13
الاشتراك: 2009.09.29

ما رأيكم ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟
 
Hussam
# 3 طباعة المشاركة
المشاركة في 11-10-2009 02:17
صورة المستخدم



المشاركات: 238
الاشتراك: 2008.06.13

السلام عليكم و رحمة الله

مشكور أخ شريف و كان الأولى أنك تشرح الكود بس مو مشكلة أنا راح أشرحه قبل التعديل و اعدل عليه و أشرحه بعد التعديل.

بما أنو صفحة تسجيل الدخول غير مكتمله ما راح أشرحها و ياريت يا أخ شريف متل ما قلت قبل تشرح بالتفصيل مو أنك تحط كود فقط، متل ما قلت قبل هذا المنتدى تعليمي مو لتصحيح الأكواد بقدر أنه لشرح الأكواد و تعليم الناس كيف تكتب كود و لازم الواحد يكون هو اللي كاتب الكود مو جايبه من برة.
الصفحة test1.php:

راح أعمل تعليقات على الكود سطر وراء سطر بس خليني أقول الغاية منه باختصار:
بالأول عمل شرط إذا كان المستخدم ضغط على زر التسجيل أم لا و إن ضغط ينشأ متحول اسمه $i و قيمته صفر و هو مثل عداد يعد الأخطاء و بعدها يفحص كل حقل إن كان فارغ أم لا و لو كان أي حقل من الحقول فارغ يعرض رسالة خطأ بأن الحقل فارغ و يزيد قيمة العداد بمقدار واحد و في النهاية وضع شرط أخير و هو إن كانت حقل الباسوورد متطابق مع حقل تأكيد الباسوورد و أيضاً يزيد العداد في حال عدم التطابق.
طبعاً العداد لن يزيد إلا في حال وجود خطأ و عند عدم وجود خطأ تبقى قيمة العداد صفر لذلك وضع شرط قبل الإتصال بقاعدة البيانات أن يكون قيمة العداد صفر و إن كانت صفر يتصل بقاعدة البيانات و ينشأ كويري و هو أمر SQL لإدخال المعلومات في قاعدة البيانات و يرسل الكويري إلى القاعدة فإن نجح الكويري وهو الشرط الأخير يعرض رسالة تم التسجيل بنجاح.

المرة الجاي أخ شريف ياريت تلصق الكود بالمنتدى لأنو رابيد شير ممكن يحذف الكود في أي وقت و لو التنسيق مو مزبوط لما تنسخة و تحطه بالمحرر عندك راح يكون الكود منسق، هذا هو الكود قبل التعديل و راح أعلق على كل سطر بالسطر اللي قبله:


تنزيل المصدر  نص برمجي

<!-- لن أعلق على كود إنشاء الفورم لأنه سهل و لكن كان المفروض أن يكون كود الفورم بعد كود الـ PHP -->

<h1><b><p align=middle>Register field</p></b></h1>

<form action =<?echo $_SERVER["PHP_SELF"] ?> method = post>
<table>

<tr>
<td>Name</td><td><input type=text name=username></td>
</tr>

<tr>
<td>password</td><td><input type=password name=password></td>
</tr>

<tr>
<td>confirm pass</td><td><input type=password name=cpassword></td>
</tr>

<tr>
<td>E-mail</td><td><input type=text name=mail></td>
</tr>
</table><br>
<input type=submit name=register value=register>
</form>



<?php
//افحص غن تم الضغط على زر التسجيل في الفورم
if(isset($_POST['register'])){
// أنشأ عداد و ضعه في متحول و اجعل له قيمة ابتدائية تساوي الصفر   
   $i=0 ;
   
   //افحص إن كان حقل الإسم فارغ أم لا
   
   if (empty($_POST['username'])) {
   // إن كان فارغ اعرض رسالة خطأ   
   echo "<b>Username Field Is Empty</b><br>"  ;
   // قم بزيادة العداد بمقدار واحد إن كان الحقل فارغ
   $i++ ;
   }
   //افحص إن كان حقل كلمة المرور فارغ أم لا

   if(empty($_POST['password']))  {
   // إن كان فارغ اعرض رسالة خطأ
   echo "<b>Password Field Is Empty</b><br>" ;
   // قم بزيادة العداد بمقدار واحد إن كان الحقل فارغ
   $i++ ;
   }
   
   //افحص إن كان حقل تاكيد كلمة المرور فارغ أم لا   
   if(empty($_POST['cpassword'])) {
   // إن كان فارغ اعرض رسالة خطأ
   echo "<b>Confirm Pass Field Is Empty</b><br>";
   // قم بزيادة العداد بمقدار واحد إن كان الحقل فارغ
   $i++ ;
   }
   
   //افحص إن كان حقل البريد الإلكتروني فارغ أم لا
   if(empty($_POST['mail'])) {
   // إن كان فارغ اعرض رسالة خطأ
   echo "<b>Mail Field Is Empty</b><br>";
   // قم بزيادة العداد بمقدار واحد إن كان الحقل فارغ
   $i++ ;
   }
   
   //افحص تطابق حقل كلمة المرور و تأكيد كلمة المرور
   
   if( $_POST['password'] != $_POST['cpassword']  ) {
// اعرض رسالة خطأ في حال عدم التطابق
   echo "<b>password wrong</b><br>" ;
// قم بزيادة العداد بمقدار واحد في حال عدم التطابق
   $i++ ;
   }
   
/*
تصميم قاعدة البيانات:
جدول واحد باسم users فيه الحقول التالية بالشكل التالي

TABLE user

+---------------+-------------------+-----------+---------+--------------+-----------------------+
| Field            | Type                | Null        | Key      | Default     | Extra                    |
+--------------+--------------------+-----------+---------+--------------+-----------------------+
| id               | int(11)              | NO         | PRI     | NULL          | auto_increment   |
| name        | varchar(10)      | YES        |           | NULL          |                             |
| pass          | varchar(10)      | YES        |           | NULL          |                             |
| mail          | varchar(20)      | YES        |           | NULL          |                             |
+-------------+--------------------+-----------+-------+---------------+-----------------------+
*/

// افحص إن كانت قيمة العداد تساوي الصفر يعني لا يوجد أخطأ أو حقول فارغة   
   if ($i == 0) {
// اتصل بقاعدة البيانات      
      $connect=@mysql_pconnect("localhost","root","") or die(mysql_error()) ;
// اختر القاعدة      
      $db=@mysql_select_db("inf") or die(mysql_error()) ;
// قم بإنشاء الكويري      
      $query="insert into users (name,pass,mail) values " ;
 // تكملة الكويري       
      $query.="('$username' , '$password' , '$mail') " ;
// إرسال الكويري إلى قاعدة البيانات      
      $result=@mysql_query($query) or die(mysql_error()) ;
// عند النجاح في إرسال الكويري أي النجاح في إدخال البيانات إعرض رسالة نجاح التسجيل      
      if($result) echo "<b>register succed</b>" ;
      
      }
}


?>




التعليق على الكود:
عدم الإلتزام بقواعد XHTML في صناعة الفورم و هو أن تكون قيمة كل خاصية بين علامتي إقتباس و التاك الذي ليس له تاك آخر ينهيه يجب أن ينهي نفسه بنفسه بوضع / قبل اغلاق التاك، كمثال انظر التالي:

الكود الخطأ:
<input type=submit name=register value=register>

الكود المثالي:
<input type="submit" name="register" value="register" />

وضع الفورم قبل كود الـ PHP ليس له معنى، و كان الأفضل إلا يظهر الفورم إلا في حالة زيارة الصفحة لأول مرة، أما بعد الضغط على زر التسجيل لا داعي لظهور الفورم، اتبع الطريقة التي اتبعتها في درس عمل الآلة الحاسبة، عند الضغط على زر التسجيل لا يجب أن يظهر الفورم.

لا داعي للعداد أبدا لعدم تعقيد الكود كان من الممكن وضع رسالة خطأ افتراضية فارغة ثم إضافة أي خطأ يمكن أن يحصل عليها و من ثم عرضها في الآخر عند وجود خطأ.

استعمل الفانكشنز الجاهزة في PHP لتحويل كلمة السر و تأكيدها إلى أحرف صغيرة قبل المقارنة و إدخالها في قاعدة البيانات لأن المستخدم ربما يدخلهم بأحرف صغيرة و كبيرة معاً ثم ينسى ذلك فيما بعد، و استعمل عند المقارنة فانكشن جاهزة في PHP قمت بشرحها في أحد دروس الفانكشنز الجاهزة الخاصة بالنصوص.

استعمال mysql_pconnect بدل mysql_connect أمر ممتاز لأنه يفتح الإتصال إلا في حال عدم وجود اتصال بالقاعدة من قبل و يبقيه مفتوح و تقريباً الإتصال بقاعدة البيانات يعتبر من أبطأ الفانكشنز في الـ PHP لذلك من الأفضل استعمال هذه الدالة باختصار: في حال وجود اتصال لا تنشأ اتصال غيره بل استعمل الإتصال الموجود مسبقاً و لكن ربما تبطأ العملية أحياناً لأنه يجب عليه في كل مرة أن يفحص إن كان هناك اتصال أم لا و هذا على كل حال أسرع من إنشاء اتصال جديد.

لا داعي لفصل الكويري في سطرين أبداً في هذه الحالة.

أترك لك كتابة الكود بعد أن تقرأ التعليق عليه و تتبع التعليمات اللي قلتلك عليها و من ثم أحسن الكود أكثر و سأضع الكود تحت موضوعك، بس ياريت الشرح يكون أوفى و بالعربي أخ شريف.

السلام عليكم و رحمة الله
عدل بواسطة Hussam في 11-10-2009 14:54


عريت من الشــباب و كــان غضاً كما يعرى من الورق القضيبُ
ونُحت على الشباب بدمع عيني فما يجدي البكـاء ولا النحيـب
فيـا أسـفاً أسـفت على شـباب نعاه الشيب والرأس الخضيب
ألا ليت الشــباب يعـــود يـــومـاً فأخبره بمــا فعل المشـــيب


موقعي الشخصي
http://tutorialti.../About_Me/
 
http://tutorialtip.com/About_Me/
Hussam
# 4 طباعة المشاركة
المشاركة في 11-10-2009 02:37
صورة المستخدم



المشاركات: 238
الاشتراك: 2008.06.13

بالنسبة لصفحة تسجيل الدخول اللي هي الصفحة test.php الكود كله غير جيد لأنه باختصار كود HTML داخل تاك PHP على شكل طباعة و ما كان في داعي لأمر echo أصلاً و ما في داعي تحطه داخل تاك PHP و هو كله HTML.

هذا هو الكود:

تنزيل المصدر  نص برمجي
<?


echo "<b><p align = middle color=red><font size = 6>Script</font></p><b>" ;
echo "<form method=post action=login.php>
<table>

<tr>
<td>Username</td>
<td><input type=text  name=username></td>
</tr>

<tr>
<td>Password</td>
<td><input type=password name=password></td>
</tr>


</table>

<input type=submit name=login value=login>
<font size=2>To Register Press <a href=test1.php>Here</a></font></form><hr><hr>" ;


?>




أعطيك ملاحظة تفيدك، لا تضع الـ HTML داخل الـ PHP بل إفعل العكس، إلا في حالات الضرورة و التزم بقواعد XHTML أنت أهملتها في الصفحة التانية اللي هي test.php كما أهملتها في الصفحة الأولى.
عدل بواسطة Hussam في 11-10-2009 03:18


عريت من الشــباب و كــان غضاً كما يعرى من الورق القضيبُ
ونُحت على الشباب بدمع عيني فما يجدي البكـاء ولا النحيـب
فيـا أسـفاً أسـفت على شـباب نعاه الشيب والرأس الخضيب
ألا ليت الشــباب يعـــود يـــومـاً فأخبره بمــا فعل المشـــيب


موقعي الشخصي
http://tutorialti.../About_Me/
 
http://tutorialtip.com/About_Me/
Hussam
# 5 طباعة المشاركة
المشاركة في 11-10-2009 02:51
صورة المستخدم



المشاركات: 238
الاشتراك: 2008.06.13

على كل حال أخي أنا راح أعمل درس اليوم أو بكرة عن التشفير استنى الدرس ينزل قبل ما تحط الكود بعد التعديل لأنو بدي تشفر كلمة المرور قبل ما تروح على الداتا بيس مشان إذا حصل اختراق للداتا بيس ما يقدر أحد يعرف كلمات المرور و مشان المشرفين على الموقع ما يعرفوا كلمات مرور المستخدمين.

بالتوفيق.


عريت من الشــباب و كــان غضاً كما يعرى من الورق القضيبُ
ونُحت على الشباب بدمع عيني فما يجدي البكـاء ولا النحيـب
فيـا أسـفاً أسـفت على شـباب نعاه الشيب والرأس الخضيب
ألا ليت الشــباب يعـــود يـــومـاً فأخبره بمــا فعل المشـــيب


موقعي الشخصي
http://tutorialti.../About_Me/
 
http://tutorialtip.com/About_Me/
sherif magdy
# 6 طباعة المشاركة
المشاركة في 11-10-2009 14:45


المشاركات: 13
الاشتراك: 2009.09.29

اشكرك على الملاحظات و سأعمل بها ان شاء الله

 
sherif magdy
# 7 طباعة المشاركة
المشاركة في 13-10-2009 15:30


المشاركات: 13
الاشتراك: 2009.09.29

قمت بعمل بعض التعديلات منها
1- الاتزام بقواعد xhtml قدر الامكان

2- اظهار رساله خطأ اذا كان االاسم موجود من قبل

3- تشفير كلمة المرور قبل اظهارها

وان شاء الله سأبدأ ببعض الميزات الجديدة
منها ارسال ايميال بعد التسجيل
و التحقق من المدخلات بواسطة الدالة ereg
للحماية من ثغرات sql

الملف الاول
http://rapidshare...t.php.html

الثانى
http://rapidshare...1.php.html

lمنتظر رايك معلمى حسام
 
Hussam
# 8 طباعة المشاركة
المشاركة في 13-10-2009 16:35
صورة المستخدم



المشاركات: 238
الاشتراك: 2008.06.13

طيب راح أحمل الكود و أشوفه و أرد عليك.

المرة الجاية حط الكود بالمنتدى مشان اللي يفتح الموضوع يشوف الكود فوراً و كمان الرابيد شير ممكن يحذفه.

تذكر دائماً مقولتي الشهيرة "لو كان الرابيد شير رجلاً لقتلته"


عريت من الشــباب و كــان غضاً كما يعرى من الورق القضيبُ
ونُحت على الشباب بدمع عيني فما يجدي البكـاء ولا النحيـب
فيـا أسـفاً أسـفت على شـباب نعاه الشيب والرأس الخضيب
ألا ليت الشــباب يعـــود يـــومـاً فأخبره بمــا فعل المشـــيب


موقعي الشخصي
http://tutorialti.../About_Me/
 
http://tutorialtip.com/About_Me/
sherif magdy
# 9 طباعة المشاركة
المشاركة في 14-10-2009 06:28


المشاركات: 13
الاشتراك: 2009.09.29

تنزيل المصدر  نص برمجي
<html>

<head>
<title>script</title>
</head>

<body>
<b><p align = "middle" color="red"><font size = 6>Script</font></p><b>
<form method="post" action="login.php">
<table>

<tr>
<td>Username</td>
<td><input type="text"  name="username" /></td>
</tr>

<tr>
<td>Password</td>
<td><input type="password" name="password" /></td>
</tr>


</table>

<input type="submit" name="login" value="login" />

<font size=2>To Register Press <a href="test1.php">Here</a></font></form><hr><hr>

</body>




</html>







تنزيل المصدر  نص برمجي
<html>

<head>
<title>register</title>
</head>


<body>
<h1><b><p align=middle>Register field</p></b></h1><hr><hr>

<form action =<?echo $_SERVER["PHP_SELF"] ?> method = post>
<table>

<tr>
<td>Name</td><td><input type=text name=username></td>
</tr>

<tr>
<td>password</td><td><input type=password name=password></td>
</tr>

<tr>
<td>confirm pass</td><td><input type=password name=cpassword></td>
</tr>

<tr>
<td>E-mail</td><td><input type=text name=mail></td>
</tr>
</table><br>
<input type=submit name=register value=register>
</form>



<?php

if(isset($_POST['register'])){
   
   $i=0 ;
   
   //check the input if it empty or no
   
   if (empty($_POST['username'])) {
      
   echo "<b>Username Field Is Empty</b><br>"  ;
   $i++ ;
   }
   
   if(empty($_POST['password']))  {
   echo "<b>Password Field Is Empty</b><br>" ;
   $i++ ;
   }
   
   
   if(empty($_POST['cpassword'])) {
   echo "<b>Confirm Pass Field Is Empty</b><br>";
   $i++ ;
   }
   

   if(empty($_POST['mail'])) {
   echo "<b>Mail Field Is Empty</b><br>";
   $i++ ;
   }
   
   //check the password if it the same confirm pass
   
   if( $_POST['password'] != $_POST['cpassword']  ) {
   echo "<b>password wrong</b><br>" ;
   $i++ ;
   }
   
/*
DATABASE inf

TABLE user

+---------------+-------------------+-----------+---------+--------------+-----------------------+
| Field            | Type                | Null        | Key      | Default     | Extra                    |
+--------------+--------------------+-----------+---------+--------------+-----------------------+
| id               | int(11)              | NO         | PRI     | NULL          | auto_increment   |
| name        | varchar(10)      | YES        |           | NULL          |                             |
| pass          | varchar(10)      | YES        |           | NULL          |                             |
| mail          | varchar(20)      | YES        |           | NULL          |                             |
+-------------+--------------------+-----------+-------+---------------+-----------------------+
*/
   
   if ($i == 0) {
      
      $connect=@mysql_pconnect("localhost","root","") or die(mysql_error()) ;
      
      $db=@mysql_select_db("inf") or die(mysql_error()) ;
      
      $q="select count(*) from users where name='$_POST[username]'" ;
      
      $a=mysql_query($q) ;
       
      $b=mysql_fetch_array($a) ;
      
      if($b[0] != 0 ) {
         echo "<b>name already exist</b>" ;
         exit ;
      }
      
      $query="insert into users (name,pass,mail) values " ;
       
      $query.="('$_POST[username]' , sha1(md5('$_POST[password]')) , '$_POST[mail]') " ;
      
      $result=@mysql_query($query) or die(mysql_error()) ;
      
      if($result) echo "<b>register succed</b>" ;
      }
}
   
?>


</body>
</html>


 
sherif magdy
المشاركة في 14-10-2009 06:30


المشاركات: 13
الاشتراك: 2009.09.29

وعندى طلب اخير ارجوا
اضافة كود php فى خيارات التنظيم
مثل المنتديات الاخرى لنستطيع مناقشة الاكواد بسهولة دون رفعها او
وضعها فى محرر

فانا الكود يظهر عندى من اليمين الى اليسار
ويكون غير ملون


 
Hussam
المشاركة في 17-10-2009 03:16
صورة المستخدم



المشاركات: 238
الاشتراك: 2008.06.13

أنا شايف أنك ما طبقت اللي قلتلك عليه بالصفحة التانية أخي.
أخطاء XHTML و كما قلت لك لا داعي للعداد لأنه زيادة في الكود، ممكن أن تستغني عنه و تتفحص الأخطاء بطريقة أسهل.
بالنسبة لتلوين الكود تعرف أخي أن هذا المنتدى ليس كباقي المنتديات و هي أغلبها VB أما هذا فهو برمجية مختلفة هو عبارة عن سكربت أخبار و إدارة محتوى و لكن أنا قمت بتعريبه و أضفت عليه بعض الإضافات و التعديلات ليناسب محتويات موقعي و لكي أستفيد من باقي المزايا في البحث و مركز التحميل و معرض الصور و التعليقات و غيرها كثير من المزايا لكنني منذ فترة لم أحدث النسخة لأنه أظن أنني بحاجة لتعريب النسخة الأحدث و أنتظر نزول نسخة فيها تغييرات جذرية و أقوم بتعريبها و تعديلها مرة أخرى حتى لا يضيع الوقت في تعريب نسخ ليست مختلفة كثيراً عن هذه النسخة.

السلام عليكم
عدل بواسطة Hussam في 17-10-2009 03:20


عريت من الشــباب و كــان غضاً كما يعرى من الورق القضيبُ
ونُحت على الشباب بدمع عيني فما يجدي البكـاء ولا النحيـب
فيـا أسـفاً أسـفت على شـباب نعاه الشيب والرأس الخضيب
ألا ليت الشــباب يعـــود يـــومـاً فأخبره بمــا فعل المشـــيب


موقعي الشخصي
http://tutorialti.../About_Me/
 
http://tutorialtip.com/About_Me/
sherif magdy
المشاركة في 20-10-2009 11:10


المشاركات: 13
الاشتراك: 2009.09.29

السلام عليكم
انا قمت بعمل بعض التعديلات و اكمال بعض الاساسيات وبعدها سأبدأ
بتنظيم الكود كلة و احاول تنفيذ كل ما قلتة وهذا انشاء الله اخر
اضافة ثم ابدأ بتنظيم جميع الصفح

الصفحة االولى
تنزيل المصدر  نص برمجي
<html>

<head>
<title>script</title>
</head>


<body>

<?

if(isset($user)){
   
   echo "you are now online" ;
   
}

else{
?>

<b><p align = "middle" color="red"><font size = 6>Script</font></p></b>
<form method="post" action="test2.php">
<table>

<tr>
<td>Username</td>
<td><input type="text"  name="username" /></td>
</tr>

<tr>
<td>Password</td>
<td><input type="password" name="password" /></td>
</tr>

</table>

<input type="submit" name="login" value="login" />
<font size=2>To Register Press <a href="test1.php">Here</a></font></form><hr /><hr />
<?
}
?>

</body>
</html>




بالنسبة للمتغير $user
فهو خاص بالكوكيز قمت باضافتها لكى لا يتم تسجيل الدخول كل مرة
وسوف اشرحه فى الصفحة الثالثة


الصفحة الثانية

تنزيل المصدر  نص برمجي
<html>

<head>
<title>register</title>
</head>

<body>

<?php

if(isset($_POST['register'])){
   
   $message="" ;
   
   //check the input if it empty or no
   
   if (empty($_POST['username'])) {
      
   $message.="<b>Username Field Is Empty</b><br />"  ;
   }
   
   if(empty($_POST['password']))  {
   $message.= "<b>Password Field Is Empty</b><br />" ;
   }
   
   if(empty($_POST['cpassword'])) {
   $message.="<b>Confirm Pass Field Is Empty</b><br>";
   }
   

   if(empty($_POST['mail'])) {
   $message.="<b>Mail Field Is Empty</b><br>";
   }
   
   //check the password if it the same confirm pass
   
   if(strcmp($_POST['password'] , $_POST['cpassword']) ) {
   $message.="<b>password wrong</b><br>" ;
   }
   echo $message ;
/*
DATABASE inf

TABLE user

+---------------+-------------------+-----------+---------+--------------+-----------------------+
| Field            | Type                | Null        | Key      | Default     | Extra                    |
+--------------+--------------------+-----------+---------+--------------+-----------------------+
| id               | int(11)              | NO         | PRI     | NULL          | auto_increment   |
| name        | varchar(10)      | YES        |           | NULL          |                             |
| pass          | varchar(10)      | YES        |           | NULL          |                             |
| mail          | varchar(20)      | YES        |           | NULL          |                             |
+-------------+--------------------+-----------+-------+---------------+-----------------------+
*/
   
   if ($message == "") {
      
      $connect=@mysql_pconnect("localhost","root","") or die(mysql_error()) ;
      
      $db=@mysql_select_db("inf") or die(mysql_error()) ;
      
      $q="select count(*) from users where name='$_POST[username]'" ;
      
      $a=mysql_query($q) ;
       
      $b=mysql_fetch_array($a) ;
      
      if($b[0] != 0 ) {
         echo "<b>name already exist</b>" ;
         exit ;
      }
      
      $name=strtolower("$_POST[username]") ;
      
      $pass=md5(strtolower("$_POST[password]")) ;
      
      $query="insert into users (name,pass,mail) values ('$name' , '$pass' ,'$_POST[mail]')" ;
      
      $result=@mysql_query($query) or die(mysql_error()) ;
      
      if($result) echo "<b>register succed</b>" ;
      }
}
   
else{
?>

<h1><b><p align="middle">Register field</p></b></h1><hr/><hr/>

<form action =<?echo $_SERVER["PHP_SELF"] ?> method = "post">
<table>

<tr>
<td>Name</td><td><input type="text" name="username" /></td>
</tr>

<tr>
<td>password</td><td><input type="password" name="password" /></td>
</tr>

<tr>
<td>confirm pass</td><td><input type="password" name="cpassword" /></td>
</tr>

<tr>
<td>E-mail</td><td><input type="text" name="mail" /></td>
</tr>
</table><br>
<input type="submit" name="register" value="register" />
</form>
<?}?>

</body>
</html>




الصفحة الجديدة

تنزيل المصدر  نص برمجي
<?


if(isset($_POST['login'])) {
   //اختبار اذا كان المستخدم قد ضغط على زر دخول لتنفيذ هذا الكود         
   $c=mysql_pconnect("localhost","root","") ;
   //الاتصال بالقاعدة   
   mysql_select_db("inf");
   //تحديد قاعدة البيانات المطلوب العمل عليها
   $q="select name from users where ";
   
   $q.="name = '$_POST[username]' and pass=md5('$_POST[password]') " ;
   //هذا هو الاستعلام وهو يتأكد اذا كان الاسم قى قاعدة البيانات ويقوم بتشفير الباسورد قبل المفقارنة
   $quering=mysql_query($q) ;
   //تنفيذ الاستعلام
   $result = mysql_fetch_array($quering) ;
   //وضع الناتج فى مصفوفة تسمى $result
   if ($result[0] != $_POST['username'] || empty($_POST['username'])){
      //التأكد من ناتج المصفوفة اذا كانت لا تساوى الاسم اذا كانت احدى الخانات فارغةلانة اذا كانت الخانتين فارغتين فلن يطبع الرسالة الاتيه
      echo "username or password is wrong" ;
      
      }
   
   elseif($result[0] == $_POST['username']) {
   //وهذا الشرط يقول اذا كانت ناتج المصفوفة يساوى الاسم يقوم بعمل الاتى   
      setcookie("user",$_POST['username'] ,time()+60) ;
      //هذه الدالة لعمل كوكيز و تأخذ ثلاث براميترات الاول هو اسم الكوكيز و الثانى هو قيمتة و الثالث هو مده عمله
      //اذا اردت معرفة تفاصيل هذه الدالة عليك بموقع
      //www.php.net
      echo "YoU ArR NoW LoggeD IN<br />return to <a href='test.php'>homepage</a>" ;
      }
}

?>




عدل بواسطة sherif magdy في 20-10-2009 11:14
 
sherif magdy
المشاركة في 23-10-2009 09:05


المشاركات: 13
الاشتراك: 2009.09.29

ما هو رأيك حتى الان فى الكود
منتظر رأيك
 
Hussam
المشاركة في 25-10-2009 03:07
صورة المستخدم



المشاركات: 238
الاشتراك: 2008.06.13

حتى الآن لا بأس أخي الغالي، يعني كبداية شيء جميل.
إن شاء الله في دروس لوحة التحكم الخاصة بسكربت الزوار التي سأعملها قريباً يكون هناك طرق أسهل و عملية نوعاً ما بالنسبة لتسجيل الدخول.

ملاحظة حاول أن تتبعها دائماً و هي أن تكتب الكود بحيث تستطيع استعماله فيما بعد، يعني حاول أن تحول ما يمكن تحويله إلى فانكشنز و نقله لملف آخر و تسمية الفانكشن و المتحولات أسماء مناسبة و تستعملها في الصفحة و عند ذلك يسهل استعمال نفس الفانكشن في المشاريع التي ستبرمجها بعد أن ينتهي برنامجك هذا مثلاً، يعني اعتمد قاعدة معينة و حاول أن تنشئ مكتبة فانكشنز خاصة بك و لو صغيرة تستعين بها في برامجك المستقبلية حتى لا تعيد كتابة نفس الكود أو أكواد مشابهة مرة أخرى.

بالتوفيق.


عريت من الشــباب و كــان غضاً كما يعرى من الورق القضيبُ
ونُحت على الشباب بدمع عيني فما يجدي البكـاء ولا النحيـب
فيـا أسـفاً أسـفت على شـباب نعاه الشيب والرأس الخضيب
ألا ليت الشــباب يعـــود يـــومـاً فأخبره بمــا فعل المشـــيب


موقعي الشخصي
http://tutorialti.../About_Me/
 
http://tutorialtip.com/About_Me/
الانتقال إلى:
عدد التعليقات
lamin99 في September 01 2010 09:43:41
بارك الله فيك يا معلمنا وزادك من علمه النافع ونفع بك البلاد والعباد
>>مشاهدة الدرس
Hussam في August 30 2010 05:33:03
سيكون هذا في السكربت القادم بعد سكربت دفتر الزوار أخي الكريم. السلام عليكم
>>مشاهدة الدرس
kotsh في August 29 2010 10:58:28
السلام عليكم هل من شرح لو عايز ارفع ملف مرفق مع الدرس او صورة لانو انت استاذي الكريم لم تشرح لنا رفع صورة او ملف وانما فقط حقول فقط ...
>>مشاهدة الدرس
Hussam في August 28 2010 13:02:12
و فيكم بارك الله أخي ... بالتأكيد يمكن أن تستغني عنه و تعمل كل شيء بشكل يدوي و للعلم هذا الملف لا ينشئ قاعدة بيانات و انما ينشئ الجداول و الحقول في...
>>مشاهدة الدرس
lamin99 في August 28 2010 10:03:41
رمضان كريم للجميع وبارك الله فيك معلمنا حسام. سؤال: هل يمكن الإستغناء عن برمجة ملف install وإنشاء القواعد يدويا مثل ما ننشئها في الجهاز الآن؟؟؟؟
>>مشاهدة الدرس
lamin99 في August 28 2010 09:55:04
سؤال ثاني من فضلكم ;) لقد قمنا ببرمجة في[code] $_POST['url'][/code] بحيث يطبعه على شكل لينك وإدا أدخل http:// يمسحها بواسطة الفونكشن str_repla...
>>مشاهدة الدرس
lamin99 في August 28 2010 09:38:12
السلام عليكم ورحمة الله وبركاته، من فضلك عندي مشكلة في برمجة تاريخ الإنشاء، وأظن أنك لم تشرحه يا معلم لأنني لم أجده في الدروس المحملة عندي وبحثت في...
>>مشاهدة الدرس
lamin99 في August 28 2010 09:13:33
السلام عليكم ورحمة الله وبركاته، عندما نسخت الكود إلى php، المشكل أخي هو أنك كتبت includes بدل includs فإدا كان مجلد الإنكلودس مكتوب هكدا فعليك ...
>>مشاهدة الدرس
Hussam في August 26 2010 20:06:34
فكرة جميلة كما قلت لك، هذه الأفكار التي تبتدعها في البرمجة هي المقياس الحقيقي مستواك في البرمجة و ليس التقليد الدائم. بالتوفيق ..
>>مشاهدة الدرس
aissaino في August 26 2010 12:10:56
السلام عليكم، نعم أخي حسام الطريقة الأولى أسهل بكثير ، و لكن فقط فكرت في هذه المعادلة و أردت أن تراها و تقيمها. جزاك الله خيرا على تشجيعِك لي يا ...
>>مشاهدة الدرس
الزيارات غير المكررة: 174,712 وقت التحميل: 0.58 ثانية