التواصل المباشر مع الادارة والاعضاء القدامى من خلال قناة التلغرام



العودة   :: vBspiders Professional Network :: > [ ::. قسم البرمجة ولغاتها .:: ] > برمجة الويب

 
 
LinkBack أدوات الموضوع انواع عرض الموضوع
قديم 02-09-2011, 09:45 PM   رقم المشاركة : 1 (permalink)
معلومات العضو
 
الصورة الرمزية fantome195
 

 

 
إحصائية العضو








fantome195 غير متواجد حالياً

إرسال رسالة عبر MSN إلى fantome195

 

 

إحصائية الترشيح

عدد النقاط : 12
fantome195 is on a distinguished road

افتراضي سكربت لترتيب القوائم البريدية


كثير من الناس يستعمل برامج تنظيم قوائم المراسلات البريدية لإرسال الرسائل لمجموعات من العناوين البريدية لكن المشكلة في هذه البرامج أن رسالتك قد لا تصل للعناوين المقصودة بنسبة 50% ..
و ذلك لسبب أن الكثير من مزودي خدمة البريد يقومون بوضع فلترة للرسائل التي تردهم من برامج قوائم البريد و المراسلات ..
و لعل البعض قد رأى ذلك و هي أنه ترجع إليه عدد من الرسائل التي أرسلها وتعود الى بريده ..
ولذلك فكرت بطريقة جيدة لترتيب العناوين البريدية و من ثم إرسالها عن طريق برنامج الأوتلوك مثلاً أو من خلال أي بريد To ..
لكن بحيث يكون الأمر تلقائي ( الإضافة و ترتيب العناوين ) ..
فنتج هذا السكربت الذي أستخلصته أيضاً من أحد برامج المقالات و قمت بتطويره ليناسب حاجاتنا
و سوف تكون إضافة العنوان البريدي للزائر بالطريقة المعتادة بقوائم المراسلات حيث يكون هناك مربع لإدخال العنوان البريدي ثم الضغط على زر إضافة فيضاف العنوان لقاعدة البيانات ..
و يتم عرض مجموع العناوين البريدية المضافة على الشكل :
email@domain.com; email@domain.com; email@domain.com; email@domain.com; email@domain.com;

و إليكم السكربت ..

# أولاً / أزرع قاعدة البيانات هذه :

PHP:

CREATE TABLE `emails` (


`id` int(10) unsigned NOT NULL auto_increment,


`email` varchar(255) NOT NULL default '',


PRIMARY KEY (`id`),


KEY `id` (`id`)


) TYPE=MyISAM;





CREATE TABLE `emails`

و هو أمر إنشاء جدول بإسم emails كما تعلمنا سابقاً ..
`id` int(10) unsigned NOT NULL auto_increment,

و هو الحقل الأول و أسميناه id بحيث يعطي لكل بريد رقم معين ..
و تم وضع خصاية الترقيم التلقائي كلما تضاف معلومة للحقل ..
`email` varchar(255) NOT NULL default '',

الحقل الثاني و الذي تسجل فيه العناوين البريدية و تم تحديد سعته لتتسع ل 255 حرف فقط ..
PRIMARY KEY (`id`),
KEY `id` (`id`)

مجموعة من الأوامر أعتقد والله أعلم أنها ستفيد عند الطلب لأي id من خلال البرنامج ..
TYPE=MyISAM;
هذا الأمر فائدته أنه يجعل الحقول قابلة للكتابة و MyISAM نوع من أنواع الكتابة بقاعدة البيانات ..
هذا فيما يتعلق بإنشاء الجداول و الحقول بقاعدة البيانات ..



# ثانياً / أنشيء ملف و سمه emails.php مثلاً .. و ضع فيه الكود التالي ( طبعاً مع تغيير معلومات القاعدة و الجدول و إسم الملف إن تبدلت ) :

PHP:






<?php


$dbserver="localhost";


$dbuser="";


$dbpass="";


$dbname="";


mysql_connect($dbserver,$dbuser,$dbpass);


mysql_select_db($dbname);


if(isset($email))


{


mysql_query("INSERT emails (email)VALUES('$email')")||die(mysql_error());


echo "تم إضافة بريدك بنجاح";


}


echo "


<form method='POST' action='emails.php?email=add'>


أضف بريدك لدينا :<br>


<input type='text' size='30' name='email'>


<input type='submit' name='add' value='أضف'>


</form>


";


?>






طبعاً هذا الملف هو الذي يعرض للزوار ..

$dbserver="localhost";
$dbuser="";
$dbpass="";
$dbname="";
mysql_connect($dbserver,$dbuser,$dbpass);
mysql_select_db($dbname);

كما تعلمنا سابقاً هنا توضع معلومات قاعدة البيانات و تتم عملية الإتصال بالقاعدة ..
if(isset($email))
و هي جملة شرطية تعني إذا طلب المتغير $email بواسطة المتصفح ..
كمثال :
emails.php?email
و هي ما سنرى أننا قد وضعناه بنموذج الإدخال ..
و قد يفيد هذا الأمر عند الرغبة بتجزئة السكربت ووضع أوامر مستقلة فيه ..
حيث حينما يطلب هذا المتغير سيتم تنفيذ الأوامر فقط المتعلقة به ..
و هي التي وضعت بين العلامتين { و } ..
و الأمر المتعلق بالشرط هو :
mysql_query("INSERT emails (email)VALUES('$email')")||die(mysql_error());
و هو عبارة عن عملية إتصال بقاعدة البيانات و من ثم إدارج قيمة معينة و هي email و ذلك بالجدول emails بقاعدة البيانات .. و إذا كان هناك خطأ فلن تظهر عبارة الإتمام :
echo "تم إضافة بريدك بنجاح";
و يمكن وضع أي رسالة بدلاً من تركها فاضية كالتالي :
mysql_query("INSERT emails (email)VALUES('$email')")||die(mysql_error(لم يتم إضافة بريدك));
طبعاً كما قلنا الأمر السابق يتم إذا تم طلبه أما إذا لم يتم طلبه أبداً فإن السكربت سوف يظهر النموذج التالي :
echo "



أضف بريدك لدينا :<br>
<input type='text' size='30' name='email'>
<input type='submit' name='add' value='أضف'>
</form>
";

و نلاحظ أننا بخانة الأكشن بالنموذج وضعنا إسم الملف مع وضع المتغير و هو email و وضعنا بجانبه =add و هو إسم الزر الذي سيقوم بتنفيذ العملية ..
نلاحظ أننا وضعنا مربع النص و أسميناه email لأنه هو المقصود بالمتغير ..
طبعاً بعد إدخال البريد و ضغط زر ( أضف ) و حسب مسار الأكشن الذي وضعناه سوف يذهب للأمر الذي أشترطنا فيه أن يكون email ..
حيث سيتم بعدها تنفيذ الأوامر داخل ذلك الأمر ..
هذا فيما يتعلق بنموذج الإدخال ..


# ثالثاً / بقي علينا ملف العرض الذي يعرض لنا العناوين البريدية المضافة لقاعدة البيانات و يرتبها على الشكل :
email@domain.com; email@domain.com; email@domain.com; email@domain.com; email@domain.com;
لذلك أنشيء ملف و سمه مثلاً show.php و ضع فيه الكود التالي ( طبعاً مع تغيير معلومات القاعدة و الجدول و إسم الملف إن تبدلت ) :

PHP:






<?php


$dbserver="localhost";


$dbuser="";


$dbpass="";


$dbname="";


mysql_connect($dbserver,$dbuser,$dbpass);


mysql_select_db($dbname);


$quer=@mysql_query("SELECT email FROM emails ORDER BY id DESC limit 1");


$num=1;


$tablequery=mysql_query("SELECT email FROM emails ORDER BY id DESC");


while($result=mysql_fetch_array($tablequery))


{


echo " $result[email];";


}


?>







$dbserver="localhost";
$dbuser="";
$dbpass="";
$dbname="";
mysql_connect($dbserver,$dbuser,$dbpass);
mysql_select_db($dbname)
;
يتم الإتصال بقاعدة البيانات حسب الأوامر السابقة ..
$quer=@mysql_query("SELECT email FROM emails ORDER BY id DESC limit 1");
$num=1;

هذا السطر فعلاً سطر زائد كما تفضل أخي أسامة .. و إعذروني أنا لأني أستخرجت السكربت من برنامج مقالات فلذلك ربما لم أنتبه لهذا الأمر ..
و سبب أنه زائد حيث أنه غير مستخدم بالبرنمج مطلقاً ..
المتغيرات فيه لم تستخدم ..
لذلك من سيركب البرنامج يحذف السطرين السابقين ..
$tablequery=mysql_query("SELECT email FROM emails ORDER BY id DESC");
هنا بهذا السطر تتم عملية الإتصال المباشرة جدول قاعدة البيانات و هو emails و يتم تحديد الحقل email منه ..
while($result=mysql_fetch_array($tablequery))
بالنسبة لهذا الأمر فأعتقد والله أعلم أن while تفيد عند الرغبة في تنفيذ الأمر بشكل متكرر ..
و هنا يعني أن النتيجة النهائية و التي ستظهر للزائر ستكون من خلال عملية الإتصال بالجدول مباشرة tablequery ووضعنا $result كمتغير لعملية طلب معين من حقول الجدول ..
ولاحظ أننا وضعنا الأوامر المتعلقة ب while بين { و } كما فعلنا بالشرط سابقاً ..
echo " $result[ email ];";
و هو أمر إظهار و عرض العنوان البريدي ..
و سوف يقوم البرنامج بطلب العناوين البريدية بحسب رقم الآي دي إلى أن يصل لأخر رقم آي دي ..
و بالأمر السابق سوف يضع البرنامج العناوين على الشكل :
email @ domain.com; email @ domain.com; email @ domain.com; email @ domain.com
و لكن ماذا إن أردنا أن يكون بالشكل :
email @ domain.com
email @ domain.com
email @ domain.com
email @ domain.com
أي كل بريد في سطر ..
سوف نبدل طريقة ترتيب العناوين من خلال التغيير بأمر العرض إلى :
echo " $result[ email ]<br>";
لاحظ وضعنا الأمر <br> و هو من أوامر الهتمل و ذلك للقفز سطر كل مرة ..



# طبعاً قد يستلزم حماية هذا الملف بكلمة سرية أو عن طريق ملفات الإتش تي أكسس
الملف: .htaccess الموجود بروت الموقع



s;vfj gjvjdf hgr,hzl hgfvd]dm

   

رد مع اقتباس
 

مواقع النشر (المفضلة)


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

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

الانتقال السريع


الساعة الآن 05:50 PM


[ vBspiders.Com Network ]

SEO by vBSEO 3.6.0