محرك البحث جوجل

الأربعاء، 27 يوليو 2011

شرح كودات سكربت اتصل بنا

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

أولا نبدأ وتقول بسم الله ..
-_- هذا سكربت يعتمد من برمجة عربية 100% ولا تدخل للأجانب إطلاقا ببرمجة هذا السكربت -_-

إخواني الكرام : :wink:

نبدأ بشرح أهم جزء بالسكربت وهو ملف config.php
للي مال يعرف شو فائدة هذا الملف هو عبارة عن ملف الاتصال بقاعدة البيانات :lol: ، ويتضمن الكود التالي :


php


$host
= 'localhost';
$user
= 'root';
$password
= 'root';
$dbname
= 'contact';

mysql_connect
($host, $user, $password) or die ("i cannot connect because" . mysql_error());

mysql_select_db
($dbname) or die (mysql_error());

?>


أولا :
المتغيرات : :wub:
$host , $user , $password , $dbname
هذه كلها متغيرات أساسية في الاتصال بالقاعدة حيث أن :
$host : اسم المستضيف للقواعد وهو في أغلب الأحيان : "localhost"
المتغير الثاني :
$user : وهو اسم المستخدم للقواعد
المتغير $password
باسوورد القاعدة
$dbname: اسم القاعدة

ثانيا : كود الاتصال بقواعد البيانات
mysql_connect($host, $user, $password) or die ("i cannot connect because" . mysql_error());


mysql_select_db
($dbname) or die (mysql_error());


انتهينا والحمد لله من شرح ملف الاتصال بقواعد البيانات وهو ضروري جدا لاي سكربت في أغلب الأحيان . :wub: :wub:

====================================

ملف index.php :happy:

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

طبعا هذا الحكي كلو موجود بملف submit.php وهو الذي يتحكم بالإرسال والعمليات جميعها على الرسالة نيجيلو كمان شوي :S

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

كود نجاح الإرسال أو لا :wub: :

 if($do == "done"){ if($_SESSION['done'] == "1"){ ?> lang="ar-jo"> color="#008000">تم

الإرسال بنجاح
color="#008000"> lang="ar-jo"> !!! $_SESSION['done']= 0; }} ?>



if($do == "err"){ ?>

color="#FF0000"> lang="ar-jo">خطأ
أثناء الإرسال ...

} ?>


مثل ما تلاحظون الكود مدموج بين php و html ، وهذا يدل على أن php سلسة ومرنة جدا وكمان تلاحظون اعتمادي على نظام الجلسات sessions :blush:
للحفاظ على حقوق الرسالة .. هههههه صار للرسالة حقوق

انتهينا بحمد الله من ملف index.php

=============================

الآن نيجي لملف submit.php :wacko:

الملف هذا مهم جدا جدا جدا وهو الذي يتحم بالإرسال والعمليات على الرسالة من تعريبها وإرسالها..

نشرح الكود بشكل سريع

session_start();

ob_start
();
include
('config.php');


الكودات معروفة أظن -_-
session_start();
وهو لبدأ نظام الجلسات

ob_start();
وهذا عشان ما يعمل مشاكل معنا بأمر header()

include('config.php');
وهذا كود الاتصال بالقاعدة

نيجي لباقي الكود

$st=mysql_query("select * from settings where id='1' ");


$row
=mysql_fetch_array($st);
$title
=$row['name'];


هذا الكود عشان نظهر عنوان السكربت المخزن عندنا بالقاعدة

if(empty($_GET['do'])){

$do
="";
}else{
$do
=$_GET['do'];
}


هذا الكود وضعتو لانو ظهرلي مشاكل بالسكربت عندما ركبتو على استضافة مجانية :S


$header=mysql_query("select * from settings where id='1' ");

$row
=mysql_fetch_array($header);
$head
=$row['header'];
$foot
=$row['footer'];


هذا كود إظهار قالبي الهيدر والفوتر المخزنات بالقاعدة أيضا :happy:

والآن نيجي لعملية الإرسال والتحقق من ملأ الخانات جميعها
if(isset($_POST['submit'])){

if(empty($_POST['name'])){
header
("location:index.php?do=err");
exit();
}
if(empty($_POST['mail'])){
header
("location:index.php?do=err");
exit();
}
if(empty($_POST['textfield'])){
header
("location:index.php?do=err");
exit();
}
$name
=$_POST['name'];
$mail
=$_POST['mail'];
$text
=$_POST['textfield'];
$title
=strip_tags($text);
$mes
= "INSERT INTO messages (name, email, text, title) VALUES ('$name', '$mail', '$text', '$title') ";
if(@mysql_query($mes)) {

$subject
= $name;
$message
= $text;
$to
='jurrywajdi@yahoo.com';
$headers
= 'From:' . $mail . "rn";
$headers
.= 'MIME-Version: 1.0' . "rn";
$headers
.= 'content-type: text/html; charset=windows-1256' . "rn";
$esend
=@mail($to, $subject, $message, $headers);
if($esend){
$_SESSION
['done']= 1;
header
("location:index.php?do=done");
exit();
}else{
header
("location:index.php?do=err");
exit();
}

}
}


أما هذا الكود
if(empty($_POST['name'])){

header
("location:index.php?do=err");
exit();
}
if(empty($_POST['mail'])){
header
("location:index.php?do=err");
exit();
}
if(empty($_POST['textfield'])){
header
("location:index.php?do=err");
exit();
}

فهو للتحقق من ملأ الخانات التالية : الاسم ، البريد الالكتروني والنص :blush:


$name=$_POST['name'];

$mail
=$_POST['mail'];
$text
=$_POST['textfield'];
$title
=strip_tags($text);
$mes
= "INSERT INTO messages (name, email, text, title) VALUES ('$name', '$mail', '$text', '$title') ";

هذا كود إرسال نسخة من الرسالة إلى لوحة التحكم

$subject = $name;

$message
= $text;
$to
='jurrywajdi@yahoo.com';
$headers
= 'From:' . $mail . "rn";
$headers
.= 'MIME-Version: 1.0' . "rn";
$headers
.= 'content-type: text/html; charset=windows-1256' . "rn";
$esend
=@mail($to, $subject, $message, $headers);


هذا كود إرسال نسخة إلى الأيميل وتلاحظون إن الرسالة بترميز windows-1256 أي معربة 100%
وتلاحظون content-type وهذه تعني أن الرسالة سوف ترسل بتنسيق html
:PP

if($esend){

$_SESSION
['done']= 1;
header
("location:index.php?do=done");
exit();
}else{
header
("location:index.php?do=err");
exit();
}


هذا الكود يخبرنا إذا الرسالة تم إرسالها أم لا .. :happy:

ob_flush();


هذا الكود وجب وضعه في نهاية الكود إذا وضعت في بداية الكود ob_start()
أطن الفكرة وصلت إخواني

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

أرجو العمل على تطوير السكربت لعدم التفرغ !!

سأقوم بإذن الله من شرح الإدارة للسكربت بالتفصيل الممل في وقت قريب بإذن الله

والسلام عليكم ورحمة الله وبركاته :blush: :blush: :blush:

Sociofluid

Powered By Blogger