<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-3832352952112826431</id><updated>2011-08-18T08:20:07.256-07:00</updated><category term='PHP'/><category term='jQuery'/><category term='أخبار و مقالات'/><category term='تطبيقات وخدمات'/><title type='text'>K-Coder</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://k-coder.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3832352952112826431/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://k-coder.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Khal3d</name><uri>http://www.blogger.com/profile/09974312202722408548</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_4eerMtw7Fms/S8SgyDboEQI/AAAAAAAAAg0/eFwN9qeJE9c/S220/k-bnw.png'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>10</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3832352952112826431.post-1218946769697763175</id><published>2010-07-26T13:29:00.001-07:00</published><updated>2010-07-26T13:32:55.923-07:00</updated><title type='text'>عفواً، ولكني مضطر إلى التغيب عن التدوين لفترة</title><content type='html'>&lt;p&gt;&lt;img src="http://3.bp.blogspot.com/_4eerMtw7Fms/TE3wnDX2-qI/AAAAAAAAAiE/yAkInE7fsv4/s1600/hourglass.png" class="img-post" alt="" /&gt;&lt;/p&gt;&lt;p&gt;يبدو انني سوف اضطر إلى التغيب لفترة عن التدوين وعن أكمال دروس تعلم لغة PHP لفترة، وذلك لظروف خارجة عن إرادتي، فيجب على الاهتمام بالعمل قليلاً في هذه الفترة وألا سوف اضطر إلى الانقطاع نهائياً.&lt;/p&gt;  &lt;p&gt;اعتذر لكل المتابعين لسلسلة دروس لغة PHP، ولن استطيع ان اعدكم بشيء مرة أخرى بعد ان خلفت وعدي معكم سابقاً، فموعد عودتي لإكمال الدروس غير معلوم حتى الآن، فربما تكون هناك تدوينه غداً او الاسبوع القادم او الشهر القادم .. لا اعلم صراحة.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3832352952112826431-1218946769697763175?l=k-coder.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://k-coder.blogspot.com/feeds/1218946769697763175/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://k-coder.blogspot.com/2010/07/blog-post.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3832352952112826431/posts/default/1218946769697763175'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3832352952112826431/posts/default/1218946769697763175'/><link rel='alternate' type='text/html' href='http://k-coder.blogspot.com/2010/07/blog-post.html' title='عفواً، ولكني مضطر إلى التغيب عن التدوين لفترة'/><author><name>Khal3d</name><uri>http://www.blogger.com/profile/09974312202722408548</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_4eerMtw7Fms/S8SgyDboEQI/AAAAAAAAAg0/eFwN9qeJE9c/S220/k-bnw.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_4eerMtw7Fms/TE3wnDX2-qI/AAAAAAAAAiE/yAkInE7fsv4/s72-c/hourglass.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3832352952112826431.post-4662789492055141063</id><published>2010-07-06T00:48:00.001-07:00</published><updated>2010-07-06T12:35:49.804-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><title type='text'>[1] كتابة اول كود بلغة بي إتش بي</title><content type='html'>&lt;img class="img-post" alt="" src="http://4.bp.blogspot.com/_4eerMtw7Fms/TDLgYQMdNrI/AAAAAAAAAiA/W4XTwXiT2vc/s1600/first-php-lesson.png" /&gt;   &lt;p class="post-note"&gt;اريد ان اذكر ان سلسلة الدروس هذه لمطوري الويب وليست للمبتدئين ( &lt;a title="مقدمة: قبل ان تتعلم البرمجة بلغة php" href="http://k-coder.blogspot.com/2010/06/introduction-to-php.html" target="_blank"&gt;راجع المقدمة حتى تتعرف على الاسباب&lt;/a&gt; )&lt;/p&gt;  &lt;p&gt;بعد ان تعرفنا في &lt;a href="http://k-coder.blogspot.com/2010/06/introduction-to-php.html" target="_blank"&gt;المقدمة&lt;/a&gt; على المتطلبات التي يجب توفيرها حتى تتعلم دروس البرمجة باستخدام لغة PHP بسهولة ويسر، اليوم سوف نتعرف على كيفية كتابة كودك الأول باستخدام لغة &lt;a href="http://ar.wikipedia.org/wiki/بي_إتش_بي" target="_blank" rel="nofollow"&gt;بي إتش بي&lt;/a&gt;، في البداية احب ان اذكر ان كل ما نقوم بكتابته يجب ان يتم حفظة داخل مجلد السيرفر الشخصي وان يتم استعراضه باستخدام &lt;a title="http://localhost/" href="http://localhost/" target="_blank" rel="nofollow"&gt;رابط السيرفر الشخصي&lt;/a&gt; وهو امر بديهي يعرفه كل مطور ويب ( اذا كنت مستخدم لسيرفر &lt;a href="http://www.appservnetwork.com/" target="_blank" rel="nofollow"&gt;AppServ&lt;/a&gt; فمسار المجلد هو &lt;a title="C:\AppServ\www" href="file:///C:/AppServ/www" target="_blank" rel="nofollow"&gt;C:\AppServ\www&lt;/a&gt; ان لم يكن قد قمت بتغييره&amp;#160; ).&lt;/p&gt;  &lt;p&gt;الآن لنقم بكتابة الكود الأول …&lt;/p&gt; &lt;a name='more'&gt;&lt;/a&gt;  &lt;h3&gt;كتابه أول كود بلغة بي إتش بي&lt;/h3&gt;  &lt;p&gt;الآن نقوم بإنشاء مجلد جديد بداخل مجلد السيرفر الشخصي باسم project ومن ثم نقوم بإنشاء ملف جديد باسم index.php&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;ملحوظة1:&lt;/strong&gt; اسم المجلد ليس شرطاً وأيضاً اسم الملف، ويمكنك اختيار أي اسم تشاء.     &lt;br /&gt;&lt;strong&gt;ملحوظة2:&lt;/strong&gt; اسم الملف يجب ان ينتهي بامتداد .php ولكي تقوم بإنشاء الملف قم بالضغط على المفتاح الايمن للماوس ومن ثم اختار New –&amp;gt; Text Document اذا ظهر لك ان اسم الملف هو New Text Document.txt فقم بإعادة تسميته إلى index.php اذا ظهر باسم New Text Document فقط فأنت تحتاج إلى ضبط الاعدادات لديك لكي يظهر امتداد الملف، اذا كنت مستخدم لويندوز أكس بي فالطريقة هيا Tools –&amp;gt; Folder Options –&amp;gt; View ثم قم بإزالة علامة الصح من امام Hide extensions for know file types، مستخدمي اللينكس ليسوا بحاجة إلى مثل هذه الاعدادات فافتراضي امتداد الملف يكون ظاهر.&lt;/p&gt;  &lt;p&gt;الآن بعد ما أنشئنا الملف المسمى index.php نقوم الآن بفتحة باستخدام المحرر الخاص بك ونقوم بكتابة الكود التالي بداخلة:&lt;/p&gt;  &lt;p align="left"&gt;&lt;strong&gt;PHP - 01&lt;/strong&gt;&lt;/p&gt;  &lt;div class="code"&gt;&lt;span style="color: #0000bb"&gt;&amp;lt;?php      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #007700"&gt;echo &lt;/span&gt;&lt;span style="color: #dd0000"&gt;'Hello, World!'&lt;/span&gt; &lt;span style="color: #007700"&gt;;      &lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000bb"&gt;?&amp;gt;&lt;/span&gt; &lt;/div&gt;  &lt;p&gt;- في السطر الاول قمنا بكتابة وسم/Tag الخاص بلغة PHP فمثلاً في لغة HTML يجب ان يبدأ الملف بالوسم &amp;lt;html&amp;gt; هذا بالضبط نفس الحال مع لغة PHP فأي ملف يجب ان يبدأ بكتابة &amp;lt;?php .&lt;/p&gt;  &lt;p&gt;- في السطر الثاني قمنا بكتابة كلمة echo ثم اضفنا علامة تنصيص وكتبنا عبارة Hello, World! ثم اضفنا علامة تنصيص اخرى وانهينا السطر بعلامة ;&lt;/p&gt;  &lt;p&gt;- في السطر الثالث قمنا بغلق الوسم الذي قمنا بفتحة في السطر الاول هذا الامر مشابه للأمر &amp;lt;/html&amp;gt; في لغة HTML&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;الآن احفظ الملف وقم بالذهاب إلى الرابط &lt;a href="http://localhost/project/index.php" target="_blank" rel="nofollow"&gt;http://localhost/project/index.php&lt;/a&gt; ماذا تلاحظ؟     &lt;br /&gt;ستلاحظ انه قد ظهرت لك جملة Hello, World! بدون اي شيء اخر وإذا استعرضت مصدر الصفحة فلن تجد ايضاً اي شيء آخر&lt;/p&gt;  &lt;p&gt;دعني أعيد شرح السطر الثاني مرة آخرى،&lt;/p&gt;  &lt;p&gt;عندما قمنا بكتابة كلمة &lt;a title="PHP: echo - Manual" href="http://php.net/echo" target="_blank" rel="nofollow"&gt;echo&lt;/a&gt; فنحن نخبر مترجم اللغة بان النص الذي بين علامتي التنصيص يجب ان يقوم بطباعته على المتصفح، إذاً فعلامتي التنصيص تشيران إلى ان ما بداخلهم هم من نريد طباعتهم باستخدام امر echo، فما فائدة علامة ; ؟&lt;/p&gt;  &lt;p&gt;هذه العلامة تتشابه مع مثيلتها في الجافا سكربت والـ CSS فهي تخبر مترجم لغة بي إتش بي ان السطر قد انتهى وانه يحب علية انت ينتقل للجزء التالي.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;كتابة الاكواد بالطريقة الغير قياسية&lt;/h3&gt;  &lt;p&gt;الكود السابق هو الطريقة القياسية لكتابة كود بي إتش بي والتي يجب ان تلتزم بها ولكن من باب العلم بالشيء فيجب عليك ان تعلم ان هناك اكثر من طريقة لكتابة الكود السابق ويمكن الكتابة بهم ولكن في حالات محددة، فمثلاً يمكننا كتابة الكود السابق في سطر واحد كالتالي ( لا تستخدم هذه الطريقة إلا في حالة كان الكود صغير، ويفضل استخدامه في القوالب وليس في ملف برمجي ) &lt;/p&gt;  &lt;p align="left"&gt;&lt;strong&gt;PHP - 02&lt;/strong&gt;&lt;/p&gt;  &lt;div class="code"&gt;&lt;span style="color: #0000bb"&gt;&amp;lt;?php &lt;/span&gt;&lt;span style="color: #007700"&gt;echo &lt;/span&gt;&lt;span style="color: #dd0000"&gt;'Hello, World!'&lt;/span&gt;&lt;span style="color: #007700"&gt;; &lt;/span&gt;&lt;span style="color: #0000bb"&gt;?&amp;gt;&lt;/span&gt; &lt;/div&gt;  &lt;p&gt;أو&lt;/p&gt;  &lt;p align="left"&gt;&lt;strong&gt;PHP - 03&lt;/strong&gt;&lt;/p&gt;  &lt;div class="code"&gt;&lt;span style="color: #0000bb"&gt;&amp;lt;?php &lt;/span&gt;&lt;span style="color: #007700"&gt;echo &lt;/span&gt;&lt;span style="color: #dd0000"&gt;&amp;quot;Hello, World!&amp;quot;&lt;/span&gt;&lt;span style="color: #0000bb"&gt;?&amp;gt;&lt;/span&gt; &lt;/div&gt;  &lt;p&gt;أو&lt;/p&gt;  &lt;p align="left"&gt;&lt;strong&gt;PHP - 04&lt;/strong&gt;&lt;/p&gt;  &lt;div class="code"&gt;&lt;span style="color: #0000bb"&gt;&amp;lt;?=&lt;/span&gt;&lt;span style="color: #dd0000"&gt;'Hello, World!'&lt;/span&gt;&lt;span style="color: #0000bb"&gt;?&amp;gt;&lt;/span&gt; &lt;/div&gt;  &lt;p&gt;هذه هي الطريقة المختصرة الغير قياسية لكتابة الاكواد، والتالي طريقة آخرى لكتابة الاكواد بشكل غير مختصر&lt;/p&gt;  &lt;p align="left"&gt;&lt;strong&gt;PHP - 05&lt;/strong&gt;&lt;/p&gt;  &lt;div class="code"&gt;   &lt;p&gt;&lt;span style="color: #0000bb"&gt;&amp;lt;?&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="color: #007700"&gt;&amp;#160;&amp;#160;&amp;#160; echo &lt;/span&gt;&lt;span style="color: #dd0000"&gt;&amp;quot;Hello, World!&amp;quot;&lt;/span&gt;&lt;span style="color: #007700"&gt;;&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="color: #007700"&gt;&lt;/span&gt;&lt;span style="color: #0000bb"&gt;?&amp;gt;&lt;/span&gt; &lt;/p&gt; &lt;/div&gt;  &lt;p&gt;أو&lt;/p&gt;  &lt;p align="left"&gt;&lt;strong&gt;PHP - 06&lt;/strong&gt;&lt;/p&gt;  &lt;div class="code"&gt;   &lt;p&gt;&lt;span style="color: #0000bb"&gt;&amp;lt;?php&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="color: #007700"&gt;&amp;#160;&amp;#160;&amp;#160; echo &lt;/span&gt;&lt;span style="color: #dd0000"&gt;'Hello, World!'&lt;/span&gt; &lt;/p&gt;    &lt;p&gt;&lt;span style="color: #007700"&gt;&lt;/span&gt;&lt;span style="color: #0000bb"&gt;?&amp;gt;&lt;/span&gt; &lt;/p&gt; &lt;/div&gt;  &lt;h3 id="update01"&gt;طرق مختلفة لطباعة نص بطريقة قياسية&lt;/h3&gt;  &lt;p align="left"&gt;&lt;strong&gt;PHP - 07&lt;/strong&gt;&lt;/p&gt;  &lt;div class="code"&gt;&lt;span style="color: #0000bb"&gt;&amp;lt;?php      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #007700"&gt;echo ( &lt;/span&gt;&lt;span style="color: #dd0000"&gt;'Hello, World!' &lt;/span&gt;)&lt;span style="color: #007700"&gt;;      &lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000bb"&gt;?&amp;gt;&lt;/span&gt; &lt;/div&gt;  &lt;br /&gt;  &lt;p align="left"&gt;&lt;strong&gt;PHP - 08&lt;/strong&gt;&lt;/p&gt;  &lt;div class="code"&gt;&lt;span style="color: #0000bb"&gt;&amp;lt;?php&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #007700"&gt;print ( &lt;/span&gt;&lt;span style="color: #dd0000"&gt;'Hello, World!'&lt;/span&gt; )&lt;span style="color: #007700"&gt;;      &lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000bb"&gt;?&amp;gt;&lt;/span&gt; &lt;/div&gt;  &lt;br /&gt;  &lt;p align="left"&gt;&lt;strong&gt;PHP - 09&lt;/strong&gt;&lt;/p&gt;  &lt;div class="code"&gt;&lt;span style="color: #0000bb"&gt;&amp;lt;?php&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: #007700"&gt;print &lt;/span&gt;&lt;span style="color: #dd0000"&gt;&amp;quot;Hello, World!&amp;quot;&lt;/span&gt;&lt;span style="color: #007700"&gt;;     &lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000bb"&gt;?&amp;gt;&lt;/span&gt; &lt;/div&gt;  &lt;p&gt;&lt;/p&gt;  &lt;h3&gt;أسئلة شائعة وملاحظات&lt;/h3&gt;  &lt;p&gt;- يجب ان ان تتذكر علامة ;&amp;#160; مع نهاية كل سطر فهي شيء ضروري ولكن يمكن تجاوزها اذا كان السطر هو اخر سطر في الملف وليس هناك شيء بعده غير غلق الكود، ولكن في جميع الاحوال تجاوزها امر غير مستحب.&lt;/p&gt;  &lt;p&gt;- علامة = تعادل امر echo في الوسوم القصيرة.&lt;/p&gt;  &lt;p&gt;- الطريقة المختصرة او الوسوم القصيرة او Short Tags او كما تريد ان تطلق عليها؛ استخدامها غير مستحب وذلك لان بعض بعض السيرفرات ( نادراً ) تأتي غير مُفعل بها الوسوم القصيرة، وبذلك سوف تظهر اخطاء بالاسكربت، فتجنب استخدامها افضل ويمكنك استخدام الكود رقم 02 فهو ليس Short Tags بل هو كود قياسي مختصر بدون تنسيق.&lt;/p&gt;  &lt;p&gt;- وسم بداية الملف يمكن كتابته &amp;lt;? او &amp;lt;?php ولكن كما ذكرت يجب عليك الالتزام بالقواعد الاساسية واستخدام الطريقة الموجودة في الكود رقم 01.&lt;/p&gt;  &lt;p&gt;- حتى الآن ليس هناك آي فرق بين علامتي التنصيص الاحادية ' والثنائية &amp;quot;، ولكن سوف تتعرف على الفرق بينهم في الدروس القادمة بإذن الله.&lt;/p&gt;  &lt;p id="update02" title="تحديث 02"&gt;- &lt;a title="PHP: echo - Manual" href="http://php.net/echo" target="_blank" rel="nofollow"&gt;echo&lt;/a&gt; ليست داله كما يعتقد البعض ولكنها ( &lt;span title="عفواً لم اجد وصف مناسب لها بالعربية!"&gt;Language Construct&lt;/span&gt; )&amp;#160; مهمتها شبيهة بعمل الدوال وهي ليست الوحيدة المسئولة عن الطباعة على المتصفح، بل هناك غيرها ولكن كل واحدة لها استخدام معين، ولكن المشابهة لعملها بالضبط هي الـ &lt;a title="PHP: print - Manual" href="http://php.net/print" target="_blank" rel="nofollow"&gt;print&lt;/a&gt;، ليس هناك فرق يذكر بينهم ولكن هناك اقوال ان الـ &lt;a title="PHP: echo - Manual" href="http://php.net/echo" target="_blank" rel="nofollow"&gt;echo&lt;/a&gt; اسرع في عملها من الـ &lt;a title="PHP: print - Manual" href="http://php.net/print" target="_blank" rel="nofollow"&gt;print&lt;/a&gt; &lt;/p&gt;  &lt;h3&gt;في النهاية&lt;/h3&gt;  &lt;p&gt;- اولاً اعتذر عن التأخر في نشر هذه التدوينه، وبإذن الله سأحاول ان تكون هناك من تدوينه إلى ثلاث تدوينات اسبوعياً.&lt;/p&gt;  &lt;p&gt;- ثانياً افكر ان يكون هناك بعد كل درس غرفة نقاش مباشرة نُنقاش فيها موضوع الدرس او ايضاً الاجابة على اي سؤال او مناقشة فكرة مشروع ما وما إلى ذلك، فما رأيكم في هذا الموضوع وما هو الوقت المناسب لك حتى تستطيع حضور المناقشة؟&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3832352952112826431-4662789492055141063?l=k-coder.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://k-coder.blogspot.com/feeds/4662789492055141063/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://k-coder.blogspot.com/2010/07/first-php-script.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3832352952112826431/posts/default/4662789492055141063'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3832352952112826431/posts/default/4662789492055141063'/><link rel='alternate' type='text/html' href='http://k-coder.blogspot.com/2010/07/first-php-script.html' title='[1] كتابة اول كود بلغة بي إتش بي'/><author><name>Khal3d</name><uri>http://www.blogger.com/profile/09974312202722408548</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_4eerMtw7Fms/S8SgyDboEQI/AAAAAAAAAg0/eFwN9qeJE9c/S220/k-bnw.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_4eerMtw7Fms/TDLgYQMdNrI/AAAAAAAAAiA/W4XTwXiT2vc/s72-c/first-php-lesson.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3832352952112826431.post-715338330061687240</id><published>2010-06-21T12:03:00.001-07:00</published><updated>2010-06-21T13:22:02.337-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><title type='text'>مقدمة: قبل ان تتعلم البرمجة بلغة php</title><content type='html'>&lt;img class="img-post" alt="" src="http://2.bp.blogspot.com/_4eerMtw7Fms/TB_CiZI-npI/AAAAAAAAAh8/D_x9zKzhjdc/s1600/introduction-to-php.png" /&gt;   &lt;p&gt;على مدار الثلاث اعوام وحتى يومنا هذا وأنا ابحث وأتعلم كل يوم شيء جديد في عالم البرمجة بلغة &amp;quot;بي إتش بي&amp;quot; ولكنني في النهاية وجدت انني لم افيد كثيراً بما تعلمته غير نفسي، لذلك قررت ان اقوم بعمل سلسلة غير منتهية تبدأ من الصفر إلى ما لا نهاية لكي تجعلك تنتقل من مرحلة كونك مستهلك إلى منتج لتطبيقات الويب.&lt;/p&gt;  &lt;p&gt;ولكن قبل ان تبدأ في تعلم لغة PHP هناك متطلبات &amp;quot;في رأيي الشخصي&amp;quot; يجب ان تتوفر بك ولديك حتى تستطيع ان تستفيد الاستفادة الكاملة من سلسلة الدروس هذه وان لا تكون ممكن يطلق عليهم &amp;quot;حافظ مش فاهم!&amp;quot; فمثلاً لا يمكن لطالب في المرحلة الإعدادية ان ينتقل إلى المرحلة الجامعية دون ان يمر على المرحلة الثانوية، هذا بالضبط هو حال البرمجة بلغة php فهي تعتبر المرحلة الجامعية.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt; &lt;a name='more'&gt;&lt;/a&gt;  &lt;p&gt;كما ذكرت ان المتطلبات هي نوعين نوع يجب ان يتوفر بك وهي اشياء خاصة بك ومهارات وخبرات سابقة سوف اقوم بذكرها، ومتطلبات يجب ان تتوفر لديك وهي الادوات التي من خلالها سوف تقوم بكتابة اكوادك وتنفيذها&lt;/p&gt;  &lt;h3&gt;المتطلبات التى يجب ان تتوفر بك:&lt;/h3&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;ان تكون صبور:&lt;/strong&gt; لا تعتقد انه يمكنك ان تتعلم البرمجة بلغة PHP خلال شهرين او ثلاثة او حتى ستة اشهر، فكما ذكرت لك انني على مدار الثلاثة اعوام وحتى الآن اتعلم يومياً شيء جديد فالبرمجة ليست لها نهاية لذلك جعلت سلسلة الدروس هذه بلا نهاية. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;ان تكون واسع الافق: &lt;/strong&gt;يجب ان تمتلك مخيلة حتى تستطيع الابتكار فالبرمجة عامةً نصفها يعتمد على ذكائك انت وطريقة تفكيرك واستخدامك للاكواد بطرق مختلفة لتأدية مهام مختلفة، ويجب ان تتعامل مع PHP بالمنطق ويجب ان تثق انه اذا تعاملت معها بذكاء فستكون النتيجة اكثر مما تتوقع، والعكس صحيح ايضاً. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;خبرة سابقة مع HTML:&lt;/strong&gt; لست اتفق مع الذين يقولون انه يمكنك ان تتعلم البرمجة بلغة PHP دون الحاجة إلى تعلم لغة HTML فهل يمكنك ان تصنع سيارة دون ان تعرف كيف تقودها؟ او هل يمكنك ان تكون رسام دون ان تعرف كيف تلون رسوماتك؟. &lt;/li&gt;    &lt;li&gt;&amp;#160;&lt;strong&gt;ان تكون قد تعاملت مع احد التطبيقات المبنية بلغة PHP:&lt;/strong&gt; يجب ان تكون قد تعاملت مع احد التطبيقات مثل Wordpress, Drupal, PHPBB, PHP-Nuke او غيرهم من التطبيقات الآخرى، بمعنى اصح يجب ان تكون حائز على لقب مطور ويب يعرف كيف يتعامل مع كتابة الاكواد. ( لا يشترط ان تكون لديك اي خبرة في لغة PHP، وهذه هي المرحلة الثانوية التي تسبق الجامعية ) &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;اذا كانت احد الشروط السابقة غير متوفرة لديك فيجب عليك الآن ان تترك هذه المقدمة وتذهب لتطوير نفسك ومن ثم يمكنك العوده بعد ذلك لاستكمال باقي دروس تعلم لغة PHP&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;باجتيازك للمتطلبات السابقة يمكنني الآن ان اقول لك ان البرمجة بلغة PHP اسهل مما تتخيل، فإذا تعلمت كيف تبرمج نظام لتعليقات الزوار / سجل زوار فبقليل من التفكير مع قليل القليل من التعلم يمكنك ان تحوله لنظام تدويني او ان تبرمج منتدى او البوم صور او اي شيء اخر فالبرمجة واحده ولكن طريقه تفكيرك انت وطريقة استغلالك للاكواد يعطي نتائج مختلفة تماماً.&lt;/p&gt;  &lt;h3&gt;المتطلبات التى يجب ان تتوفر لديك:&lt;/h3&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;سيرفر شخصي*:&lt;/strong&gt; هناك العديد من الانواع مثل &lt;a href="http://www.appservnetwork.com/" target="_blank" rel="nofollow"&gt;AppServ&lt;/a&gt;, &lt;a href="http://www.apachefriends.org/en/xampp.html" target="_blank" rel="nofollow"&gt;XAMPP&lt;/a&gt;, &lt;a href="http://www.wampserver.com" target="_blank" rel="nofollow"&gt;WAMPServer&lt;/a&gt;, &lt;a href="http://daif.net/camel/" target="_blank" rel="nofollow"&gt;خادم الجمل&lt;/a&gt; وأنا شخصياً استخدم &lt;a href="http://sourceforge.net/projects/appserv/files/AppServ%20Open%20Project/2.5.10/appserv-win32-2.5.10.exe/download" target="_blank" rel="nofollow"&gt;AppServ2.5.10&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;محرر نصوص محترم*:&lt;/strong&gt; يجب ان تعتني باختيار المحرر المناسب لك والذي يريحك في التعامل معه وأنا افضل &lt;a href="http://notepad-plus-plus.org/" target="_blank" rel="nofollow"&gt;NotePad++&lt;/a&gt; بسبب حجمه الصغير وسرعته في فتح الملفات وتعامله مع مختلف انواع اللغات البرمجية وهناك العديد من محررات النصوص الجيدة مثل &lt;a href="http://www.mpsoftware.dk/phpdesigner.php" target="_blank" rel="nofollow"&gt;phpDesigner&lt;/a&gt;, &lt;a href="http://www.adobe.com/products/dreamweaver/" target="_blank" rel="nofollow"&gt;Dreamweaver&lt;/a&gt;, &lt;a href="http://www.aptana.com/" target="_blank" rel="nofollow"&gt;Aptana&lt;/a&gt; ولكن يعيبهم بطئ فتح الملف اذا كان البرنامج مغلق. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;(*) اذا كنت مستخدم لينكس او ماك فيمكنك استخدام السيرفر المناسب لك ولكن يفضل ان يكون مع حزمة PHP5 اي اصدار، الـ PHP6 لا افضلة في الوقت الحالي لأنه اصدار غير ثابت.&lt;/p&gt;  &lt;p&gt;(*) في بعض الدروس يرشحون استخدام محرر النصوص التقليدي( Notepad ) او برنامج فرونت بيدج وغيرها من المحررات الغير متخصص بزعم تسهيل الامر على الدارس، ولكنني اعارض هذا الامر لأنني بذلك اصعب الامر عليك فهل مثلاً يمكنك استخدام الـ Notepad بديلاً عن برنامج الوورد لكتابة الملفات وطابعتها ؟ بالإضافة إلى ان المحررات المتخصصة تتوفر بها خاصية ترقيم السطور و تلوين الاكواد مما تسهل عليك كتابة الاكواد وتصحيح الاخطاء.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;لن اشرح طريقة تنصيب الادوات السابقة فمن المفترض انك مطور ويب في الاساس.   &lt;br /&gt;يبدوا انني قد اطلت في الحديث دون ان اكتب مقدمة عن لغة php لذلك سوف اختصر الكلام في النقاط التالية.&lt;/p&gt;  &lt;h3&gt;مقدمة عن لغة PHP&lt;/h3&gt;  &lt;p&gt;PHP ليست لغة برمجة بالمعني الحرفي مثل لغة C او C++ او جافا بل هي لغة نصية / سكربت ولكن بسبب قوتها واعتماد الكثيرين عليها في إنشاء تطبيقات الويب اصبحت مثلها مثل اي لغة برمجة اخرى، كان اسمها في السابق PHP/FI وقد صدرت عام 1995 على يد &lt;a href="http://ar.wikipedia.org/wiki/%D8%B1%D8%A7%D8%B3%D9%85%D9%88%D8%B3_%D9%84%D9%8A%D8%AF%D8%B1%D9%88%D9%81" target="_blank" rel="nofollow"&gt;راسموس ليدروف&lt;/a&gt; ثم بعد مشاركة اخرين في تطويرها وتوسعها تم تغيير اسمها إلى PHP وذلك مع الاصدار الثالث في عام&amp;#160; 1998، ما جعل PHP تنتشر هكذا هو انها لغة مفتوحة المصدر مما يتيح لكثير من المطورين المشاركة في تطوير وزيادة كفاءتها. لمزيد من المعلومات يمكنك زيارة صفحة &lt;a href="http://ar.wikipedia.org/wiki/بي_إتش_بي" target="_blank" rel="nofollow"&gt;بي إتش بي&lt;/a&gt; على موقع ويكيبيديا.&lt;/p&gt;  &lt;h3&gt;ما الذي ستستفيده من تعلم لغة PHP&lt;/h3&gt;  &lt;ul class="list"&gt;   &lt;li&gt;سوف تتحول من كونك مطور ( أي مستهلك لمجهودات الاخرين ) إلى مبرمج ( أي منتج ). &lt;/li&gt;    &lt;li&gt;سوف تستطيع تنفذ اي&amp;#160; فكرة جديدة لم يسبقك اليها احد، فمثلاً موقع مثل &lt;a href="http://twitsot.com" target="_blank"&gt;تويت صوت&lt;/a&gt; ليس هناك تطبيق جاهز يمكنه تلبية حاجة الموقع، لذلك قمت ببرمجته. &lt;/li&gt;    &lt;li&gt;ستتيح لنفسك فرص عمل اكثر و سيزيد دخلك المادي، ولكن لا تضع هذا الامر الآن نصب عينيك. &lt;/li&gt;    &lt;li&gt;ستشعر برضى نفسي اكثر عن كونك مجرد مستهلك / مطور. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;هكذا نكون قد انتهينا، وفي الدرس القادم من سلسلة دروس تعلم لغة PHP سوف تتعرف على كيفية كتابة اول كود بلغة php وتنفيذه، ولكن قبل ان نبدأ دروسنا لي رجاء عندك بآن ما تتعلمه يجب ان تُعلمه لغيرك، هذا كل شيء.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3832352952112826431-715338330061687240?l=k-coder.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://k-coder.blogspot.com/feeds/715338330061687240/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://k-coder.blogspot.com/2010/06/introduction-to-php.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3832352952112826431/posts/default/715338330061687240'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3832352952112826431/posts/default/715338330061687240'/><link rel='alternate' type='text/html' href='http://k-coder.blogspot.com/2010/06/introduction-to-php.html' title='مقدمة: قبل ان تتعلم البرمجة بلغة php'/><author><name>Khal3d</name><uri>http://www.blogger.com/profile/09974312202722408548</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_4eerMtw7Fms/S8SgyDboEQI/AAAAAAAAAg0/eFwN9qeJE9c/S220/k-bnw.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_4eerMtw7Fms/TB_CiZI-npI/AAAAAAAAAh8/D_x9zKzhjdc/s72-c/introduction-to-php.png' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3832352952112826431.post-5356086072323919416</id><published>2010-06-10T13:04:00.001-07:00</published><updated>2010-06-12T08:49:57.862-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='jQuery'/><title type='text'>ارسال النماذج بدون تحميل الصفحة باستخدام الـ jQuery والملحق jQuery Form</title><content type='html'>&lt;img class="img-post" alt="" src="http://2.bp.blogspot.com/_4eerMtw7Fms/TBFG0r7daeI/AAAAAAAAAh0/WIm9WFw__LU/s1600/jquery-form.png" /&gt;   &lt;p&gt;&lt;strong class="frist-word"&gt;من&lt;/strong&gt; اهم ما يميز الـ &lt;a href="http://jquery.com/" target="_blank" rel="nofollow"&gt;jQuery&lt;/a&gt; هو مرونة الاستخدام والملحقات التي يمكن استخدامها لتوفير كتابة الكثير من الاكواد وإضاعة الكثير من الوقت، في هذه التدوينه سوف نتعرف على &lt;a href="http://malsup.com/jquery/form/" target="_blank" rel="nofollow"&gt;Jquery Form Plugin&lt;/a&gt; الملحق الخاص بمكتبة الجافا سكربت &lt;a href="http://jquery.com/" target="_blank" rel="nofollow"&gt;jQuery&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;هذا الملحق يمكننا من ارسال البيانات التي نقوم بإدخالها في النموذج ( &lt;a href="http://www.w3schools.com/html/html_forms.asp" target="_blank" rel="nofollow"&gt;Form&lt;/a&gt; ) دون الحاجة إلى الذهاب إلى صفحة اخرى او اعادة تحميل الصفحة كما هو معتاد مع الصفحات العادية.&lt;/p&gt;  &lt;ul class="links"&gt;   &lt;li class="demo"&gt;&lt;a href="http://php-labs.co.cc/jquery/form-plugin/" target="_blank"&gt;مثال&lt;/a&gt; &lt;/li&gt;    &lt;li class="download"&gt;&lt;a href="http://dl.dropbox.com/u/3731265/public_html/jQuery/jquery-form-plugin/jquery-form-plugin.zip"&gt;تحميل&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt; &lt;a name='more'&gt;&lt;/a&gt;  &lt;h3&gt;طريقة الاستخدام&lt;/h3&gt;  &lt;p&gt;اولاً يجب علينا تحميل الملحق من &lt;a href="http://github.com/malsup/form/raw/master/jquery.form.js?v2.43" target="_blank" rel="nofollow"&gt;هذا الرابط&lt;/a&gt; ومن ثم نقوم باستدعائه بعد استدعاء مكتبة الـ jQuery كالتالي: &lt;/p&gt;  &lt;p align="left"&gt;&lt;strong&gt;HTML&lt;/strong&gt;&lt;/p&gt;  &lt;div class="code"&gt;   &lt;p&gt;&lt;span style="color: rgb(0,119,0)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(0,0,187)"&gt;script src&lt;/span&gt;&lt;span style="color: rgb(0,119,0)"&gt;=&lt;/span&gt;&lt;span style="color: rgb(221,0,0)"&gt;&amp;quot;http://code.jquery.com/jquery-latest.min.js&amp;quot; &lt;/span&gt;&lt;span style="color: rgb(0,0,187)"&gt;type&lt;/span&gt;&lt;span style="color: rgb(0,119,0)"&gt;=&lt;/span&gt;&lt;span style="color: rgb(221,0,0)"&gt;&amp;quot;text/javascript&amp;quot;&lt;/span&gt;&lt;span style="color: rgb(0,119,0)"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(0,0,187)"&gt;&amp;lt;/script&amp;gt;&lt;/span&gt; &lt;/p&gt;    &lt;p&gt;&lt;span style="color: rgb(0,119,0)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(0,0,187)"&gt;script src&lt;/span&gt;&lt;span style="color: rgb(0,119,0)"&gt;=&lt;/span&gt;&lt;span style="color: rgb(221,0,0)"&gt;&amp;quot;jquery.form.js&amp;quot; &lt;/span&gt;&lt;span style="color: rgb(0,0,187)"&gt;type&lt;/span&gt;&lt;span style="color: rgb(0,119,0)"&gt;=&lt;/span&gt;&lt;span style="color: rgb(221,0,0)"&gt;&amp;quot;text/javascript&amp;quot;&lt;/span&gt;&lt;span style="color: rgb(0,119,0)"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(0,0,187)"&gt;&amp;lt;/script&amp;gt;&lt;/span&gt; &lt;/p&gt;    &lt;p&gt;&lt;/p&gt; &lt;/div&gt;  &lt;p&gt;الآن نأتي إلى الجزء المهم وهو اعدادات الملحق ليعمل على الموقع بشكل مناسب&lt;/p&gt;  &lt;p align="left"&gt;&lt;strong&gt;JavaScript&lt;/strong&gt;&lt;/p&gt;  &lt;div class="code"&gt;   &lt;p&gt;&lt;font color="#007700"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#0000bb"&gt;script type&lt;/font&gt;&lt;font color="#007700"&gt;=&lt;/font&gt;&lt;font color="#0000dd"&gt;&amp;quot;text/javascript&amp;quot;&lt;/font&gt;&lt;font color="#007700"&gt;&amp;gt;        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; $(&lt;/font&gt;&lt;font color="#0000bb"&gt;document&lt;/font&gt;&lt;font color="#007700"&gt;).&lt;/font&gt;&lt;font color="#0000bb"&gt;ready&lt;/font&gt;&lt;font color="#007700"&gt;(function() {        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $(&lt;/font&gt;&lt;font color="#0000dd"&gt;'form.&lt;strong&gt;&lt;u&gt;ajax&lt;/u&gt;&lt;/strong&gt;'&lt;/font&gt;&lt;font color="#007700"&gt;).&lt;/font&gt;&lt;font color="#0000bb"&gt;ajaxForm&lt;/font&gt;&lt;font color="#007700"&gt;(function() {&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000bb"&gt;alert&lt;/font&gt;&lt;font color="#007700"&gt;(&lt;/font&gt; &lt;font color="#dd0000"&gt;&amp;quot;تم ارسال البيانات بنجاح&amp;quot;&lt;/font&gt; &lt;font color="#0000bb"&gt;);&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; });&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; });&amp;#160; &lt;br /&gt;&lt;/font&gt;&lt;font color="#0000bb"&gt;&amp;lt;/script&amp;gt;&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt; &lt;/div&gt;  &lt;p align="left"&gt;&lt;strong&gt;HTML:Form&lt;/strong&gt;&lt;/p&gt;  &lt;div class="code"&gt;   &lt;p&gt;&lt;font color="#007700"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#0000bb"&gt;form action&lt;/font&gt;&lt;font color="#007700"&gt;=&lt;/font&gt;&lt;font color="#dd0000"&gt;&amp;quot;test.php&amp;quot; &lt;/font&gt;&lt;font color="#007700"&gt;&lt;strong&gt;&lt;u&gt;class=&lt;/u&gt;&lt;/strong&gt;&lt;/font&gt;&lt;font color="#dd0000"&gt;&lt;strong&gt;&lt;u&gt;&amp;quot;ajax&amp;quot;&lt;/u&gt;&lt;/strong&gt; &lt;/font&gt;&lt;font color="#0000bb"&gt;method&lt;/font&gt;&lt;font color="#007700"&gt;=&lt;/font&gt;&lt;font color="#dd0000"&gt;&amp;quot;post&amp;quot;&lt;/font&gt;&lt;font color="#007700"&gt;&amp;gt;        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;&lt;/font&gt;&lt;font color="#0000bb"&gt;label&lt;/font&gt;&lt;font color="#007700"&gt;&amp;gt;&lt;/font&gt;&lt;font color="#0000bb"&gt;العنوان &lt;/font&gt;&lt;font color="#007700"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#0000bb"&gt;input name&lt;/font&gt;&lt;font color="#007700"&gt;=&lt;/font&gt;&lt;font color="#dd0000"&gt;&amp;quot;title&amp;quot; &lt;/font&gt;&lt;font color="#0000bb"&gt;type&lt;/font&gt;&lt;font color="#007700"&gt;=&lt;/font&gt;&lt;font color="#dd0000"&gt;&amp;quot;text&amp;quot; &lt;/font&gt;&lt;font color="#007700"&gt;/&amp;gt;&amp;lt;/&lt;/font&gt;&lt;font color="#0000bb"&gt;label&lt;/font&gt;&lt;font color="#007700"&gt;&amp;gt;&amp;lt;&lt;/font&gt;&lt;font color="#0000bb"&gt;br &lt;/font&gt;&lt;font color="#007700"&gt;/&amp;gt;        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;&lt;/font&gt;&lt;font color="#0000bb"&gt;label&lt;/font&gt;&lt;font color="#007700"&gt;&amp;gt;&lt;/font&gt;&lt;font color="#0000bb"&gt;الرسالة &lt;/font&gt;&lt;font color="#007700"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#0000bb"&gt;textarea name&lt;/font&gt;&lt;font color="#007700"&gt;=&lt;/font&gt;&lt;font color="#dd0000"&gt;&amp;quot;message&amp;quot;&lt;/font&gt;&lt;font color="#007700"&gt;&amp;gt;&amp;lt;/&lt;/font&gt;&lt;font color="#0000bb"&gt;textarea&lt;/font&gt;&lt;font color="#007700"&gt;&amp;gt;&amp;lt;/&lt;/font&gt;&lt;font color="#0000bb"&gt;label&lt;/font&gt;&lt;font color="#007700"&gt;&amp;gt;&amp;lt;&lt;/font&gt;&lt;font color="#0000bb"&gt;br &lt;/font&gt;&lt;font color="#007700"&gt;/&amp;gt;        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;&lt;/font&gt;&lt;font color="#0000bb"&gt;input type&lt;/font&gt;&lt;font color="#007700"&gt;=&lt;/font&gt;&lt;font color="#dd0000"&gt;&amp;quot;submit&amp;quot; &lt;/font&gt;&lt;font color="#0000bb"&gt;value&lt;/font&gt;&lt;font color="#007700"&gt;=&lt;/font&gt;&lt;font color="#dd0000"&gt;&amp;quot;ارسل البييانات&amp;quot; &lt;/font&gt;&lt;font color="#007700"&gt;/&amp;gt;        &lt;br /&gt;&amp;lt;/&lt;/font&gt;&lt;font color="#0000bb"&gt;form&lt;/font&gt;&lt;font color="#007700"&gt;&amp;gt;&lt;/font&gt; &lt;/p&gt;    &lt;p&gt;&lt;/p&gt; &lt;/div&gt;  &lt;p&gt;لاحظ اننا في الكود الثالث قد اضفنا كلاس لكود النموذج باسم &lt;strong&gt;ajax&lt;/strong&gt; وذلك حسب تحديدنا له في كود الـ JavaScript &lt;/p&gt;  &lt;p&gt;ما سبق بجزء الجافا سكربت هو الطريقة البسيطة والسهلة دون اي تعقيدات لإرسال البيانات ولكن يمكننا اضافة المزيد من الخصائص مثل ان تظهر رسالة اثناء ارسال البيانات ومن ثم اظهار رسالة بخطاء في البيانات او صحتها حسب نتيجة المعالجة في التطبيق البرمجي (PHP, ASP … ألخ)&lt;/p&gt;  &lt;p align="left"&gt;&lt;strong&gt;JavaScript&lt;/strong&gt;&lt;/p&gt;  &lt;div class="code"&gt;   &lt;p&gt;&lt;font color="#007700"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#0000bb"&gt;script type&lt;/font&gt;&lt;font color="#007700"&gt;=&lt;/font&gt;&lt;font color="#dd0000"&gt;'text/javascript'&lt;/font&gt;&lt;font color="#007700"&gt;&amp;gt;        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000bb"&gt;jQuery&lt;/font&gt;&lt;font color="#007700"&gt;(&lt;/font&gt;&lt;font color="#0000bb"&gt;document&lt;/font&gt;&lt;font color="#007700"&gt;).&lt;/font&gt;&lt;font color="#0000bb"&gt;ready&lt;/font&gt;&lt;font color="#007700"&gt;(function(){        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $(&lt;/font&gt;&lt;font color="#dd0000"&gt;'form.ajax'&lt;/font&gt;&lt;font color="#007700"&gt;).&lt;/font&gt;&lt;font color="#0000bb"&gt;ajaxForm&lt;/font&gt;&lt;font color="#007700"&gt;({        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000bb"&gt;beforeSubmit&lt;/font&gt;&lt;font color="#007700"&gt;: function(&lt;/font&gt;&lt;font color="#0000bb"&gt;a&lt;/font&gt;&lt;font color="#007700"&gt;,&lt;/font&gt;&lt;font color="#0000bb"&gt;f&lt;/font&gt;&lt;font color="#007700"&gt;,&lt;/font&gt;&lt;font color="#0000bb"&gt;o&lt;/font&gt;&lt;font color="#007700"&gt;) {        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000bb"&gt;o&lt;/font&gt;&lt;font color="#007700"&gt;.&lt;/font&gt;&lt;font color="#0000bb"&gt;dataType &lt;/font&gt;&lt;font color="#007700"&gt;= &lt;/font&gt;&lt;font color="#dd0000"&gt;'json'&lt;/font&gt;&lt;font color="#007700"&gt;; &lt;/font&gt;&lt;font color="#ff8000"&gt;// json, xml        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; // ضع هنا الأوامر التي تريد تنفيذها قبل عملية ارسال البيانات         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#007700"&gt;},        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000bb"&gt;success&lt;/font&gt;&lt;font color="#007700"&gt;: function(&lt;/font&gt;&lt;font color="#0000bb"&gt;data&lt;/font&gt;&lt;font color="#007700"&gt;) {        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#ff8000"&gt;// ضع هنا الأوامر التي تريد تنفيذها بعد نجاح عملية الارسال        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#007700"&gt;}        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; });         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; });         &lt;br /&gt;&lt;/font&gt;&lt;font color="#0000bb"&gt;&amp;lt;/script&amp;gt;&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt; &lt;/div&gt;  &lt;p&gt;لاحظ انني قد قمت بتحديد الـ dataType بـ json ( يمكنك تغييرها إلى xml ) وهو نوع البيانات/اللغة التي سوف يقوم التطبيق بالرد بها على البيانات المرسلة إلية من خلال الـ jQuery ( سوف نتعرف في تدوينه اخرى على طريقة معرفة اذا كانت البيانات المرسلة تم ارسالها من خلال الجافا سكربت او من خلال المستخدم بالطريقة التقليدية باستخدام الـ PHP )&lt;/p&gt;   &lt;ul class="links"&gt;   &lt;li class="demo"&gt;&lt;a href="http://php-labs.co.cc/jquery/form-plugin/" target="_blank"&gt;مثال&lt;/a&gt; &lt;/li&gt;    &lt;li class="download"&gt;&lt;a href="http://dl.dropbox.com/u/3731265/public_html/jQuery/jquery-form-plugin/jquery-form-plugin.zip"&gt;تحميل&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3832352952112826431-5356086072323919416?l=k-coder.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://k-coder.blogspot.com/feeds/5356086072323919416/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://k-coder.blogspot.com/2010/06/jquery-form-plugins.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3832352952112826431/posts/default/5356086072323919416'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3832352952112826431/posts/default/5356086072323919416'/><link rel='alternate' type='text/html' href='http://k-coder.blogspot.com/2010/06/jquery-form-plugins.html' title='ارسال النماذج بدون تحميل الصفحة باستخدام الـ jQuery والملحق jQuery Form'/><author><name>Khal3d</name><uri>http://www.blogger.com/profile/09974312202722408548</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_4eerMtw7Fms/S8SgyDboEQI/AAAAAAAAAg0/eFwN9qeJE9c/S220/k-bnw.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_4eerMtw7Fms/TBFG0r7daeI/AAAAAAAAAh0/WIm9WFw__LU/s72-c/jquery-form.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3832352952112826431.post-2770725021001605007</id><published>2010-04-18T05:04:00.001-07:00</published><updated>2010-04-18T07:48:30.741-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><title type='text'>PHP Function To Retrieve The Original URL From A Shortened URL</title><content type='html'>&lt;img class="img-post" src="http://1.bp.blogspot.com/_4eerMtw7Fms/S8r--HxOOwI/AAAAAAAAAhk/R-7Gac6buew/s1600/Retrieve-Original-URL.png" /&gt;   &lt;p align="justify"&gt;&lt;strong class="frist-word"&gt;هل&lt;/strong&gt; سألت نفسك يوم كيف يقوم موقع &lt;a title="Untiny" href="http://untiny.me/" target="_blank" rel="nofollow"&gt;Untiny&lt;/a&gt; الذي قام ببرمجته الأخ &lt;a title="مدونة صالح الزيد" href="http://www.alzaid.ws/" target="_blank" rel="nofollow"&gt;صالح الزيد&lt;/a&gt; علي إلغاء اختصار كل هذه الروابط من مواقع الاختصار المختلفة؟ فبالتأكيد انك قلت لنفسك انة بالتأكيد كتب الكثير من الاكواد او انة يكتب كود خاص لكل موقع اختصار علي حدى .. ولكن دعني اقول لك انك على خطاء فالأمر ليس بكل هذا التعقيد الذي تعتقده.&lt;/p&gt;  &lt;p align="justify"&gt;فكل ما في الأمر هو استخدام دالة &lt;a title="PHP: get_headers - Manual" href="http://php.net/get_headers" target="_blank" rel="nofollow"&gt;get_headers&lt;/a&gt; التي تعمل علي قراءة الهيدر الخاص بالرابط والذي يحتوي علي الرابط الذي سوف يتم التوجه إليه ( الرابط الغير مختصر ).&lt;/p&gt;  &lt;p&gt;قمت باستخدام الدالة &lt;a title="PHP: get_headers - Manual" href="http://php.net/get_headers" target="_blank" rel="nofollow"&gt;get_headers&lt;/a&gt; مع بعض الاكواد الآخرى وأنشأت دالة جديدة تعمل علي استيراد الرابط الاصلي من الرابط المختصر.&lt;/p&gt;  &lt;ul class="links"&gt;   &lt;li class="demo"&gt;&lt;a href="http://php-labs.co.cc/functions-lab/retrieve_shortened_link.php" target="_blank"&gt;مثال&lt;/a&gt; &lt;/li&gt;    &lt;li class="download"&gt;&lt;a href="http://dl.dropbox.com/u/3731265/public_html/PHP/functions/retrieve_shortened_link.php"&gt;تحميل&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt; &lt;a name='more'&gt;&lt;/a&gt;  &lt;p&gt;&lt;strong&gt;الدالة&lt;/strong&gt;&lt;/p&gt;  &lt;div class="code"&gt;&amp;lt;?php    &lt;br /&gt;function retrieve_shortened_link($shortUrl){     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; $headers = &lt;a title="PHP: get_headers - Manual" href="http://php.net/get_headers" target="_blank" rel="nofollow"&gt;get_headers&lt;/a&gt;($shortUrl, 1);     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; if(&lt;a title="PHP: is_array - Manual" href="http://www.php.net/is_array" target="_blank" rel="nofollow"&gt;is_array&lt;/a&gt;($headers['Location'])){     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; return $headers['Location'][0];     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }else{     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; return $headers['Location'];     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }     &lt;br /&gt;}     &lt;br /&gt;?&amp;gt;&lt;/div&gt;  &lt;p align="right"&gt;هذا كل شيء .. ولكن في النهاية اريد ان اوضح إلى انني لم اقم بالإطلاع علي كود المصدر الخاص بموقع &lt;a title="Untiny" href="http://untiny.me/" target="_blank" rel="nofollow"&gt;untiny&lt;/a&gt; لذلك ليس لدي اي دليل ان هذه الطريقة المستخدمة في الموقع ومن يملك التأكيد هو الاخ &lt;a title="مدونة صالح الزيد" href="http://www.alzaid.ws/" target="_blank" rel="nofollow"&gt;صالح الزيد&lt;/a&gt; ولكن هل قمت بتجربة الدالة ولم تفلح معك ;)&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3832352952112826431-2770725021001605007?l=k-coder.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://k-coder.blogspot.com/feeds/2770725021001605007/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://k-coder.blogspot.com/2010/04/php-function-to-retrieve-original-url.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3832352952112826431/posts/default/2770725021001605007'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3832352952112826431/posts/default/2770725021001605007'/><link rel='alternate' type='text/html' href='http://k-coder.blogspot.com/2010/04/php-function-to-retrieve-original-url.html' title='PHP Function To Retrieve The Original URL From A Shortened URL'/><author><name>Khal3d</name><uri>http://www.blogger.com/profile/09974312202722408548</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_4eerMtw7Fms/S8SgyDboEQI/AAAAAAAAAg0/eFwN9qeJE9c/S220/k-bnw.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_4eerMtw7Fms/S8r--HxOOwI/AAAAAAAAAhk/R-7Gac6buew/s72-c/Retrieve-Original-URL.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3832352952112826431.post-9142783842937844697</id><published>2010-04-16T08:57:00.001-07:00</published><updated>2010-04-16T09:25:12.712-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='jQuery'/><title type='text'>Custom Missing Images Using jQuery</title><content type='html'>&lt;p align="justify"&gt;&lt;strong class="frist-word"&gt;&lt;img class="img-post" src="http://1.bp.blogspot.com/_4eerMtw7Fms/S8iLfU5Y1iI/AAAAAAAAAhg/QHNsFeBtqDI/s1600/missing-images.png" /&gt; &lt;/strong&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;strong class="frist-word"&gt;مشكلة&lt;/strong&gt; الصور المفقودة او الغير موجودة على صفحات المواقع هي مشكلة مملة جداً، فكم عدد المواقع التي دخلت عليهم وانتظرت ظهور الصور لفترات طويلة وفي النهاية تكتشف ان الصورة غير موجودة، او اذا كنت من مستخدمي الفايرفوكس فربما تبحث هنا وهناك عن تلك الصورة التي يشير إليها الكاتب والتي لن تجدها و لن تجد اي شيء يدل علي مكانها اذا كان وسم الصورة لا يحتوي علي الخاصية alt لان الفايرفوكس لا يظهر الصور الغير موجودة والتي لا تحتوي علي alt بشكل تلقائي.&lt;/p&gt;  &lt;p align="justify"&gt;الـ jQuery يمكنها حل هذه المشكلة بكل سهولة، ففي هذه التدوينه سوف اخبرك كيف يمكنك استبدال الصور المفقودة بصورة اخرى تُخبر الزائر بأنة كان من المفترض ظهور صورة هنا ولكن لسوء الحظ الصورة اصبحت غير موجودة ولا يمكن عرضها!&lt;/p&gt;  &lt;ul class="links"&gt;   &lt;li class="demo"&gt;&lt;a href="http://dl.dropbox.com/u/3731265/public_html/jQuery/missing-images/demo.html" target="_blank"&gt;مثال&lt;/a&gt; &lt;/li&gt;    &lt;li class="download"&gt;&lt;a href="http://dl.dropbox.com/u/3731265/public_html/jQuery/missing-imagse/missing-images.zip"&gt;تحميل&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt; &lt;a name='more'&gt;&lt;/a&gt;  &lt;h3&gt;طريقة الاستخدام&lt;/h3&gt;  &lt;p&gt;كل ما عليك فعلة هو ادراج كود الجافا اسكربت التالي بصفحات موقعك مع تغيير الصورة البديلة بالصورة التي تفضلها.&lt;/p&gt;  &lt;p align="left"&gt;&lt;strong&gt;JavaScript&lt;/strong&gt;&lt;/p&gt;  &lt;div class="code"&gt;&amp;lt;script src=&amp;quot;&lt;a href="http://code.jquery.com/jquery-latest.min.js" target="_blank" rel="nofollow"&gt;http://code.jquery.com/jquery-latest.min.js&lt;/a&gt;&amp;quot; type=&amp;quot;text/javascript&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;     &lt;br /&gt;&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;     &lt;br /&gt;$(document).ready(function() {     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; $('img').error(function() {     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $(this).attr({     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 'src': '&lt;a title="http://dl.dropbox.com/u/3731265/public_html/jQuery/missing-images/missing-image.gif" href="http://dl.dropbox.com/u/3731265/public_html/jQuery/missing-images/missing-image.gif" target="_blank"&gt;http://dl.dropbox.com/u/3731265/public_html/jQuery/missing-images/missing-image.gif&lt;/a&gt;',     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 'alt': 'عفواً، هذة الصورة غير موجودة!',     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 'title': 'عفواً، هذة الصورة غير موجودة!',     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 'class': 'missing-images'     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; });     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; });     &lt;br /&gt;});     &lt;br /&gt;&amp;lt;/script&amp;gt;&lt;/div&gt;  &lt;p align="justify"&gt;يمكنك الاكتفاء بكود الـ JavaScript السابق او يمكنك اضافة المزيد من التنسيقات على الصورة المفقودة باستخدام الـ Css كالتالي:&lt;/p&gt;  &lt;p align="left"&gt;&lt;strong&gt;Css&lt;/strong&gt;&lt;/p&gt;  &lt;div class="code"&gt;   &lt;p&gt;.missing-images {      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; border: 1px solid #dcdace;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; padding: 1px;       &lt;br /&gt;}&lt;/p&gt; &lt;/div&gt;  &lt;p align="justify"&gt;هل لديك المزيد من الحلول والأفكار بخصوص الصور المفقودة والـ jQuery؟ اتمنى ان لا تبخل بها علينا حتى ولو كانت مجرد فكرة :)&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3832352952112826431-9142783842937844697?l=k-coder.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://k-coder.blogspot.com/feeds/9142783842937844697/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://k-coder.blogspot.com/2010/04/custom-missing-images-using-jquery.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3832352952112826431/posts/default/9142783842937844697'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3832352952112826431/posts/default/9142783842937844697'/><link rel='alternate' type='text/html' href='http://k-coder.blogspot.com/2010/04/custom-missing-images-using-jquery.html' title='Custom Missing Images Using jQuery'/><author><name>Khal3d</name><uri>http://www.blogger.com/profile/09974312202722408548</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_4eerMtw7Fms/S8SgyDboEQI/AAAAAAAAAg0/eFwN9qeJE9c/S220/k-bnw.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_4eerMtw7Fms/S8iLfU5Y1iI/AAAAAAAAAhg/QHNsFeBtqDI/s72-c/missing-images.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3832352952112826431.post-7328133395297033144</id><published>2010-04-13T13:00:00.001-07:00</published><updated>2010-04-13T13:01:41.049-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='أخبار و مقالات'/><title type='text'>Virtual Keyboard - New Feature from Google On Search Results Page</title><content type='html'>&lt;img class="img-post" src="http://2.bp.blogspot.com/_4eerMtw7Fms/S8TKv8ANUOI/AAAAAAAAAhc/3UO0Os1629k/s1600/VirtualKeyboard.png" /&gt;   &lt;p align="justify"&gt;فوجئت اليوم عند بحثي علي جوجل بوجود خاصية جديد وهي لوحة مفاتيح عربية افتراضية لمن لا يمتلك لوحة مفاتيح عربية. &lt;/p&gt;  &lt;p align="justify"&gt;هذه الخدمة ليست بالجديدة من جوجل فقد اصدرت منذ فترة كـ &lt;a title="AJAX Language API for Virtual Keyboard" href="http://code.google.com/apis/ajaxlanguage/documentation/#Keyboard" target="_blank" rel="nofollow"&gt;Ajax API&lt;/a&gt; للمطورين ولكن الجديد هو ان هذه الخدمة اصبحت متاحة باللغة العربية علي صفحات البحث الخاصة بجوجل.&lt;/p&gt;  &lt;p align="justify"&gt;هذه الخاصية الجديدة علي صفحات بحث جوجل مازلت غير موجودة علي الصفحة الرئيسية لموقع Google ولكنها متاحة علي الصفحة الداخلية عندما تقوم بالبحث عن شيء ما.&lt;/p&gt;  &lt;p align="justify"&gt;أيضاً ربما لا تظهر لدي الجميع الآن، ولكنها ظهرت لدي علي صفحة &lt;a href="http://google.com.eg/" target="_blank" rel="nofollow"&gt;جوجل مصر&lt;/a&gt; باستخدام متصفح الفايرفوكس ولم تظهر علي متصفح كروم! &lt;/p&gt;  &lt;a name='more'&gt;&lt;/a&gt;&lt;a href="http://4.bp.blogspot.com/_4eerMtw7Fms/S8TGWWVvJPI/AAAAAAAAAhY/lGhfAGaloeU/s1600/VirtualKeyboard-PrintScreen.png" target="_blank"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" height="212" src="http://4.bp.blogspot.com/_4eerMtw7Fms/S8TGWWVvJPI/AAAAAAAAAhY/lGhfAGaloeU/s400/VirtualKeyboard-PrintScreen.png" width="400" border="0" /&gt; &lt;/a&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3832352952112826431-7328133395297033144?l=k-coder.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://k-coder.blogspot.com/feeds/7328133395297033144/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://k-coder.blogspot.com/2010/04/virtual-keyboard-from-google.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3832352952112826431/posts/default/7328133395297033144'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3832352952112826431/posts/default/7328133395297033144'/><link rel='alternate' type='text/html' href='http://k-coder.blogspot.com/2010/04/virtual-keyboard-from-google.html' title='Virtual Keyboard - New Feature from Google On Search Results Page'/><author><name>Khal3d</name><uri>http://www.blogger.com/profile/09974312202722408548</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_4eerMtw7Fms/S8SgyDboEQI/AAAAAAAAAg0/eFwN9qeJE9c/S220/k-bnw.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_4eerMtw7Fms/S8TKv8ANUOI/AAAAAAAAAhc/3UO0Os1629k/s72-c/VirtualKeyboard.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3832352952112826431.post-4616966561630178260</id><published>2010-04-13T09:24:00.001-07:00</published><updated>2010-04-18T08:11:11.734-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='تطبيقات وخدمات'/><title type='text'>PostageApp: The Easier Way To Send E-mail From Your Apps</title><content type='html'>&lt;img class="img-post" src="http://2.bp.blogspot.com/_4eerMtw7Fms/S8RUVfvCopI/AAAAAAAAAgg/5R-Q_Qg-uGw/s1600/postage.png" /&gt;   &lt;br /&gt;&lt;b class="frist-word"&gt;أكبر&lt;/b&gt; مشكلة تواجه اي مبرمج هي عملية ارسال الرسائل إلى المستخدمين، فربما تكون هناك مشكلة بالسيرفر تمنع عملية ارسال الرسائل او ان المستضيف يمنع عملية ارسال الرسائل نهائياً وبذلك يكون الامر صعب اذا كان يجب علي التطبيق ارسال رسالة تنشيط العضوية للمستخدم قبل ان يسمح له باستخدام الموقع، وبذلك فعملية اشتراك الاعضاء اصبحت معطلة!   &lt;br /&gt;تأتي خدمة &lt;a href="http://postageapp.com/" target="_blank" rel="nofollow"&gt;PostageApp&lt;/a&gt; لحل مثل هذه المشاكل، فهي عبارة عن بوابة لإرسال الرسائل من خلال واجهة&amp;#160; برمجة التطبيقات ( API ) فتقوم باستقبال الرسالة التي تريد ان ترسلها للمستخدم ومن ثم تعمل الخدمة علي ارسال الرسالة من خلال اعدادات الـ SMTP التي قمت بوضعها في موقع الخدمة ( يمكنك استخدام السيرفر الخاص بالخدمة او يمكنك ربط الخدمة بالـ &lt;a href="http://mail.google.com/support/bin/answer.py?hl=en&amp;amp;answer=13287" target="_blank" rel="nofollow"&gt;Gmail SMTP&lt;/a&gt; او استخدام اي سيرفر آخر لإرسال الرسائل ) .   &lt;br /&gt;ايضاً هذه الخدمة مفيدة في حال اردت مراسلة جميع الاعضاء ( الرسائل الجماعية ) فهي لن تسبب لك مشاكل علي سيرفر الاستضافة الخاص بك، لان عملية الارسال سوف تتم من خلال الاتصال ( HTTP ) مرة واحدة فقط ومن ثم سوف تكون مهمة لـ &lt;a href="http://postageapp.com/" target="_blank" rel="nofollow"&gt;PostageAPP&lt;/a&gt; في عملية ارسال الرسائل للأعضاء الذين قمت باختيارهم للإرسال.   &lt;br /&gt;  &lt;ul class="links"&gt;   &lt;li class="web"&gt;&lt;a href="http://postageapp.com/" target="_blank" rel="nofollow"&gt;موقع الخدمة&lt;/a&gt; &lt;/li&gt;    &lt;li class="demo"&gt;&lt;a href="http://php-labs.co.cc/api-lab/PostageApp/index.php" target="_blank"&gt;مثال&lt;/a&gt; &lt;/li&gt;    &lt;li class="download"&gt;&lt;a href="http://dl.dropbox.com/u/3731265/public_html/PHP/PostageApp/PostageApp.zip"&gt;تحميل&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt; &lt;a name='more'&gt;&lt;/a&gt;  &lt;h3&gt;المميزات:&lt;/h3&gt;  &lt;ul&gt;   &lt;li&gt;حل مشاكل ارسال الرسائل من السيرفر. &lt;/li&gt;    &lt;li&gt;عدم وجود ضغط علي سيرفر موقعك في حالة ارسال رسائل كثيرة / جماعية. &lt;/li&gt;    &lt;li&gt;امكانية ارسال الرسائل من علي الـ localhost بكل سهولة. &lt;/li&gt;    &lt;li&gt;نظام احصائيات بعدد الرسائل التي ارسلت والرسائل التي لم يتم ارسالها. &lt;/li&gt;    &lt;li&gt;انشاء قوالب لتنسيق الرسائل. &lt;/li&gt;    &lt;li&gt;سيرفر SMTP مجاني لإرسال الرسائل كما يمكنك تغيير اعدادات السيرفر لأي سيرفر آخر كالـ Gmail مثلاً. &lt;/li&gt; &lt;/ul&gt;  &lt;h3&gt;طريقة الاستخدام:&lt;/h3&gt; بدايةً يجب عليك &lt;a href="http://secure.postageapp.com/register" target="_blank" rel="nofollow"&gt;الاشتراك&lt;/a&gt; في الموقع ومن ثم نقوم بإنشاء مشروع جديد علي الموقع حتى نحصل علي مفتاح الـ API الخاص بالمشروع.   &lt;br /&gt;أذهب إلى لوحة التحكم ثم اضغط علي &lt;b&gt;CREATE NEW PROJECT&lt;/b&gt; ثم ادخل اسم المشروع وبعد ذلك اضغط علي &lt;b&gt;Create project&lt;/b&gt;؛ بالجانب الايمن سوف تجد API key وأسفلها مفتاح الـ API وهو ما نحتاج إلية الآن.   &lt;br /&gt;الخطوة التالية هي بتحميل الكلاس التالي والذي سوف نستخدمه في عملة ارسال الرسائل   &lt;br /&gt;  &lt;div align="left"&gt;&lt;b&gt;&lt;a href="http://dl.dropbox.com/u/3731265/public_html/PHP/PostageApp/postageapp.class.php" target="_blank" rel="nofollow"&gt;postageapp.class.php&lt;/a&gt;&lt;/b&gt;&lt;/div&gt;  &lt;div class="code"&gt;&amp;lt;?php    &lt;br /&gt;class PostageApp{     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; function __construct($API_KEY, $API_URL='http://api.postageapp.com'){     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $this-&amp;gt;POSTAGE_API_KEY&amp;#160;&amp;#160;&amp;#160; = $API_KEY;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $this-&amp;gt;POSTAGE_HOSTNAME&amp;#160;&amp;#160;&amp;#160; = $API_URL;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; // Sends a message to Postage App     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; function mail($recipient, $subject, $mail_body, $header=array(), $variables=NULL) {     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $content = array(     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 'recipients'&amp;#160;&amp;#160;&amp;#160; =&amp;gt; $recipient,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 'headers'&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; =&amp;gt; array_merge($header, array('Subject' =&amp;gt; $subject)),     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 'variables'&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; =&amp;gt; $variables,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 'uid'&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; =&amp;gt; time()     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; );     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; if (is_string($mail_body)) {     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $content['template'] = $mail_body;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; } else {     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $content['content'] = $mail_body;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; return PostageApp::post(     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 'send_message',     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; json_encode(     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; array(     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 'api_key' =&amp;gt; $this-&amp;gt;POSTAGE_API_KEY,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 'arguments' =&amp;gt; $content     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; )     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; )     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; );     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; // Makes a call to the Postage App API     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; function post($api_method, $content) {     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $ch = curl_init($this-&amp;gt;POSTAGE_HOSTNAME.'/v.1.0/'.$api_method.'.json');     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; curl_setopt($ch, CURLOPT_POSTFIELDS,&amp;#160; $content);     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; curl_setopt($ch, CURLOPT_HEADER, false);     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; curl_setopt($ch, CURLOPT_POST, 1);     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $output = curl_exec($ch);     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; curl_close($ch);     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; return json_decode($output);     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }     &lt;br /&gt;}     &lt;br /&gt;?&amp;gt;&lt;/div&gt; الآن نأتي إلى خطوة آخرى وهي استخدام الكلاس السابق مع الـ API الذي حصلنا علية من خلال انشائنا للمشروع الجديد في موقع &lt;a href="http://postageapp.com/" target="_blank" rel="nofollow"&gt;postageapp.com&lt;/a&gt;   &lt;br /&gt;  &lt;div align="left"&gt;&lt;b&gt;&lt;a href="http://dl.dropbox.com/u/3731265/public_html/PHP/PostageApp/index.php" target="_blank"&gt;index.php&lt;/a&gt;&lt;/b&gt;&lt;/div&gt;  &lt;div class="code"&gt;&amp;lt;?php    &lt;br /&gt;if($_POST['to']) {     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; include_once( 'postageapp.class.php' );     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; /* $send_to&amp;#160;&amp;#160;&amp;#160; = array(     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 'mail1@gmail.com',     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 'mail12@gmail.com',     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 'mail13@gmail.com'); */     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; $send_to&amp;#160;&amp;#160;&amp;#160; = array($_POST['to']);     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; $subject&amp;#160;&amp;#160;&amp;#160; = $_POST['subject'];     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; $message&amp;#160;&amp;#160;&amp;#160; = $_POST['message'];     &lt;br /&gt;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; $mail_body&amp;#160;&amp;#160;&amp;#160; = array(     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 'text/plain' =&amp;gt; strip_tags($message),     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 'text/html' =&amp;gt; $message);     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; $header = array(     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 'From'&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; =&amp;gt; 'from@gmail.com',     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 'Reply-to'&amp;#160;&amp;#160;&amp;#160; =&amp;gt; 'reply-to@gmail.com');     &lt;br /&gt;    &lt;br /&gt;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; // قم بتغيير المفتاح الذي بالاسفل إلي المفتاح الخاص بك     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; $postageapp = new PostageApp( '&lt;span style="color: #c2101e"&gt;&lt;b&gt;rFdFxiLzPjH9xDoLkRyMdXfvSJXqonGT&lt;/b&gt;&lt;/span&gt;' );     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; $send = $postageapp-&amp;gt;mail($send_to, $subject, $mail_body, $header);     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; // print status     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; if($send-&amp;gt;response-&amp;gt;status == 'ok'){     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; echo '&amp;lt;br/&amp;gt;&amp;lt;b&amp;gt;SUCCESS:&amp;lt;/b&amp;gt;, An email was sent and the following response was received:';     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }else{     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; echo '&amp;lt;br/&amp;gt;&amp;lt;b&amp;gt;Error sending your email:&amp;lt;/b&amp;gt; '.$send-&amp;gt;response-&amp;gt;message;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; echo '&amp;lt;hr&amp;gt;&amp;lt;pre style=&amp;quot;text-align:left;&amp;quot;&amp;gt;';     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; print_r ($send);     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; echo '&amp;lt;/pre&amp;gt;';     &lt;br /&gt;}     &lt;br /&gt;?&amp;gt;     &lt;br /&gt;&amp;lt;form method=&amp;quot;post&amp;quot; action=&amp;quot;./&amp;quot;&amp;gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; send to: &amp;lt;input type=&amp;quot;text&amp;quot; name=&amp;quot;to&amp;quot; /&amp;gt;&amp;lt;br /&amp;gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; subject: &amp;lt;input type=&amp;quot;text&amp;quot; name=&amp;quot;subject&amp;quot; /&amp;gt;&amp;lt;br /&amp;gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; message: &amp;lt;textarea name=&amp;quot;message&amp;quot; &amp;gt;&amp;lt;/textarea&amp;gt;&amp;lt;br /&amp;gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;input type=&amp;quot;submit&amp;quot; value=&amp;quot;Send&amp;quot;/&amp;gt;     &lt;br /&gt;&amp;lt;/form&amp;gt;&lt;/div&gt;  &lt;h3&gt;ضبط اعدادات الـ SMTP:&lt;/h3&gt; اذا كنت تريد تغيير اعدادات الـ SMTP وهذا امر ارجحة حتى لا نعتمد بشكل مكثف علي سيرفر موقع &lt;a href="http://postageapp.com/" target="_blank" rel="nofollow"&gt;postageapp.com&lt;/a&gt; في ارسال الرسائل وتخفيف الضغط عنة   &lt;br /&gt;اذهب إلى رئيسية لوحة التحكم ثم اضغط علي &lt;b&gt;ADD MAIL SERVER&lt;/b&gt; ثم ادخل اعدادات سيرفر ارسال الرسائل وبعد ذلك اضغط علي &lt;b&gt;Create and Send Test Message&lt;/b&gt;   &lt;br /&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" src="http://2.bp.blogspot.com/_4eerMtw7Fms/S8SUYCIbfVI/AAAAAAAAAgo/EyFfullvILg/s1600/postage-smtp.png" /&gt;   &lt;br /&gt;الآن سيتم نقلنا إلى الصفحة الرئيسية مرة آخري ويتبقى لدينا الآن خطوة اخيرة وهي تبديل الاعدادات الافتراضية لسيرفر الارسال للمشروع الذي قمنا بإنشائه سابقاً من خلال الضغط علي &lt;b&gt;PostageApp SMTP Server&lt;/b&gt; الموجودة اسفل اسم المشروع وسوف يتم نقلنا إلى صفحة آخرى ومنها نقوم بتغيير الـ Mail Server من PostageApp SMTP Server إلى اسم السيرفر الذي قمنا بإنشائه بعد ذلك نضغط علي &lt;b&gt;Switch to this Mail Server&lt;/b&gt;   &lt;br /&gt;  &lt;h3&gt;ملحوظة:&lt;/h3&gt; تسجيل الدخول يتم من خلال الصفحة الخاصة بحسابك الذي تم انشائه فإذا كان اسم الدخول الخاص بك باسم khal3d فيتم تسجيل الدخول من خلال الصفحة http://khal3d.postageapp.com     &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3832352952112826431-4616966561630178260?l=k-coder.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://k-coder.blogspot.com/feeds/4616966561630178260/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://k-coder.blogspot.com/2010/04/postageapp-easier-way-to-send-e-mail.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3832352952112826431/posts/default/4616966561630178260'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3832352952112826431/posts/default/4616966561630178260'/><link rel='alternate' type='text/html' href='http://k-coder.blogspot.com/2010/04/postageapp-easier-way-to-send-e-mail.html' title='PostageApp: The Easier Way To Send E-mail From Your Apps'/><author><name>Khal3d</name><uri>http://www.blogger.com/profile/09974312202722408548</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_4eerMtw7Fms/S8SgyDboEQI/AAAAAAAAAg0/eFwN9qeJE9c/S220/k-bnw.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_4eerMtw7Fms/S8RUVfvCopI/AAAAAAAAAgg/5R-Q_Qg-uGw/s72-c/postage.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3832352952112826431.post-3895445658263714846</id><published>2010-04-11T12:11:00.001-07:00</published><updated>2010-04-13T10:54:03.963-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='تطبيقات وخدمات'/><title type='text'>Dropbox Great Tool For Web Designer &amp; Developer</title><content type='html'>&lt;img class="img-post" src="http://lh6.ggpht.com/_4eerMtw7Fms/S8Ict0PQO6I/AAAAAAAAAgc/LO1smkZONLo/Img-post_Dropbox.png" /&gt;   &lt;p align="justify"&gt;&lt;strong&gt;لعل&lt;/strong&gt; اكبر مشكلة تواجهنا نحن المصممين ومطوري المواقع وغيرنا ممن يعملون علي حواسيبهم ولا يستطيعون ان يستغنوا او يستخدموا اجهزة غير اجهزتهم الشخصية، ولعل هذا بسبب البرامج والتطبيقات والملفات التي لا نستطيع الاستغناء عنها والتي لا تتوفر في الاجهزة الاخرى، كما ايضاً دائماً ما تواجهنا مشكلة وخوف من حذف بعض الملفات الهامة والتي لا يمكن بأي شكل من الاشكال ان نفقدها وهذا بالضبط ما يرعبني عندما اقوم بتنصيب نظام تشغيل جديد او في حالة التعديل علي تقسيم القرص الصلب فأخاف ان يحدث خطاء ما يجعلني افقد ملفات قد قمت بالعمل عليها لشهور عديدة في لحظة واحدة.&lt;/p&gt;  &lt;p align="justify"&gt;تأتي خدمة &lt;a href="https://www.dropbox.com/referrals/NTM3MzEyNjU5" target="_blank" rel="nofollow"&gt;DropBox&lt;/a&gt; لحل هذه المشكلة وأكثر .. فمن خلال برنامج خاص تقوم بإنشاء مجلد على قرصك الصلب وتقوم بوضع به ملفاتك التي تخشى ان تفقدها وبدورة سوف يقوم برفعها علي خادم خاص بالخدمة على الإنترنت وبذلك تكون حللت الكثير من المشاكل التي كانت تؤرقك.&lt;/p&gt;  &lt;a name='more'&gt;&lt;/a&gt;&lt;h3 align="justify"&gt;&lt;a href="https://www.dropbox.com/features" target="_blank" rel="nofollow"&gt;المميزات:&lt;/a&gt;&lt;/h3&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div align="justify"&gt;&lt;strong&gt;مزامنة الملفات:&lt;/strong&gt; من خلال مزامنة الملفات يمكنك (إضافة، تحرير، حذف، اعادة تسمية … ألخ) وسوف يتم ذلك بشكل مباشر على حسابك في الخدمة. &lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;&lt;strong&gt;مشاركة الملفات:&lt;/strong&gt; مشاركة الملفات علي جميع الأجهزة الخاصة بك (Linux, Mac, Windows و iPhone) المرتبطة ببعضها البعض من خلال الخدمة. &lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;&lt;strong&gt;النسخ الاحتياطي:&lt;/strong&gt; يتم اخذ نسخة احتياطية للملفات لمدة 30 يوم، وبذلك يمكنك استعادتها حتى وان قمت بحذفها بنفسك (استعادة الملفات متاحة للحسابات الغير مجانية)&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;&lt;strong&gt;الوصول لملفاتك من خلال الموقع:&lt;/strong&gt; يمكنك الوصول إلى ملفاتك من خلال موقع الخدمة وليس شرطاً ان تستخدم البرنامج بشكل دائم اينما ذهبت.&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;&lt;strong&gt;الحماية والخصوصية:&lt;/strong&gt; بشكل افتراضي لا يمكن ان يصل اي شخص إلى ملفاتك .. ولكن يمكنك تحديد احد المجلدات انه للاستخدام العام وبذلك يمكنك اعطاء اي شخص رابط مباشر للملف لكي يقوم بتحميله (تفيد لمشاركة الملفات في المواقع والمدونات).&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;&lt;strong&gt;الوصول للملفات من علي الهاتف المحمول:&lt;/strong&gt; اذا كنت من مستخدمي الآي فون فأيضاً يمكنك استخدم الخدمة من عليه وتقوم بربط الملفات التي علي هاتفك المحمول بحاسبك الشخصي.&lt;/div&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;h3&gt;&lt;a href="https://www.dropbox.com/plans" target="_blank" rel="nofollow"&gt;هناك 3 خطط للخدمة:&lt;/a&gt;&lt;/h3&gt;  &lt;p align="justify"&gt;- &lt;strong&gt;الأولى&lt;/strong&gt; وهي مجانية وتعطيك مساحة 2 جيجا ويمكنك زيادة المساحة حتى 10 جيجا من خلال دعوة اصدقائك لتجربة الخدمة.    &lt;br /&gt;- &lt;strong&gt;الثانية&lt;/strong&gt; وهي مساحة 50 جيجا مقابل $9.99 في الشهر او $99 في السنة.    &lt;br /&gt;- &lt;strong&gt;الثالثة&lt;/strong&gt; وهي مساحة 100 جيجا مقابل $19.99 في الشهر او $199 في السنة.&lt;/p&gt;  &lt;p align="justify"&gt;&lt;strong&gt;شخصياً:&lt;/strong&gt; استخدم هذه الخدمة لوضع ملفات السيرفر الشخصي وملفات قاعدة البيانات حتى يمكنني العمل علي مشاريعي البرمجية من علي اللاب توب او من علي الجهاز المكتبي وبالتأكيد حتى احتفظ بنسخة من ملفاتي في مكان آمن فكم كان محرجاً عندما اعتذرت لأحد العملاء لأنني سوف اتأخر قليلاً لأنني فقدت ملفات التطبيق الخاص بة وأنني مضطر لإعادة العمل من الصفر.&lt;/p&gt;  &lt;ul class="links"&gt;   &lt;li class="web"&gt;&lt;a href="https://www.dropbox.com/referrals/NTM3MzEyNjU5" target="_blank" rel="nofollow"&gt;للاشتراك من خلالي&lt;/a&gt; &lt;/li&gt;    &lt;li class="download"&gt;&lt;a href="https://www.dropbox.com/downloading" target="_blank" rel="nofollow"&gt;تحميل البرنامج&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3832352952112826431-3895445658263714846?l=k-coder.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://k-coder.blogspot.com/feeds/3895445658263714846/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://k-coder.blogspot.com/2010/04/dropbox-great-tool-for-web-designer.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3832352952112826431/posts/default/3895445658263714846'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3832352952112826431/posts/default/3895445658263714846'/><link rel='alternate' type='text/html' href='http://k-coder.blogspot.com/2010/04/dropbox-great-tool-for-web-designer.html' title='Dropbox Great Tool For Web Designer &amp;amp; Developer'/><author><name>Khal3d</name><uri>http://www.blogger.com/profile/09974312202722408548</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_4eerMtw7Fms/S8SgyDboEQI/AAAAAAAAAg0/eFwN9qeJE9c/S220/k-bnw.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/_4eerMtw7Fms/S8Ict0PQO6I/AAAAAAAAAgc/LO1smkZONLo/s72-c/Img-post_Dropbox.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3832352952112826431.post-8054191715594694822</id><published>2010-04-10T04:45:00.001-07:00</published><updated>2010-04-13T10:54:40.096-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='jQuery'/><title type='text'>jQuery Plugin: Character Count Like Twitter</title><content type='html'>&lt;img class="img-post" alt="" src="http://3.bp.blogspot.com/_4eerMtw7Fms/S8EMjeRWpSI/AAAAAAAAAf8/ErvcWEujTvw/s1600/Character-Count.png" /&gt;&lt;br /&gt;&lt;p&gt;عندما تضع حدود لشيء يجب عليك اظهار هذه الحدود للمستخدم وان تنبهه لها .. هذا بالضبط ما فعله تويتر في موقعة، فهو يقوم بتحديد لك عدد الحروف التي تستطيع كتابتها في تدويناتك المصغرة بـ 140 حرف ولا يتركك عند ذلك فحسب بل يضع لك ايضاً عداد حتى يحسب لك ما تبقي من حروف.&lt;/p&gt;  &lt;p&gt;اضافتنا هذه والخاصة بالـ jQuery تقوم بنفس العمل .. فهي تقوم بحساب عدد الحروف التي تقوم بكتابتها داخل الـ input او الـ textarea وإظهار تحذير في حال اقتراب انتهاء عدد المسموح بها او إذا انتهت عدد الحروف المسموح بها&lt;/p&gt;  &lt;p&gt;هذه الاضافة من برمجة &lt;a title="CssGlobe" href="http://www.cssglobe.com/" target="_blank" rel="nofollow"&gt;Alen Grakalic&lt;/a&gt; وقد قمت بتطويرها حتى تعمل بشكل أفضل ومشابه أكثر لمثيلتها في تويتر .. ما يميز هذه الإضافة عن غيرها من طرق حساب عدد الحروف هي انها لا تحتاج ان تكتب الكثير من الإكواد؛ فقط هو تعريف الحقل وإضافة كود ادراج اللإضافة.&lt;/p&gt;  &lt;ul class="links"&gt;   &lt;li class="demo"&gt;&lt;a href="http://dl.dropbox.com/u/3731265/public_html/jQuery/charCount/demo.html" target="_blank"&gt;مثال&lt;/a&gt; &lt;/li&gt;    &lt;li class="download"&gt;&lt;a href="http://dl.dropbox.com/u/3731265/public_html/jQuery/charCount/charCount-Source.zip" rel="nofollow"&gt;تحميل&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;a name='more'&gt;&lt;/a&gt;&lt;p align="left"&gt;&lt;strong&gt;JavaScript&lt;/strong&gt;&lt;/p&gt;  &lt;div class="code"&gt;&amp;lt;script src="&lt;a title="http://code.jquery.com/jquery-latest.min.js" href="http://code.jquery.com/jquery-latest.min.js" target="_blank"&gt;http://code.jquery.com/jquery-latest.min.js&lt;/a&gt;" type="text/javascript"&amp;gt;&amp;lt;/script&amp;gt;  &lt;br /&gt;&lt;span style="color: rgb(194, 16, 30);"&gt;&amp;lt;script src="&lt;a href="http://dl.dropbox.com/u/3731265/public_html/jQuery/charCount/charCount.js" target="_blank" rel="nofollow"&gt;charCount.js&lt;/a&gt;" type="text/javascript"&amp;gt;&amp;lt;/script&amp;gt;    &lt;br /&gt;&amp;lt;script type="text/javascript"&amp;gt;    &lt;br /&gt;jQuery(document).ready(function(){    &lt;br /&gt;  //default usage    &lt;br /&gt;  $('.charCount').charCount();    &lt;br /&gt;  //custom usage    &lt;br /&gt;  $(".CustomCount").charCount({    &lt;br /&gt;          counterElement: 'div',    &lt;br /&gt;          allowed: 140,     &lt;br /&gt;          warning: 25,    &lt;br /&gt;          counterText: 'الحروف المتبقية: ' &lt;br /&gt;      });    &lt;br /&gt;});    &lt;br /&gt;&amp;lt;/script&amp;gt;&lt;/span&gt;&lt;/div&gt;  &lt;p align="left"&gt;&lt;strong&gt;HTML&lt;/strong&gt;&lt;/p&gt;  &lt;div class="code"&gt;&amp;lt;textarea &lt;span style="color: rgb(194, 16, 30);"&gt;class="charCount"&lt;/span&gt; name="textarea"&amp;gt;&amp;lt;/textarea&amp;gt; &lt;/div&gt;  &lt;p align="left"&gt;&lt;strong&gt;Css&lt;/strong&gt;&lt;/p&gt;  &lt;div class="code"&gt;&lt;span style="color: rgb(194, 16, 30);"&gt;.counter {   &lt;br /&gt;  font-size: 20px;    &lt;br /&gt;  font-weight: bold;    &lt;br /&gt;  color: #ccc;    &lt;br /&gt;}    &lt;br /&gt;.warning {    &lt;br /&gt;  color: #600;    &lt;br /&gt;}    &lt;br /&gt;.exceeded {    &lt;br /&gt;  color: #e00;    &lt;br /&gt;}&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3832352952112826431-8054191715594694822?l=k-coder.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://k-coder.blogspot.com/feeds/8054191715594694822/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://k-coder.blogspot.com/2010/04/jquery-plugin-character-count-like.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3832352952112826431/posts/default/8054191715594694822'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3832352952112826431/posts/default/8054191715594694822'/><link rel='alternate' type='text/html' href='http://k-coder.blogspot.com/2010/04/jquery-plugin-character-count-like.html' title='jQuery Plugin: Character Count Like Twitter'/><author><name>Khal3d</name><uri>http://www.blogger.com/profile/09974312202722408548</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_4eerMtw7Fms/S8SgyDboEQI/AAAAAAAAAg0/eFwN9qeJE9c/S220/k-bnw.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_4eerMtw7Fms/S8EMjeRWpSI/AAAAAAAAAf8/ErvcWEujTvw/s72-c/Character-Count.png' height='72' width='72'/><thr:total>1</thr:total></entry></feed>
