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

 

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

رد  
 
LinkBack أدوات الموضوع
صاحب موقع مهارات سوفت
تاريخ التسجيل: Apr 2004-
#1 (permalink)  
[سؤال] كيف يمكنني برمجة هذا السكربت البسيط ..


بسم الله الرحمن الرحيم..
السلام عليكم ورحمة الله وبركاتة ..

كيف أقوم ببرمجة هذا السكربت البسيط ؟؟
وهو :-
- صفحة ويكون فيها ( مربع لادخال عنوان البريد + زر الادخال) ..
- صفحة ويكون فيها ( تعديل اي عنوان تم ادخالة) ..
- صفحة أستطيع من خلالها حذف اي عنوان قمت بإدخالة ..
- صفحة أعرض بها كل ما قمت بإدخالة .. ويكون كل عنوان في سطر ..

الهدف من طرح هذا الموضوع هو :-

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


أتمنى ان يكون هناك من يقوم بمساعدتي ..
ويكون قلبه واسع .. وصبور .. زي الأخ انترنت بلس .. محمد ..


وخالص المودة ،،






__________________
██████████
██████████
██████████


مهارات سوفت
مهارات سوفت للبرامج وتطوير المواقع والمنتديات والتبادل التجاري.


للتواصل ..
00967733873335

باب الحارة .. للبيع ..!!
مُجَاهِد غير متواجد حالياً   قديم 22-06-2005, 10:08 PM
رد مع اقتباس
-
#2 (permalink)  

السلام عليكم ورحمة الله
أهلا أخي مجاهد

إن شاء الله سأنجز لك سكريبت مع الشرح فقط انتظرني

نبدأ بقاعدة البيانات
كود PHP:
--
-- 
Table structure for table `email`
--

CREATE TABLE `email` (
  `
idint(15NOT NULL auto_increment,
  `
emailvarchar(225NOT NULL default '',
  
PRIMARY KEY  (`id`)
TYPE=MyISAM AUTO_INCREMENT=;

--
-- 
Dumping data for table `email`
-- 
إذا فيه أي سؤال تفضل






  قديم 22-06-2005, 11:40 PM
رد مع اقتباس
-
#3 (permalink)  

ملف الاتصال بقاعدة البيانات
كود PHP:
<?php

// By: Da3ya.Net
// Site: http://da3ya.net


  // Start Variables :

  
$DB['Host'] = 'localhost';
  
$DB['User'] = 'root';
  
$DB['Pass'] = '';
  
$DB['Name'] = 'email';

 
// Connect Whih DataBase :

  
MySQL_Connect($DB['Host'],$DB['User'],$DB['Pass'])
  Or Die(
MySQL_Error());

  
MySQL_Select_DB($DB['Name'])
  Or Die(
MySQL_Error());

?>
إذا فيه أي سؤال تفضل






  قديم 22-06-2005, 11:41 PM
رد مع اقتباس
-
#4 (permalink)  

فورم لإضافة بريد من قبل الزائر

كود بلغة HTML:
<form method="post" action="?p=Send"> <div align="center"> <table border="1" width="700" bgcolor="#DFECF9" style="border-collapse: collapse" bordercolor="#75ADE6"> <tr> <td width="90">&nbsp;أضف بريدك
			</td> <td>&nbsp;<input type="text" name="email" size="20"> <input type="submit" value="أضف"> </td> </tr> </table> </div> </form>






  قديم 22-06-2005, 11:48 PM
رد مع اقتباس
-
#5 (permalink)  

سيتم الإرسال إلى هذه الصفحة:
كود:
<form method="post" action="?p=Send">
طبعا سنستعمل دالة مثل Switch لجمع الصفحات في ملف واحد

ملف index.php سيكون بهذا الشكل :

كود PHP:
<?php

// By: Da3ya.Net
// Site: http://da3ya.net

 
Error_Reporting('E_ALL &~ E_NOTICE');
 require
'config.php';

  Switch(
$_GET['p'])
    {
      Default:
    
//  include('tpl/header.html'); استدعاء الهدير مثلا
      
include('tpl/add.html'); // استدعاء الملف الذي يحتوي على الفورم البريدي
      
break;

      case(
'Send'): // سيتم إرسال البريد إلى هذه الصفحة للمعالجة
      
include('tpl/send.php'); //  الملف الخاص بمعالجة البريد وإضافته إلى الداتا بيز
      
break;

    }
?>
طبعا يمكن إضافة ملفي الهيدر والفوتر للتنسيق + إضافة تحسينات وأشياء أخرى






  قديم 22-06-2005, 11:54 PM
رد مع اقتباس
-
#6 (permalink)  

أضفت هذا الكود لأنه يمنع ظهور أخطاء محتملة أثناء تنفيذ الكود
هناك طرق وكتابات عديدة :
كود PHP:
Error_Reporting('E_ALL &~ E_NOTICE'); 
ملاحظة: أحيانا الكود لا يتم تنفيذه لوجود أخطاء في السكريبت، في هذه الحالة يجب تعطيل هذا السطر ليظهر الخطأ في المتصفح.


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

محتويات الملف : send.php
كود PHP:
<?php

// By: Da3ya.Net
// Site: http://da3ya.net

 
$Email $_POST['email']; // الحصول على القيمة التي أرسلت من الصفحة السابقة
 
$Email trim($Email); // دالة لحذف الفراغات من أول وأخر الحقل
 
$Email strip_tags($Email); // دالة لحذف أي وسوم من المحتمل أن يضعها الزائر مع البريد

// يمكن إضافة أشياء أخرى مثل التأكد من صحة البريد بواسطة التعابير القياسية
 
  // انجاز استعلام للتأكد من عدم وجود البريد من قبل في قاعدة البيانات
  
  
$SQL MySQL_Query("SELECT id FROM email WHERE email = '$Email'")
         Or Die(
MySQL_Error());
         
  
$Num MySQL_Num_Rows($SQL); 
   If(
$Num 0) echo ' هذا البريد مسجل من قبل';
    exit; 
// خروج
    
      
else
        {
         
$SQL MySQL_Query("INSERT INTO email(email) VALUES('$Email')"); // إدراج البريد في قاعدة البيانات 
          
if(!SQL)
            {
              echo 
" حدث خطأ في إدراج البريد";
            }
              else
                {
                  @
Header('Location: ?p=Thank'); // الانتقال إلى صفحة جديدة تضع فيها شكر مثلا...
                
}
        }
?>






  قديم 23-06-2005, 12:07 AM
رد مع اقتباس
-
#7 (permalink)  

إذا وجدت خطأ أخبرني
لم أجرب الأكواد وكتبتها بدون مراجعة لضيق الوقت
-------------------------------------------------------------


سنضيف هذذ الأسطر إلى الصفحة الرئيسية :
أضفها في الأسفل

كود PHP:
      case('Thank'):
      include(
'tpl/thank.php');
      break; 
وصمم صفحة thank.php ضع بها شكر مثلا






  قديم 23-06-2005, 12:10 AM
رد مع اقتباس
-
#8 (permalink)  

أخي جرب وأخبرني
لنبدأ في برمجة لوحة التحكم : عرض + تعديل + حذف...






  قديم 23-06-2005, 12:11 AM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: Jan 2005-
#9 (permalink)  

الصراحة شرح رائع أخ داعية و عندي كم سؤال :

1- ما معنى هذا الكود بالتفصيل لو سمحت

كود PHP:
Error_Reporting('E_ALL &~ E_NOTICE'); 

2- ما معنى هذه @ في هذا السطر

كود PHP:
@Header('Location: ?p=Thank'); 






__________________
اللهم أعز الاسلام و المسلمين
ALaa462 غير متواجد حالياً   قديم 23-06-2005, 12:44 AM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: Nov 2003-
#10 (permalink)  

اخي ALaa462

بالنسبة لاول سؤال

كود PHP:
Error_Reporting('E_ALL &~ E_NOTICE'); 
كما ذكر الاخ داعية هي لمنه ظهور الاخطاء ويوجد الاكثير من الاخطاء ممكن تخرج لنا اثناء تنفيذ السكربيت

منها التحذيرات WARNING و الاخطاء الاملائية في كتابة الاكواد PARSE و الملاحظات NOTICE وهذه الاخطاء ممكن منعها من الظهور من داخل ملف php.ini ولكن انت لا تستطيع التحكم في السيرفر اذا كنت عند شركة اما اذا كان على السيرفر الشخصي تستطيع التحكم لذلك هذه الدالة

للمزيد عن الاخطاء .. http://www.php.net/manual/en/ref.errorfunc.php


اما السؤال الثاني @ هذه ايضا لمنه ظهور الخطأ

فمثلا لو اردنا تحميل ملف عن طريق الدالة copy واتينا للتحميل وكان هناك احد الاخطاء وانت لا تريد ان تظهر للزائر الخطأ الذي يظهر وفقط تريد ظهور مثلا حدث خطأ ولم يتم تحميل الملف نضع هذه الاشارة قبل الدالة

كود PHP:
@copy 
ومثلا الدالة header ما اكثر مشاكلها اذا كان قبلها مخرجات لاذلك نضعها ولا يتم الانتقال فنعرف ان هناك خطأ دون ظهور الخطأ للزائر

مع التحية






__________________
AlwatanVoice, www.alwatanvoice.com
Almashroo, www.almashroo.com

Pal Coder == Palestinian Coder
Pal Coder غير متواجد حالياً   قديم 23-06-2005, 01:49 AM
رد مع اقتباس
-
#11 (permalink)  

السلام عليكم أخي علاء

بخصوص الدالة error_reporting ويظفتها: منع بعض الأخطاء المحتملة، مثل عدم تبليغ المتغيرات في البداية أو وجود كتابة خاطئة للمتغير...

فهناك 5 تعابير وربما أكثر لطريقة استعمال هذه الدالة.
تستطيع أن تقرأ عنها هنا :
http://www.php.net/manual/fr/functio...-reporting.php

وسأضرب لك مثالا لمزيد من الفهم:

جرب وضع هذا الكود في ملف وأرفعه إلى السيرفر :
كود PHP:
<?php

error_reporting
(0);
 require(
'o.php');
?>
جرب تشغيل الكود بدون وجود الملف o.php
ستظهر لك صفحة بيضاء بدون أخطاء..

جرب حذف الدالة:
كود PHP:
error_reporting(0); 
ستظهر لك أخطاء مثل:
كود PHP:
Warningmain(o.php): failed to open streamNo such file or directory in
/home/da3ya/public_html/f.php on line 4

Warning
main(o.php): failed to open streamNo such file or directory i
/home/da3ya/public_html/f.php on line 4

Fatal error
main(): Failed opening required 'o.php'
 
(include_path='.:/usr/lib/php:/usr/local/lib/php')
 
in /home/da3ya/public_html/f.php on line 4 
أيضا جرب أن تستعمل العبارات مثل :
كود PHP:
$_GET 
و
كود PHP:
$_POST 
لى السيرفر المحلي، ستظهر لك أخطاء ولتجاوزها ترفق الدالة error_reporting

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






  قديم 23-06-2005, 02:09 AM
رد مع اقتباس
-
#12 (permalink)  

أخ Pal Coder شكرا لك
يبدو أننا كتبنا الرد في نفس الوقت
جزاك الله خيرا






  قديم 23-06-2005, 02:09 AM
رد مع اقتباس
-
#13 (permalink)  

بخصوص وضع @ قبل الدالة Header كما تفضل الأخ: هي أيضا لمنع الأخطاء المحتملة أثناء تنفيذ السكريبت ...

نستعمل الرمز @ مع الكير من الدوال مثل :
كود PHP:
@mail('');
@
copy();
@
Header(''); 
وشكرا مجددا






  قديم 23-06-2005, 02:14 AM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: Jan 2005-
#14 (permalink)  

أخ Pal Coder و داعية و مُجَاهِد شكرا جزيلا لكم

حسب ما فهمت : الدالة Error_Reporting تمنع ظهور الخطأ و أما الخطأ فسيتم تنفيذه

مثل تجاوز الوقت لأكثر من 30 ثانية في صفحة السكربت و غيره

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

و عذرا للمقاطعة

تحياتي






__________________
اللهم أعز الاسلام و المسلمين
ALaa462 غير متواجد حالياً   قديم 23-06-2005, 03:15 AM
رد مع اقتباس
-
#15 (permalink)  

السلام عليكم أخي ALaa462
مرحبا بك إن شاء الله مستفيد جميعا

أين أنت أخ مجاهد ؟






  قديم 23-06-2005, 11:49 AM
رد مع اقتباس
صاحب موقع مهارات سوفت
تاريخ التسجيل: Apr 2004-
#16 (permalink)  

موجود أخي الكريم "داعية" ..

واصل في شرحك ..

وان شاء الله ارد عليك وعلى كل نقطة وضعتها ..

انا متابعك ..


وخالص المودة ،،






__________________
██████████
██████████
██████████


مهارات سوفت
مهارات سوفت للبرامج وتطوير المواقع والمنتديات والتبادل التجاري.


للتواصل ..
00967733873335

باب الحارة .. للبيع ..!!
مُجَاهِد غير متواجد حالياً   قديم 23-06-2005, 06:10 PM
رد مع اقتباس
-
#17 (permalink)  

أهلا عزيزي مجاهد

أظن أن بقي لنا لوحة التحكم + محرك بحث
أليس كذلك ؟

سأواصل الشرح مساء بحول الله
وإن كانت لك استفسارات تفضل بطرحها






  قديم 23-06-2005, 08:32 PM
رد مع اقتباس
صاحب موقع مهارات سوفت
تاريخ التسجيل: Apr 2004-
#18 (permalink)  

اقتباس:
المشاركة الأصلية كتبت بواسطة داعية
أهلا عزيزي مجاهد

أظن أن بقي لنا لوحة التحكم + محرك بحث
أليس كذلك ؟

سأواصل الشرح مساء بحول الله
وإن كانت لك استفسارات تفضل بطرحها
إن شاء الله أخي الكريم ..

ونسيت ان اذكر في موضوعي محرك البحث ..

وهو أهم شيء ..

وانت ذكرتني به ..

وأما بخصوص الإستفسارات ..
يفضل ان تكون بعد الانتهاء من السكربت ..
لأني سأستفسر كثيراً..عن كل حرف كتبته ..
هل انت معي في هذا الشيء ^ ؟؟ او انت مشغول ؟؟ .. ( بمعنى هل سأشغلك) ؟؟
لأني أريد ان اعرف كل حرف كتبته لبرمجة هذا السكربت ..
كي أخرج بشيء بسيط أتعلمه من لغة الphp .. التي اتمنى ان احترف فيها ..



وخالص المودة ،،






__________________
██████████
██████████
██████████


مهارات سوفت
مهارات سوفت للبرامج وتطوير المواقع والمنتديات والتبادل التجاري.


للتواصل ..
00967733873335

باب الحارة .. للبيع ..!!
مُجَاهِد غير متواجد حالياً   قديم 23-06-2005, 10:07 PM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: Mar 2005-
#19 (permalink)  

اسجل اعجابى بالاخ داعيه

و اشكركم على الموضوع و السكريبت البسيط






__________________
---------------------
اشهار 25 الف عضو بـ150 دولار لاول 5 اشخاص فقط ( عرض اجازه نصف العام )
http://www.swalif.net/softs/showthread.php?p=989900
TiiT غير متواجد حالياً   قديم 23-06-2005, 10:47 PM
رد مع اقتباس
-
#20 (permalink)  

السلام عليكم ورحمة الله

أخي المحترم مجاهد
نعم أخي إسأل وإن شاء الله أجاوبك حسب علمي وأتمنى من الإخوة المشاركة حتى نستفيد جميعا

لا زلت أتعلم اللغة وكل يوم اكتشف شيئا جديدا
.-----------------------------------

أخي TiiT
الشكر لك وما أنا إلا مبتدئ في اللغة
تحياتي لك وإذا عندك سؤال تفضل






  قديم 24-06-2005, 12:00 AM
رد مع اقتباس
-
#21 (permalink)  

أخي مجاهد
غذا صباحا نبدأ في محرك البحث
وفي المساء ننهي لوحة التحكم

أرجو أن تجرب السكريبت وتخبرني إن وجدت أخطاء في التنفيذ
ويا ريت لو تضع ملفات العمل التي أنجزتها بنفسك

تحياتي






  قديم 24-06-2005, 12:13 AM
رد مع اقتباس
صاحب موقع مهارات سوفت
تاريخ التسجيل: Apr 2004-
#22 (permalink)  

يا هلا وسهلا بيك أخي الكريم "داعية" ..

وهذا هو المجلد لجميع ما تم تطبيقة ,,

وقد وجدت الكثير من الأخطاء ..

http://www.aaraa.org/email/index.php

http://www.aaraa.org/email/config.php

http://www.aaraa.org/email/send.php

http://www.aaraa.org/email/add.php


هذه هي جميع ما قمت بتنفيذة على موقعي ..

ووجد أيضاً خطأ عند تنفيذ قاعدة البيانات .. او مبعنى عند ادراج الجداول في قاعدة البيانات ..

--
-- Table structure for table `email`
--

CREATE TABLE `email` (
`id` int(15) NOT NULL auto_increment,
`email` varchar(225) NOT NULL default '',
PRIMARY KEY (`id`)
) TYPE=MyISAM AUTO_INCREMENT=1 ;

--
-- Dumping data for table `email`
--



والخطأ تقريباً يكمن في السطر قبل الأخير ..

وان شاء الله لي رد لاحقاً..



وخالص المودة ،،






__________________
██████████
██████████
██████████


مهارات سوفت
مهارات سوفت للبرامج وتطوير المواقع والمنتديات والتبادل التجاري.


للتواصل ..
00967733873335

باب الحارة .. للبيع ..!!
مُجَاهِد غير متواجد حالياً   قديم 24-06-2005, 06:10 PM
رد مع اقتباس
-
#23 (permalink)  

السلام عليكم عزيزي مجاهد
جيد أنك طبقت ملفات السكريبت

أرجو أن تضع لي مصدر الملفات التي رفعتها على موقعك لنصحح الأخطاء

سكريبت بالبحث سنبدأ فيه بعد قليل إن شاء الله






  قديم 25-06-2005, 01:07 AM
رد مع اقتباس
-
#24 (permalink)  

اخي جربت ملف القاعدة وعمل بنجاح

كود PHP:
--
-- 
Table structure for table `email`
--

CREATE TABLE `email` (
`
idint(15NOT NULL auto_increment,
`
emailvarchar(225NOT NULL default '',
PRIMARY KEY (`id`)
TYPE=MyISAM AUTO_INCREMENT=;

--
-- 
Dumping data for table `email`
-- 
كود PHP:
Your SQL-query has been executed successfully 
أرجو أن تضع سورس الملفات التي صنعتها لنصحح الأخطاء
وشكرا مجددا






  قديم 25-06-2005, 01:14 AM
رد مع اقتباس
-
#25 (permalink)  

كتبت أكواد سكريبت البحث ثم حذفتها
أقترح أن نصحح الأخطاء وتطرح الأسئلة
لتستوعب هذا الجزء ثم نتمم ما رأيك ؟

أنتظر ردك

وأبشر إن شاء الله تستفيد كثيرا من هذه الدروة






  قديم 25-06-2005, 02:27 AM
رد مع اقتباس
رد


 

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

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

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



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