التغطية المصورة ليوم سوالف: الجزء الأول، الجزء الأخير
الفائزون في المسابقة الأصغر لسوالف كاست

 

العودة   سوالف سوفت > قسم تطوير وبرمجة المواقع للمتقدمين > PHP
المدوّنات البحث مشاركات اليوم اجعل كافة المشاركات مقروءة

موضوع مغلق  
 
LinkBack أدوات الموضوع
عضو فعال جدا
تاريخ التسجيل: Dec 2000-
#1 (permalink)  
الحاجة أم الإختراع ( 6 ) : كود التبليغ ؟!!


السلام عليكم ..
حياكم الله يا شباب .. و نقول صباح الخير لمن عنده صباح و مساء الخير لمن عنده مساء .. و صباح الليل للي توه قايم من النوم ..

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

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

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

غالباً يتم وضع كود التبليغ في ملف تركيب السكربت install.php مثلاً ..
و بالطبع بهذا الملف يتم زراعة قاعدة البيانات على الغالب و من ثم بعد تركيب القاعدة يتم عمل كود التبليغ ..
لذا فالسكربتات التي تحتاج لزراعة القاعدة يدوياً غالباً لا يكون فيها كود تبليغ ..

و التبليغ غالباً يكون عن رابط الموقع الذي قام بتركيب السكربت .. و يتم ذلك عن طريق الإستعلام بمتغيرات و غالباً تستخدم المتغيرات التالية :
- $HTTP_REFERER و هو يقوم بجلب الصفحة الأخيرة التي فتحت بالمتصفح قبل تنفيذ الكود ..
- $HTTP_HOST و هو يقوم بجلب رابط الموقع ..
- $PHP_SELF يقوم بجلب رابط الملف ..
كما أنه بعض المبرمجين يضع في ملف الكونفج متغير $SITEURL مثلاً لكي يتم وضع رابط الموقع من قبل المستخدم و من ثم عند التبليغ يتم إرسال ما كتبه المستخدم في هذا المتغير ..

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

# الطريقة الأولى /
التبليغ عن طريق البريد الإلكتروني و هي من أسهل الطرق و تعتمد على أمر إرسال بريد إلكتروني بلغة php و هي :

كود PHP:
mail("email@domain.ltd","subject","message"); 
و طبعاً كما تلاحظون هناك خانة لكتابة البريد الإلكتروني الذي ترسل الرسالة له و كذلك موضوع الرسالة و محتوى الرسالة ..
طبعاً في هذه الطريقة يتم إستبدال البريد الإلكتروني السابق ببريد المبرمج و قد لا يهم كتابة موضوع للرسالة حتى لا يكون لافت للإنتباه .. يمكن وضع رمز - أو . ..
و طبعاً يتم وضع أحد المتغيرات المذكورة سابقاً بدلاً من message ..

مثال :

كود PHP:
mail("reda1@flashmail.com","---","$HTTP_REFERER"); 
و طبعاً يوضع الأمر غالباً كما ذكرنا سابقاً في ملف التركيب بعد أمر زراعة قاعدة البيانات مثلاً ..

# الطريقة الثانية /
طريقة ربما فيها قليل من الصعوبة لكنها عملية و مفيدة ..
هي تعتمد على وضع كود بسيط في ملف تركيب السكربت يقوم بفتح سكربت في موقع المبرمج طبعاً مع إرسال المعلومات المطلوبة و يتم تخزين رابط الموقع مثلاً في قاعدة بيانات السكربت الموضوع في موقع المبرمج ..
و فكرتها كالتالي :
السكربت الذي يوضع في موقع المبرمج و ستحتاج لعمل قاعدة بيانات مثل هذه :

كود PHP:
CREATE TABLE `code` (
  `
idint(10unsigned NOT NULL auto_increment,
  `
urlvarchar(255NOT NULL default '',
  
PRIMARY KEY  (`id`),
  
KEY `id` (`id`)
TYPE=MyISAM
حسب السابق أسمينا الجدول code و هو يحتوي على حقل للرقم التسلسلي id و حقل لحفظ رابط المواقع التي قامت بتركيب السكربت و هو حقل url .. يمكن مستقبلاً و حسب إحتراف المبرمج إضافة حقول أخرى تاريخ التركيب مثلاً لن أتطرق لها بهذا الدرس لعدم أهميتها !! ..

طبعاً سنحتاج بعد هذا للسكربت الذي يقوم المبرمج بوضعه بموقعه و فيه يتم تخزين رابط موقع المستخدم بقاعدة البيانات و هو كالتالي و لنفترض أن إسمه site.php :

كود PHP:
<?php
$dbserver
="localhost";
$dbusername="";
$dbpassword="";
$dbname="code";
mysql_connect($dbserver,$dbusername,$dbpassword);
mysql_select_db($dbname);
if(isset(
$url)){
mysql_query("INSERT INTO code (url)VALUES('$url')");
}
?>
طبعاً كما هو ملاحظ قمنا بالسطور الأربعة الأولى بوضع كود التعرف على قاعدة بيانات ثم بالسطرين التي تلتها كود لعمل إتصال بقاعدة البيانات و في السطر السابع وضعنا شرط متعلق بأن لا تعمل الأوامر التي بداخله إلا إذا كان الرابط على الشكل site.php?url=http://www.domain.ltd مثلاً ..

و الأمر الذي بداخله هو أمر إدراج في قاعدة البيانات قيمة المتغير url و الذي سيكون رابط موقع المستخدم ..

بقي علينا كتابة الكود الذي نضعه في ملف التركيب install.php ..

كود PHP:
@fopen("http://localhost/code/site.php?url=http://"."$HTTP_HOST"."$PHP_SELF","r"); 
طبعاً كما ذكرنا يوضع هذا الكود بعد أمر زراعة قاعدة البيانات في ملف التركيب و نلاحظ فيه أمر فتح رابط و هو رابط السكربت الذي قمنا بعمله قبل قليل و الذي نضعه بموقع المبرمج و نلاحظ أن المتغير url سيحمل فيه قيمة هي عبارة عن رابط الموقع + رابط الملف بعكس الطريقة السابقة وضعنا فيها الصفحة التي سبقت تنفيذ الكود .. و طبعاً عند فتح رابط صفحة بالشكل السابق سيكون تلقائياً رابط موقع المستخدم مسجلاً فيه و من ثم يتم تخزينه بقاعدة البيانات ..

# كيف سنعرف المواقع التي تم حفظ رابطها ؟!!
إما بفتح القاعدة و قراءة محتوياتها المخزنة أو عمل سكربت يستعرض الروابط المخزنة بالقاعدة و هو كالتالي :

كود PHP:
<?php
$dbserver
="localhost";
$dbusername="";
$dbpassword="";
$dbname="code";
mysql_connect($dbserver,$dbusername,$dbpassword);
mysql_select_db($dbname);
if(isset(
$url)){
mysql_query("INSERT INTO code (url)VALUES('$url')");
}
if(isset(
$site)){
$query=mysql_query("SELECT url FROM code ORDER BY id DESC");
while(
$result=mysql_fetch_array($query)){
echo 
"$result[url]"."<br>";
}
}
?>
طبعاً هذا السكربت نفسه نفس السابق site.php لكن أضفنا عليه شرط و هو site فإذا كتب في المتصفح تم عرض الروابط المخزنة بقاعدة البيانات ..
و يمكن عرضه عن طريق الرابط :
site.php?site=show مثلاً ..

أتمنى يكون الشرح واضح و أعذروني على سطحية الشرح و عدم المنهجية في ذلك ..
و كما يقال في المثال يتضح المقال فأنا مرفق مع هذا الموضوع ملفات العمل لكود التبليغ إن شاءالله تنتفعون به ..

و صلى الله و سلم على سيدنا محمد ..






الملفات المرفقة
نوع الملف: zip code.zip‏ (834 بايت, المشاهدات 406)
__________________
الملف الشخصي
رضا غير متواجد حالياً   قديم 06-03-2003, 03:02 PM
عضو سوبر نشيط
تاريخ التسجيل: Apr 2002-
#2 (permalink)  

موضوع أكثر من رائع و لكن سأستمتع قليلاً الآن بالاستفادة و أقرأ بتأني أكثر

يعطيك العافية أخي الحبيب رضا

سلامي






__________________
http://www.nawafithna.com
Obai غير متواجد حالياً   قديم 06-03-2003, 03:06 PM
عضو فعال
تاريخ التسجيل: Feb 2002-
#3 (permalink)  

من اسمك .. الله يرضا عليك ويجزيك عن كل من يستفيد من دروسك ألف ألف خير .

كفيت ووفيت أخي رضا جعلك للعافية .






__________________
ومامن كاتب إلا سيفنى ****** ويبقي الدهر ماكتبت يداه
فلا تكتب بكفك غير شيء ****** يسرك يوم القيامة أن تراه
Dr.Server غير متواجد حالياً   قديم 06-03-2003, 03:06 PM
The Big M
تاريخ التسجيل: Sep 2001-
#4 (permalink)  

جزاك الله خير ، و من حقك وضع كود التبليغ و من حق اي مبرمج وضع كود تبليغ في برنامجه

جزاك الله خير عن الدرس

الله يوفقك


--------------------

ملاحظة : قبل لا اسوي رد ما كان احد رد
بس دخلت عشان اكتب الرد ، لقيت اخواني ما شاء الله ، ردين






__________________
لاَ اِلَهَ اِلاَّ اَنْتَ سُبْحَانَكَ اِنِّي كُنْتُ مِنَ الظَّالِمِينَ

كيف تستخدم Google Adwords Keyword Tool

مدون الادسنس !

الألفاظ هي الثياب التي ترتديها أفكارنا، لذا ..يجب ألا تظهر أفكارنا في ثياب رثة بالية
محمود المسعودي غير متواجد حالياً   قديم 06-03-2003, 03:10 PM
عضو نشيط جدا
تاريخ التسجيل: Aug 2002-
#5 (permalink)  

جزاك الله خير اخي رضاء ووفقك الى مايحبة ويرضاه

معلومه مهمه وقليل الذي يخبرنا عنها

تحياتي






__________________
== قيد الصيانة والتحديث راجعنا القرن بعد القادم ==
Abo Waled غير متواجد حالياً   قديم 06-03-2003, 09:21 PM
عضو سوبر نشيط
تاريخ التسجيل: Nov 2001-
#6 (permalink)  

جزاك الله خير على هل الدرس الجميل
ووفقك الله وبارك فيك ويسر عليك






أبو الوليد غير متواجد حالياً   قديم 06-03-2003, 10:41 PM
عضو فعال جدا
تاريخ التسجيل: Dec 2000-
#7 (permalink)  

ooobe.com .. الله يعافيك أخوي و أتركك براحتك تستمتع ..

Dr.Server .. الله يسلمك يالغالي و يرضى علينا كلنا ..

Moodeey .. مشكور و حياك الله ..

Abo Waled .. و إياك أخي و إن شاءالله تحصل الفائدة المرجوة من الموضوع ..

awilah .. مشكور على ردك أخي الحبيب و نفعنا الله و إياك به ..

يا إخوة .. هل يوجد شخص جرب الكود ؟!! .. أريد مرئيات و مقترحات ..






__________________
الملف الشخصي
رضا غير متواجد حالياً   قديم 07-03-2003, 12:37 AM
عضو نشيط جدا
تاريخ التسجيل: Jul 2001-
#8 (permalink)  

جزاك الله خير يارضا على هذا الموضوع الجميل
يسلموو






__________________
>>>>>>>>>>
qatarinet غير متواجد حالياً   قديم 07-03-2003, 01:05 AM
عضو سوبر نشيط
تاريخ التسجيل: Mar 2002-
#10 (permalink)  

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






__________________
Back To Track
php master غير متواجد حالياً   قديم 07-03-2003, 02:25 AM
عضو سوبر نشيط
تاريخ التسجيل: Mar 2002-
#12 (permalink)  

ههههههههههههه
فعلا والله يا بيشو البرنامج رهيب بالفعل






__________________
Back To Track
php master غير متواجد حالياً   قديم 07-03-2003, 08:36 AM
عضو نشيط
تاريخ التسجيل: Nov 2002-
#13 (permalink)  

مشكور أخى رضا على هذا الدرس القيم
لقد جربت الأسكريبت و الحمد لله شغال بنسبة ممتازة لكن ممكن من أضافة بسيطة
الا وهى تاريخ تنصيب الأسكريبت على الموقع ( الفلانى )
يعنى يكون رابط الموقع + تاريخ التنصيب






__________________
«·´`·.(*·.¸(`·.¸ ¸.·´)¸.·*).·´`··»
«·´¨*·.¸¸ * P H P Z * ¸.·*¨`·»
«·´`·.(¸.·´(¸.·* *·.¸)`·.¸).·´`·»
phpz غير متواجد حالياً   قديم 07-03-2003, 08:47 AM
عضو فعال جدا
تاريخ التسجيل: Dec 2000-
#14 (permalink)  

qatarinet .. و إياك أخي .. حياك الله ..

beshoo .. مشكور عالتعقيب و ياليت أشوفك عالمسنجر reda1@flashmail.com .. و لعلك تقدم درس في التشفير يستفيد منه الجميع ..

php master .. و إياك أخي الحبيب و حياك الله ..

phpz .. عفواً أخي و لعله الليلة إن شاءالله أضيف تعقيب شرح لما ذكرت ..






__________________
الملف الشخصي
رضا غير متواجد حالياً   قديم 07-03-2003, 12:00 PM
عضو فعال جدا
تاريخ التسجيل: Dec 2000-
#15 (permalink)  

طلب الأخ phpz كيفية وضع تاريخ التركيب في كود التبليغ ..
يتم ذلك عن طريق دالة التاريخ في لغة ال php ..
هذا حل لهذا الطلب حسب الطريقة الأولى يتم التالي :

كود PHP:
$date=gmdate("d/m/Y");
mail("reda1@flashmail.com","$date","$HTTP_REFERER"); 
لكن لاحظ أن التاريخ سيكون تاريخ السيرفر المركب به السكربت حيث لو كان التاريخ غلط في السيرفر حق المستخدم فسيكون غلط ..
و إن شاءالله يكون واضح التغيير ..

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






__________________
الملف الشخصي
رضا غير متواجد حالياً   قديم 07-03-2003, 03:02 PM
عضو نشيط
تاريخ التسجيل: Jun 2003-
#16 (permalink)  

في الطريقة الثانية
كود PHP:
mail("reda1@flashmail.com","---","$HTTP_REFERER"); 
كيف يتم معرفة عنوان الموقع الذي قام باستخدم الاسكربت






__________________
إستخدم ملفك الخاص لكتابة توقيعك
egypt66 غير متواجد حالياً   قديم 07-01-2004, 09:42 AM
عضو فعال
تاريخ التسجيل: Feb 2003-
#17 (permalink)  

egypt66 :
بواسطة $HTTP_REFERER






__________________
العضوية الجديدة: Foxhound
fnan4arab غير متواجد حالياً   قديم 07-01-2004, 03:10 PM
عضو نشيط
تاريخ التسجيل: Nov 2003-
#18 (permalink)  

الف شكر على الموضوع

شكرا اخى الكريم بيض الله وجهك






__________________
هل تريد افلام فلاشيه احترافيه لموقعك ؟؟

تصميمات مواقع احترافيه , تصميم فلاش احترافى بجميع انواعه , تصاميم جرافيك احترافيه

ارسعار لا تقارن...
aCtion غير متواجد حالياً   قديم 12-01-2004, 03:00 PM
عضو نشيط
تاريخ التسجيل: Oct 2003-
#19 (permalink)  

رضا الله يعطيك العافيه






__________________
لتبادل النصي معنا
http://www.8o8o8.com/pagerank.htm

(إدعوا اصدقاؤك لزيارة موقعنا )

اول واكبر موقع عربي للالعاب و التسليه
First and Biggest Arabic Games Center
وشكرا لكم
www.alhosam.net غير متواجد حالياً   قديم 14-01-2004, 02:10 PM
عضو فعال جدا
تاريخ التسجيل: Dec 2000-
#20 (permalink)  

حياكم الله






__________________
الملف الشخصي
رضا غير متواجد حالياً   قديم 16-01-2004, 04:20 AM
موضوع مغلق


 

أدوات الموضوع

تعليمات المشاركة
لا تستطيع كتابة مواضيع
لا تستطيع كتابة ردود
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

كود [IMG] متاحة
كود HTML معطلة
Trackbacks are متاحة
Pingbacks are متاحة
Refbacks are متاحة



الساعة الآن: 08:47 AM بتوقيت المملكة العربية السعودية