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

من فترة نصبت سكربت كليجا لرفع الملفات

صراحة سكربت اعجبني واريد ان اسنفسر عن امرين

في البداية انا شغال على برمجة موقع كبير وراح يستقبل عدد زوار كبير

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

+

عندما قمت باضافة الاسم في قاعدة البيانات باللغة العربية لقيت الاسم نفس الشي بمعنى انه غير مشوه

ارجوا افادتي

شكرا
تاريخ البداية: 28 / يناير / 2012 الساعة 23:4 اخر نشاط: 4 / مايو / 2012 الساعة 13:51 عربية php mysql

ماذا تقصد باضافة لقاعدة البيانات؟ هل استعملت phpmyadmin ام من الخارج؟
28 / يناير / 2012 الساعة 23:9

اهلا بك , اقصد من خلال برمجة
28 / يناير / 2012 الساعة 23:11

لم افهم ما تقصد ، هل تضيفه عليه ان يظهر مشوه؟
28 / يناير / 2012 الساعة 23:15

اعتقد ما وصلتك الفكرة عند الاستعلام تظهر لغة عربية تمام التمام لكن عندما ادخل الـ phpmyadmin , واعرض الحقول تظهر غريبة مثل "ØÇÑÞ ÇÍãÏ " اتسائل كيف تمكن مبرمجي سكربت كليجا من ظهور البيانات المدخلة في phpmyadmin باللغة العربية
اتمنى ان تكون الامور واضحة
شكرا
28 / يناير / 2012 الساعة 23:52

عن طريق <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
28 / يناير / 2012 الساعة 23:56

حتى تكون الامور اوضح , اللغة بالفعل لغة عربية لكن المشكلة مثلا لو كتبت "فيس بوك" عند الاستعلام تظهر "فيس بوك" لكن عندما ادخل الــ phpmyadmin
تظهر بهذا الشكل ""ØÇÑÞ ÇÍãÏ ""
28 / يناير / 2012 الساعة 23:56

لا يوجد مشكلة بالترميز
28 / يناير / 2012 الساعة 23:56

اها اللغة العرابية معروفة انها لا تعمل فى الـphpmyadmin لان ترميزه لا يدعمها ولو كتبتها من خلاله ستظهر به ولن تظهر خارجه
28 / يناير / 2012 الساعة 23:58

هذه ما اعرفه , لكن عندما جربت سكربت كليجا اي عضو يسجل باللغة العربية يظهر كما هو في الــ phpmyadmin
29 / يناير / 2012 الساعة 0:0

هذا حال اى اسكربت وليس كليجا
29 / يناير / 2012 الساعة 0:9

طيب شو بيستخدمو ^_^
29 / يناير / 2012 الساعة 0:59

أولا على الترميز في قاعدة البيانات ان يكون utf-8 و كذلك الحال في صفحة الإدخال إجعلها utf-8
29 / يناير / 2012 الساعة 10:36

http://www.sqlbuddy.com/
29 / يناير / 2012 الساعة 17:10

5 إجابات
أنا لن أتكلم عن طرق البرمجة، فالإخوة غطوها ... لكن لننظر ناجية السيرفر.

أولاً، يجب أن تقوم بـStress Test لمعرفة مدى إحتمال السيرفر و الموقع ...
ثانياً، و الأهم التأمين. و هذا عن طريق Penetration Testing و SQL Injection لأن المبرمجين فى بعض الأحيان ينسون الكشف عن المدخلات. و هذا يسبب خلل فى الموقع و يسمح للهاكرز بالدخول و سحب قاعدة البيانات و هذه تعرف بإسم SQL Dump

بواسطة: sikas
منذ: 4 / مايو / 2012 الساعة 13:51

بالنسبة للبرمجة الأفضل عليك استخدام الكلاسات فهي تسهل عليك الكثير
اما بالنسبة للغة العربية بالاضافة الى استخدام ترميز utf8 في الهيدر أعلى الصفحة وكذا نوع ترميز الصفحة من خصائص الصفحة من خلال الدريم ويفر أو يمكنك تحويلها باستخدام مفكرة الويندوز
لكن ان كان كل شيء يعمل والمشكلة الوحيدة هي في ادخال واستخراج البيانات من قاعدة البيانات عليك استعمال الاسطر التالية في ملف الاتصال عند استخدام دالة الاتصال
mysql_query("SET character_set_client=utf8");
mysql_query("SET character_set_connection=utf8");
mysql_query("SET character_set_database=utf8");
mysql_query("SET character_set_results=utf8");
mysql_query("SET character_set_server=utf8");
كما يجب عند انشاء قاعدة البيانات بأن تكون MySQL connection collation: utf8-general-ci

بواسطة: al3rdan
منذ: 27 / مارس / 2012 الساعة 18:58

استخد هذا الكود بعد الاتصال بقاعدة البينات مباشرة
mysql_set_charset('utf8'); 

بواسطة: Amer
منذ: 29 / يناير / 2012 الساعة 9:37

لا تستعمل SELECT * لان كلما كثرت الحقول الذى تريد قارئتا ستسبب حمل كبير
// غير مفضل
$r = mysql_query("SELECT * FROM user WHERE user_id = 1");
$d = mysql_fetch_assoc($r);
echo "Welcome {$d['username']}";

// الافضل:
$r = mysql_query("SELECT username FROM user WHERE user_id = 1");
$d = mysql_fetch_assoc($r);
echo "Welcome {$d['username']}";
وايضا لا تستعمل ORDER BY RAND() لانها ثقيلة للغاية وتسبب مشكل البطىء
// حاول الا تفعل هذا:  
$r = mysql_query("SELECT username FROM user ORDER BY RAND() LIMIT 1");  
  
// مفضل اكثر:  
  
$r = mysql_query("SELECT count(*) FROM user");  
$d = mysql_fetch_row($r);  
$rand = mt_rand(0,$d[0] - 1);  
  
$r = mysql_query("SELECT username FROM user LIMIT $rand, 1"); 

وايضا لابد ان يوجد حقل id فى اى جدول ويكون PRIMARY KEY و AUTO_INCREMENT و INT و يفضل ايضا ان يكون UNSIGNED حتى لا يحمل اشارة سالبة

بواسطة: molhm
منذ: 28 / يناير / 2012 الساعة 23:37

ممتاز شكرا جزيلا لك ارجوا افادتي في امور اخرى اذا توفرت
28 / يناير / 2012 الساعة 23:48

بالنسبة للمواقع الكبيرة يفضل عدم استعمال الكثير من الاستعلامات اى محاولة استخدام اوامر join للدخول الى الجداول الاخرى فى نفس الاستعلام لتتخفيف من الامر ، فانا كنت اعمل فى موقع كبير كانت هذه مشكلته ، يوجد به الكثير من الاستعلامات وعندما يصل عدد زواره اكثر من 1000 السيرفر يتوقف ، واستعملنا نظام الكاش.

بواسطة: MacOS
منذ: 28 / يناير / 2012 الساعة 23:7

شكرا لردك
ارجوا افادتي باوامر الــ join
وان شاء الله راح اتجنب الاستعلامات الكثيرة قدر الامكان
28 / يناير / 2012 الساعة 23:10

بالتاكيد كمثال ، بدلا من ان تحضر المقالة فى استعلام واسم العضو كاتب المقالة فى استعلام منفصل يمكنك عمل الاثنين فى واحد باوامر الجوين
28 / يناير / 2012 الساعة 23:12

معلش اخوي ارجوا التوضيح اكثر :)
28 / يناير / 2012 الساعة 23:13

لو سمحت اذا فيك توضيح "واستعملنا نظام الكاش"
شكرا
29 / يناير / 2012 الساعة 1:13

بدلا من ان كل مرة تتصل بقاعدة البيانات وتاتى بنفس الشىء الكاش يحفظ البيانات كملفات بها مصوفوفات على السيرفر ويحدثها كل عدد من الثوانى بدلا من الاتصال بسيرفر قاعدة البيانات
29 / يناير / 2012 الساعة 9:10

نعم و يفضل استعمال نظام قوالب سمارتي للمشاريع الكبيرة لانه نظام قوالب سمارتي يحتوي على نظام كاش جاهز
29 / يناير / 2012 الساعة 10:40

ممكن شروحات عن نظام سمارتي بارك الله فيكم صراحة بحثت باللغة العربية لم اجد موضوع شامل بهذا الخصوص
وشكرا
29 / يناير / 2012 الساعة 13:28

هذا موقعهم smarty.net ليس عندي دراية به جيداً لأنني أعمل بدون نظام قوالب إن شاء الله الأخوة يفيدوك
29 / يناير / 2012 الساعة 17:32

حمل المحرك + المثال المرفق وانظر به راح تفهم كيف يعمل وبعد ذلك ادخل المنوال
29 / يناير / 2012 الساعة 18:52

شوفت بعض الشروحات على الانترنت لكن تحس انها لغة ثانية ^_^
شكرا للجميع :)
29 / يناير / 2012 الساعة 20:14

لو عندك بعض لخبرة فيك يمكن أن لا تستعمل نظام القوالب تبرمج عادي و تضيف نظام الكاش الى برمجياتك
29 / يناير / 2012 الساعة 20:40

والله شايف نظام القوالب معقد راح ابحث عن شرحات بنظام الكاش
29 / يناير / 2012 الساعة 22:51

أنشر اجابتك

xهل تريد الاجابة عن هذا السؤال؟ من فضلك سجل دخول او اشترك لتتمكن من الاجابة