تحقیق درباره ساخت وب سايت شخصي
چكيده
اين پروژه برنامه ساخت يك وب سايت شخصي براي استاد است . كه شامل صفحات ايستا و پوياي وب مي باشد . برنامه نويسي اسيتاي آن توسط نرم افزار Dreamweaver و زبان HTML و برنامه نويسي پوياي آن توسط زبان PHP انجام گرفته است . بانك اصلاعاتي مرتبط با آن MYSQL مي باشد .
امكانات اين وب سايت شامل موارد زير مي باشد :
1 ) اطلاعات شخص استاد براي آشنايي بيشتر دانشجويان با سوابق استاد خود .
2 ) اطلاعات دروس ارئه شده توسط استاد كه شامل بارم بندي دروس عنوان پروژه درس و منابع مورد استفاده در تدريس هر درس مي باشد .
3 ) اعلام غرات دانشجويان .
4 ) اعلام عنوان پروژه هاي فارغ التحصيلي براي انتخاب دانشجويان .
5 ) صفحه تماس براي ارتباط دو طرفه بين دانشجو و استاد كه شامل طرح سوالات و پيشنهادات از طرف دانشجويان و ارسال پاسخ توسط استاد مي باشد .
6 ) دانشجويان هم چنين مي توانند از طريق E . mail نيز با استاد در ارتباط باشند .
مقدمه
اين روزها همه ما كلماتي نظير اينترنت ، وب سايت – طراحي وب ، اطلاع رساني از طريق اينترنت و ..... را از ياد مي شنويم ولي آيا تا به حال نسبت به معني اين كلمات دقيق شدهايم ؟
كاربرد بسيار وسيع اينترنت در جوامع امروز بشري و استقبال از آن مرا بر اين داشت تا تجربهاي در زمينه اينترنت بدست بياوريم و چه تجربهاي بهتر از طراحي وب سايت .
در اين فصل قصد داريم به مطالبي نظير
ضرورت انجام پروژه
طرح سوالهاي ابتدايي براي يك طراح وب سايت
اهداف انجام اين پروژه
تعريف واژههاي كليدي
در انجام اين پروژه بپردازيم .
ضرورت انجام اين پروژه :
اينترنت رسانهاي با توان بسيار گسترده و بالاست اما شركتها، سازمانها و افراد نسبتاً كمي توانستهاند از آن به شكل موفقيت آميز بهره برداري كرده و آنرا در جهت مقاصد خود به كار گيرند .
دردوران دانشجويي در اغلب موارد دنبال منبعي براي بدست آوردن اطلاعات لازم دررابطه با درس و استاد و اعلام نمرات بودم . بعضي از استادهاي محترم براي خود وب سايت داشتند و تا حدودي اين نياز را براي دانشجويان بر طرف مي كردند ولي در اغلب اوقات اين سايتها دچار نقصهايي بودند كه مهمترين آنها عدم بروز رساني سايت بود .
با توجه به اين مسأله بر آن شدم تا وب سايتي طراحي كنم كه دانشجويان بتوانند به راحتي اطلاعات مورد نظر خود را از اين سايت دريافت كنند و همچنين بتوانند با استاد خود نيز به راحتي ارتباط برقرار كنند .
البته اين وب سايت هم دچار نواقصي است كه به دليل كمبود وقت نتوانستم به آن بپردازم اميدوارم در آينده اين وب سايت توسط خودم با ساير دانشجويان تكميل گردد تا بتوانند به خوبي جوابگوي دانشجويان عزيز باشد .
طرح چند سؤال :
در رابطه با طراحي سايت وب يكسري سؤالها مطرح است كه شايد به نظر پيش پا افتاده برسد ولي تا درك درستي نيست به آن نداشته باشيم مسلماً نمي توانيم سايت خوبي هم طراحي كنيم .
اكنون به طرح بعضي از اين سوالات و پاسخ آن ميپردازيم :
سايت وب چيست ؟
سايت وب مجموعهاي از صفحات مرتبط به يكديگر است كه انبوهي از اطلاعات را در قالب متن ، تصوير، صدا ، و فيلم در اختيار بيننده قرار مي دهد .
چه كساني ميتوانند سايت وب داشته باشند ؟
تمام اشخاص و سازمانها مي توانند سايت وب د اشته باشند به جرأت مي توان گفت كه سريعترين و بهترين راه معرفي فعاليتها ، محصولات و شركت ها سايت وب است . در و اقع وب نقش كاتالوگ اينترنتي را بازي مي كند .
سايت وب چه مزايايي دارد ؟
با داشتن سايت وب ميتوان كليه اطلاعات مربوط به يك سازمان ، شخص ، و يا .... مانند بيوگرافي ، حوزه فعاليت و محصولات را در قالب يك كاتالوگ جامع ايجاد كرد . با اين تفاوت كه بر خلاف كاتالوگهاي عادي نيازي به چاپ و توزيع اين كاتالوگ نخواهد بود و به سهولت دركمترين زمان براي كليه افرادي كه به اينترنت متصل هستند قابل دسترسي خواهد بود . در ضمن افراد با ديدن سايت وب و در صورت نياز براي دريافت اطلاعات بيشتر مي توانند از طريق اينترنت و با ارسال نامه با سازمان و يا شخص در ارتباط باشند .
مراحل ايجاد سايت وب چيست ؟
براي اينكه يك سايت وب د اشته باشيد ابتدا بايد براي سايت خود نامي اختصاري به ثبت برسانيد كه اصطلاحاً دامنه (Domain ) ناميده مي شود پس براي سايت خود فضايي در اينترنت اجاره كنيد و نهايتاً بايد نسبت به طراحي صفحات سايت خود اقدام كنيد .
اهداف :
هدف اين پروژه ايجاد يك سايت كاملاً پويا توسط PHP است .
منظور كلي اهداف سايت در دو بخش كاربر و مدير سايت تعريف ميشود
بخش كاربر :
الف) كاربران با ورود به سايت مي توانند كليه اطلاعات مرتبط با درس و استاد و پروژههاي نمونه را دريافت كنند وبا استاد خود در ارتباط باشند
ب ) مدير سايت با وارد كردن كلمه و رمز عبور خود وارد بخش مدير سايت مي شود .
بخش مدير سايت :
ج) مديريت سايت بروي كليه اطلاعات سايت نظارت كامل دارد .
د) مدير سايت در هر زمان كه لازم بداند ميتواند اطلاعات سايت نظير اطلاعات دروس را به روز كند .
و ) همچنين استاد محترم مي توانند به صحبتها و يادداشتهاي دانشجويان خود پاسخ گويد .
تعريف واژههاي كليدي
آپاچي (Apache ) سرويس دهنده HTTP با منبع باز (Open source ) است
پي اچ پي ( php ) علامت اختصاري Hypertext pre processor :php نوعي زبان است كه با مستندهاي HTML بكار مي رود تا عملكردهاي محاورهاي سرويسدهنده را اجرا كند . php بروي تمام سيستمهاي عامل اجرا مي شود php ممكن است درون يك صفحه وب جاي گرفته و براي دسترسي و ارائه اطلاعات پايگاه دادهاي استفاده شود . پسوند HTML كه حاوي يك برنامه PHP است با پسوند PhP ذخيره مي شود . به طور كلي PHP به معناي Personal Home pageاست كه در نسخههاي بعدي اش با اصطلاح PHp Hypertext preprocessor يا PHP آمده است .
بارگذاري (down load ) در ارتباطات ، انتقال يك كپي فايل از كامپيوتري دوردست به كامپيوتر درخواست كننده از طريق مودم يا شبكه .
RDBMS علام اختصاري Relational DataBase Management system
وب (web ) مجموعه اسنادي با پيوند داخلي در سيستم فوق متني كاربران وب را از طريق صفحه مبدأ وارد ميكنند .
صفحه وب (web page) سند ومتني در شبكه وب جهاني صفحه وب شامل فايل HTML است كه فايلهاي گرافيكي و برنامهها را دارد و در داخل شاخه خاصي قرار د ارد ( توسط URL قابل شناسايي است ) معمولاً صفحه وب پيوندهايي با ديگر صفحات وب دارد .
ايستگاه وب (WebSite ) دستهاي از اسناد و ابسته به HTML و فايلهاي وابسته به آن برنامهها و بانكهاي اطلاعاتي كه توسط سرويس دهنده HTTP در وب جهاني به آنها سرويس داده مي شود اسناد HTML در ايستگاه وب معولاً حاوي يك يا چند عنوان وابسته است و از طريق فوق پيوندهايي در ارتباط با يكديگر قرار مي گيرند .
Photoshop : محصول نرم افزاري Aobbe براي ويرايش و ارتقاي تصوير ديجيتالي ، روتوش عكس و مديريت رنگي تصاوير گرافيكي . جبران سازي چند گانه ، ويرايش متني با كنترل قالب بندي و مديريت و كنترل پيشرفته رنگي از ويژگي هاي photoshop است .
زبان پرس و جوي ساخت يافته : (Structured Query Language )
زبان بانك اطلاعاتي كه در پرس و جو به روزدرآوري و مديريت بانكهاي رابطهاي مورد استفاده قرار مي گيرد . استانداري براي محصولات بانك اطلاعاتي است و علامت اختصاري آن SQL مي باشد .
برگههاي آبشاري (CSS ) ويژگي مربوط به HTML ( زبان نشانهگذاري متن ويژه وب ) كه توسط كنسرسيوم وب (WBC ) توسعه يافته و به نويسندگان اسناد HTML و كاربران آن امكان مي دهند تا برگههاي آبشاري را به اسناد HTML خود متصل نمايند برگههاي آبشاري شامل اطلاعات مربوط به آمادهسازي چاپ و چگونگي ظهور صفحه مانند متن داخل صفحه است . CSS مخفف Cascading style sheets است
رابط دروازه عمومي (CGI ) علامت اختصاري Common Gateway Interface است . مشخصاتي كه ارتباطات بين سرويس دهندگان اطلاعات (مانند سرويس دهندگان HTTP ) و ساير منابع روي كامپيوتر سرويس دهنده مانند بانگهاي اطلاعاتي و ساير برنامهها را تعريف ميكند .
HTML : علامت اختصاري Hypertext Markup Language كه نوعي زبان كامپيوتري است اين زبان براي مستندات شبكه جهاني وب مورد استفاده قرار ميگيرد HTML كاربردي از SGML است كه برچسبهايي رابراي علامت زدن عناصر متني و گرافيكي دورن نوشتهاي به كار ميبرد تا به مرورگر نشان دهد كه چگونه آنها را به كاربر نمايش دهد و به اعمالي از كاربر مانند فعالسازي ارتباطي به وسيله فشار ماوس و ياكليد پاسخ دهد .
PHP چيست ؟
PHP كه در ابتدا در سال 1994 توسط Rasmus Lerdorf ايجاد شد ، مخفف واژگان Personal Home Pages به حساب ميآمد.
با گسترش قابليتها و موارد استفاده اين زبان ، PHP در معناي Hypertext Preprocessor به كار گرفته شد . ( عبارت پييشپردازشگر (preprocessor ) بدين معني است كه PHP . اطلاعات را قبل از تبديل به زبان HTML . پردازش مي كند . )
مطابق مطالب سايت وب رسمي PHP كه در آدرس www.php.net قراردارد (تصوير1-j )، PHP يك زبان اسكريپتي سمت سرويسدهنده (Server-side )، Cross-platform و HTML embeded مي باشد .
سمت سرويس دهنده بودن PHP ، بدين معناست كه تمام پردازشهاي اين زبان بر روي سرويسدهنده ، در حقيقت يك كامپيوتر مخصوص مي باشد كه صفحات وب در آنجا نگهداري ميشوند و از آنجا به مرورگر كاربران منتقل ميشوند . چگونگي انجام اين روند ، در ادامه اين قسمت ، توضيح داده مي شود ( به قسمت PHP چگونه كار مي كند ؟ مراجعه كنيد ).
منظور از Cross – platform بودن اين زبان ، اين است كه بر روي هر سيستم و با هر سيستم عاملي از قبيل Unix و Windows ، Macintosh و o2/2 ، اجرا مي شود . توجه كنيد كه منظور از اين سيستم عاملهاي سيستم عامل هايي مي باشد كه بر روي سرويس دهنده نصب مي شوند PHP نه تنها قابليت اجرا بر روي هر سيستم عاملي را دارا مي باشد . بلكه براي منتقل كردن برنامههاي آن از يك سيستم عامل به سيستم عامل ديگر ، احتياج به تغييرات اندكي خواهيد داشت و حتي در بعضي از موارد بدون احتياج به هيچ تغييري مي توانيد يك برنامه به زبان PHP را از يك سيستم عامل به سيستم عامل ديگر منتقل كنيد .
منظور از HTML embeded بودن PHP اين است كه دستورات اين زبان در بين كدهاي HTML قرار ميگيرند . بنابراين برنامهنويسي به زبان PHP كمي پيچيده تر از برنامه نويسي به زبان HTML به حساب ميآيد .
PHP برخلاف زبانهاي برنامهنويسي )programming Languages ) يك زبان اسكريپتي (scripting Language ) ميباشد . به عبارت ديگر دستورات PHP بعد از رخداد يك رويداد ( evevt ) اجراء ميشوند . اين رويدادها ميتوانند شامل ارسال يك فرم رفتن به يك URL مشخص ويا موارد ديگر باشند . متداولترين زبان اسكريپتي ، زبان Java Script مي باشد كه معمولاً براي پاسخ به رويدادهاي كاربر در مرورگر وب به كار ميرود .
تفاوت عمده Java script با PHP در اين است كه Java Script يك تكنولوژي سمت سرويس گيرنده (Client – side ) يك تكنولوژي سمت سرويسگيرنده (Client – side ) ميباشد . زبانهايي مانند Java script يا PHP ، تفسير شونده (interpreted)ناميده مي شوند . به عبارت ديگر براي اجرا به يك مفسر مانند مرورگر وب احتياج دارند . اما زبانهاي برنامهنويسي مانند c يا Java بعد از ترجمه به زبان ماشين (compile ) به خودي خود قابل اجراء ميباشند .
جديدترين نسخه PHP ميپردازد . اما به دليل جديد بودن اين نسخه ، در حال حاضر اكثر سرويسدهندهها از نسخه 3.X استفاده مي كنند . تفاوت اين دو نسخه PHP بسيار اندك مي باشد و تغييرات مهم ، عموماً در مسير اصلاح عملكرد اين زبان ، صورت
گرفتهاند .
شما براي كسب اطلاعات بيشتر در مورد PHP4.0 مي توانيد به آدرس وب www.zend.com مراجعه كنيد .
به چه دليل از PHP ا ستفاده ميكنيم ؟
PHP در مقايسه با تكنولوژيهاي مشابه سريعتر، بهتر و آسانتر است از جمله تكنولوژيهاي مشابه براي طراحي يك سايت وب ميتوان به اين موارد اشاره كرد : اسكريپتهاي Coccon Getaway CGI (Interface كه معمولاً به زبان perl نوشته مي شوند . ASP (Active server pages )و JSP (Java server pagus ) Java script به عنوان يك گزينه جايگزين براي PHP درنظر گرفته نمي شود . زيرا بر خلاف PHP ، يك تكنولوژي سمت سرويس گيرنده است و همانند تكنولوژيهايي مانند سرويسگيرنده است و همانند تكنولوژيهايي مانند CGT و PHP نميتواند يك صفحه HTML را توليد كند .
مزيتي كه PHP در مقابل HTML دارد اين است كه HTML يك سيستم محدود به حساب ميآيد و توانايي ايجاد ارتباط متقابل با كاربر را ندارد .
كاربران هنگامي كه با يك صفحه HTML مواجه ميشوند . تنها يك صفحه ساده را روبروي خود مشاهده ميكنند كه توانايي ايجاد واكنش به اعمال كاربر را ندارد . اما با استفاده از PHP . شما ميتوانيد صفحاتي را ايجاد كنيد كه براي مثال عناصر موجود در صفحه بر اساس سيستم عامل كاربر و يا تاريخ مشاهده صفحه تنظيم شوند . همچنين PHP مي تواند با فايلها يا پايگاههاي داده (Datahase ) ارتباط برقرار كند و بسياري عمليات ديگر كه HTML قادر به انجام به آنها نمي باشد .
طراحان صفحات وب ، از مدتها پيش به اين نتيجه رسيدند كه اگر در صفحات خود . فقط از كدهاي HTML استفاده كنند . بايد به طور مرتب آنرا تغيير دهند و اطلاعات آنرا به روز كنند . به همين علت ، تكنولوژيهايي مانند CGI از همان آغاز، طرفداران بسياري پيدا كردند . اين تكنولوژيها به طراحان اين امكان را مي داد كه برنامههايي ايجاد كنند كه به صورت ديناميك ، صفحات وب را توليد كنند . همچنين در هنگام ارتباط با يك پايگاه داده بدون دخالت هر انساني ، صفحات به روزآوري ميشدند .
بنابراين سؤالي كه اكنون به ذهن ميرسد . اين است كه به چه علت يك طراح صفحات وب بهتر است كه از زبانPHP به جاي زبانهايي مانند CGI و ASP و JSP براي طراحي سايتهاي ديناميك . استفاده كند ؟ دليل اول ، سرعت بيشتر PHP چه در برنامهنويسي و ايجاد برنامههايي به اين زبان و چه در اجراء مي باشد . همچنين PHP براي يادگيري بسيار ساده مي باشد و افراد بدون نياز به زمينههاي قبلي در برنامهنويسي و تنها با مطالعه همين يك كتاب ، ميتوانند به زبان PHP اسكريپت نويسي كنند . در مقابل ASP احتياج به دانستن زبانهاي VBScript و CGI ( كه نيازمند زبانهايي مانند perl يا c ) مي باشد دارد و هر دو اين زبانها زبانهاي كاملي هستند كه يادگيري آنها نيز آسان نيست .
دليل دوم اين است كه PHP ، به صورت اختصاصي تنها براي ايجاد صفحات ديناميك طراحي شده است . اما perl ، VBscript و يا Java اينگونه نيستند و به همين علت PHP سريعتر و سادهتر از تكنولوژيهاي جايگزين ميباشد .توجه كنيد كه اين صحبتها هرگز بدين معنا نيست كه PHP يك زبان كاملتر و يا بهتري نسبت به Java ، ASP ، perl و يا CGI ميباشد ، بلكه ما تنها پيشنهاد مي كنيم كه در زمينههاي خاصي مانند آنچه كه اشاره شد، از PHP استفاده شود .
به عنوان آخرين مطلب در زمينه برتريهاي PHP ، تنها به ذكر اين مطلب بسنده
ميكنيم كه هم اكنون نزديك سه ميليون از سايتهاي وب از تكنولوژي PHP استفاده ميكنند .
PHP چگونه كار ميكند ؟
PHP يك زبان سمت سرويسدهنده مي باشد . و اين بدين معني است كه كدهاي نوشته شده به اين زبان در كامپيوتر ميزبان )host ) صفحات وب قرار ميگيرد .
براي مثال ، هنگامي ك ه شما به سايت وب www. DMCinsights.com ميرويد Internet ) ISP (Service provider شما ، درخواست (request ) شما را به سرويسدهندهاي كه اطلاعات اين سايت رانگهداري مي كند ارسال مي كند .
در اين هنگام سرويسدهنده بعد از خواندن كدهاي PHP ، آنها را پردازش ميكند . براي مثال در اين مورد ، PHP به سرويسدهنده فرمان مي دهد كه اطلاعات يك صفحه وب را به صورت برچسبهاي HTML به مرورگر شما منتقل كند ( تصوير3-الف) بنابراين ، PHP يك صفحه HTML را توليد ميكند .
اين حالت با هنگامي كه صفحه از ابتدا با كدهاي HTML طراحي شده باشد ، تفاوت دارد . در حالت دوم ، تنها يك درخواست به سرويسدهنده ارسال مي شود و سرويس دهنده ارسال مي شود و سرويس دهنده نيز اطلاعات HTML موجود را به مرورگر كاربر منتقل ميكند بنابراين ، براي مرورگر كاربر تفاوتي بين home . html و home . php وجود ندارد . اما تفاوت عمدهاي بين اين دو حالت وجود دارد و آن اين است كه در حالت اول صفحه به صورت ديناميك توسط سرويس دهنده توليد شده است و براي مثال مي توان اطلاعات متفاوتي را در روزهاي دوشنبه و يا سه شنبه ارائه داد و يا بين حالتي كه كاربر قبلاً صفحه را مشاهده كرده باشد . يا نكرده باشد . تفاوت قائل شد . بنابراين . هر آنچه PHP انجام ميدهد در همان سمت سرويسدهنده انجام مي دهد و سپس اطلاعات مناسب را به سرويس گيرنده منتقل مي كند .
شما به چه چيزي احتياج داريد ؟
مهمترين نياز براي كار با PHP ، دسترسي به سرويسدهندهاي ميباشد كه PHP را پشتيباني كند ( همانگونه كه گفته شد ، PHP يك زبان اسكريپتي سمت دهنده ميباشد ) با توجه به متداول بودن PHP، برآورده كردن اين نياز، كار مشكلي نمي باشد . براي مطمئن شدن از اينكه آيا ISP و يا ميزبان وب( web Host ) شما از PHP در سرويسدهندههاي خود پشتيباني ميكنند ياخير ، بايد با آنها تماس حاصل كنيد . درهنگام چاپ اين كتاب بيشتر از يك هزار ISP و ميزبان وب از PHP پشتيباني ميكنند .
گزينه ديگر براي شما ، نصب PHP برروي سرويسدهنده خودتان مي باشد – معمولاً دستگاهي كه برروي آن Windows NT و يا Linux به همراه برنامههاي سرويسدهنده وب web server ) (applications نصب شده باشد . (براي مثال Apache يك برنامه سرويسدهنده وب رايگان براي Unix و سيستمهاي NT به حساب ميآيد . و يا شما ميتوانيد از Personal web sharing در Windows استفاده كنيد .) براي اين منظور تعدادي برنامه به صورت رايگان در سايت وب www.php.net در اختيار شما قرار داده شدهاند . همچنين در ضميمه 1 اين كتاب شما چگونگي نصب راهاندازي PHP در سرويسدهنده خود را خواهيد آموخت .
نيازمندي ديگر براي استفاده از PHP ، دسترسي به يك ويرايشگر متن(text editor) ميباشد . simple Text, Wordpad,Notepad نرمافزارهاي رايگاني هستند . كه احتياجات شما را برآورده مي سازند . همچنين نرمافزارهايي مانند BBEdit,Word perfect و يا Word نيز امكانات ويژهاي را در اين مورد در اختيار شما قرار مي دهند. نرمافزارهايي مانند Deramweaver و يا GoLve نيز براي اين منظور قابل استفاده ميباشند.
مقدمه اي بر MYSQL
MYSQL مشهورترين سيستم مديريت پايگاه دادهاي رابطهاي به صورت باز(RDBMS ) در دنياست ، MYSQL از همه كيفيتهاي لازم برخوردار است تا به عنوان يك RDBMS تجاري محسوب شود ، ولي بر خلاف رقباي خود ميتواند تحت گواهينامه عمومي (GPL )GNU به طور رايگان مورد استفاده قرارگيرد .
MYSQL كه به صورت my-ess-queue-ell تلفظ ميشود نام خود را از SQL گرفته است . SQL زبان پرس و جوي پايگاه دادهها مي باشد كه توسط شركت IBM ارائه شد . گفته مي شود كه MY از نا م دختر طراح نهايي MYSQL (Michael Monty Widenius ) گرفته شده است .
تاريخچه MYSQL به 10 سال پيش برمي گردد . اين سيستم زماين طراحي شد كه Monty و Tex ( شركت سوئدي كه Monty براي آن كار مي كرد ) در جستجوي يك سيستم پايگاه داده بودند تا مشكلات خاص تجاري مشتريان Tex را برطرف نمايد . آنها يك محصول پايگاه دادهاي مشابه ، به نام msQL را امتحان كردند ،ولي متوجه شدند كه اين محصول نمي تواند به خوبي از عهده اين كار برآيد . بنابراين ، يك سيستم جديد ايجاد كردند و آن را MYSQL ناميدند.
MYSQL شباهتهايي با mSQL داشت و حتي هنوز هم تعدادي از آنها را در خود حفظ كرده است . گفته ميشود كه اين موارد به خاطر سازگاري باقي ماندهاند . به علاوه اين موارد ، MYSQL داراي نظرات مختص به خود مي باشد .
هر چند MYSQL توسط برنامهنويسان Tex نوشته شد تا راهحلهايي را در اختيار مشتريان آن قراردهد ، ولي به عنوان يك نرمافزار به صورت منبع باز در دسترس قرار گرفت . اين سيستم به سرعت توسعه يافت و به خاطر قدرت ، سرعت و كاربرد راحت در ميان افراد برنامهنويس محبوبيت پيدا نمو د . از آنجا كه MYSQL يك منبع عمومي بود ، برنامهنويسان از اين كه مي توانستند بدون پرداخت هيچ هزينهاي به راحتي آن را به كار برند وآن را با انواع كاربردهاي پايگاه دادهها سازگار نمايند . بسيار خوشحال بودند .
اخيراً بسياري از موارد گام را فراتر نهاده و پيشرفت كردهاند شركت MYSQL AB شكل گرفت ( AB ، شكل سوئدي شركت محدود يا ثبت شده مي باشد ) اين شركت تحت مالكيت خصوصي بود يعني كه منبع و علامت تجاري MYSQL را در اختيار داشت . در سال 2001 از لحاظ سرمايه گذاري پشتيباني شد يك CEO ( مدير اجرايي ) براي خود انتصاب كرد و تعداد كارمندان خود را در چندين كشور افزايش داد با وجود ا بهام نسبي از دنياي منبع باز ، MYSQL همچنان به وجود آمد و به كانون توجه تجاري گستردهتري گام نهاد . هم اكنون ، چهارميليون نفر در سراسر دنيا اين محصول را نصب كردهاند و هر روز 27000 بار از وب سايت MYQSL ، download مي شود در واقع MYSQL به صورت منبع عمومي پايگاه دادهها پيشگام است و به سرعت در حال تبديل به پايگاه داده هايي است كه فراتر از بسياري از برنامهاي كاربردي حياتي در تجارت محسوب مي ش د و داراي ظرفيت بالا مي باشد شركتهاي اصلي نظيرYahoo! ، موتورولا، ناسا، سيليكون گرافيكس ، هيولت پاكارد ، زيراكس و سيسكو به خاطر سرعت و قابليت اطمينان بالاي MYSQL به آن متكي هستند .
ويژگيهاي اصلي MYSQL
MYSQL همه ويژگيهاي يك سيستم مديريت پايگاه داده رابطه اي را دارا مي باشد . اجازه دهيد از نزديك به عملكرد آن بپردازيم .
MYSQL يك سرور پايگاه دادههاست ( هر چند با تعدادي از برنامههاي ساده كلاينت نيز به كار مي رود ). معمولاً در محيطهاي كلاينت ضعيف مورد استفاده قرار مي گيرد . به عبارت ديگر در سيستمهاي كلاينت – سرور كه حجم عظيمي از پردازش و ذخيرهسازي در سرور رخ مي دهد و كلاينت كمي بيش از يك ترمينال dumb مي باشد ، مورد استفاده قرار مي گيرد . با وجودي كه ترمينالهاي dumb در دهه 1970 و 80 متداول بودند . با اين حال با ظهور كامپيوتر شخصي از دور خارج شدند ولي با اين وجود ، هم اكنون با ارائه مرورگرهاي وب ( نظير نت اسكيپت و اينترنت اكسپلورر مايكروسافت ) آنها محبوبيت خود را مجدداً به دست آوردهاند .
از همه مهمتر اين كه MYSQL . پردازش چند رشتهاي را اجرا مي كند ، بدين معنا كه به كلاينت هاي مختلف امكان مي دهد تا با آن ارتباط برقرار كنند و پرسو جوها را به طور هم زمان اجرا نمايند . اين امر باعث افزايش سرعت آن مي شود و با محيطهاي كلاينت – سرور (نظيروب سايتها) و محيطهايي كه تراكنشها را براي كاربران مختلف انجام مي دهند . بسيار مناسب مي باشد MYSQL يك سيستم مجوز كاربر را ارائه مي دهد كه با استفاده از آن مي تواند دستيابي كاربران را به پايگاههاي داده خود كنترل كند اين سيستم به قدري پيچيده است كه تعداد كمي از RDBMS هاي رقيب مي توانند سطوح امنيت خود و گرانوليتهاي را كه مجوزهاي كاربر طبق آن قابل تنظيم هستند را تطبيق دهند همچنين توسعههاي اخير به قابليت MYSQL براي ا داره كردن ارتباطات رمزنويسي ميافزايند و مي توان از SSL2(پروتكل استاندارد امنيتي ) و گواهينامه X509 براي محافظت از د ادهها در حين انتقال بين كلاينت و سرور استفاده نمود .
MYSQL با محصولات ديگري ( نظيرSQL server, DB2,sybase,oracle, مايكروسافت ) رقابت ميكند . همه موارد مزبور سرور پايگاه دادهاي رابطهاي محسوب ميشوند . ولي محصولاتي نظير Access مايكروسافت و Filemaker كاملاً متفاوت ميباشد . اين دو محصول نيز به عنوان پايگاه هاي دادهاي محسوب ميشوند ، ولي پردازش آنها روي كاربر نهايي . كلاينت متمركز است ؛ هر چند نگارشهاي قابل اشتراك آنها ارائه شده است ، ولي فاقد سيستمهاي مديريت هستند كه به عنوان بخش مهمي در يك RDBMS واقعي محسوب مي شود . از اين سيستمها مي توان به كنترل دستيابي كاربر و قابليت پردازش چند رشتهاي اشاره كرد .
مزيت منبع باز بودن
هر چند MYSQL به خاطرعمليات تجاري توسعه مييابد . ولي به عنوان يك نرمافزار رايگان به صورت منبع باز قابل download شدن و قابل استفاده مي باشد .
منبع باز صرفاً به معناي ” رايگان ” بودن نيست ( بعداً از ديدگاه تجاري به بررسي MYSQL مي پردازيم )، فلسفه آن بيش از اينها ارزش دارد . منبع باز بودن MYSQL باعث آشكار شدن و تطبيقپذيري آن ميشود كه در محصولات داراي منبع بسته اين امر مشاهده نميگردد. تعدادي از افراد ( خصوصاً آنهايي كه عادت دارند نرمافزار را از يك فروشنده بزرگ خريداري كنند ) تصور مي كنند كه محصولات به صورت منبع باز به مزاحمين كامپيوتر امكان مي دهد منافذ ورود به سيستم را پيدا كرده و از آنها سوء استفاده نمايند . به همين دليل بر اين باورند كه محصولات به صورت منبع باز ايمني كمتري دارند .
اولين بخش اين دستور درست است ، ولي عقيده آنها درست نمي باشد . اين كه منافذ امنيتي يك محصول در منبع باز زودتر آشكار مي شوند صحيح است . دليل اين امر آن است كه كد منبع آن قابل خواندن و آناليز شدن مي باشد و آسيبپذيريها به راحتي تشخيص داده مي شوند و به خاطر همين وضوح، نقاط ضعف سريعاً براي برنامهنويسان آشكار مي گردد و آنها مي توانند در جهت رفع مشكل تلاش نمايند .
وب در خدمت افرادي است كه محصولات داراي منبع عمومي را نصب مي كنند ، آن را به كار مي برند و آزمايش مي كنند و سؤالات و تجربيات خود را در گروههاي خبري عمومي و حوزههاي بحث مطرح مي نمايند . محصولي كه به صورت منبع باز است نقاط ضعف آن به سرعت مشخص مي شود و صحبتهاي زيادي در مورد آن مطرح مي گردد . بدين ترتيب توجه برنامهنويسان به اين ضعف جلب مي شود . برخي از كاربران خودشان مشكل را برطرف مي كنند و كد حاصله را براي تلفيق با محصول اصلي در دسترس قرار ميدهند .
نمي توان يك مشكل عمده را در اين محصولات پنهان كرد . بدين ترتيب فكر مي كنيد كه بايد نقص امنيتي را به حال خود گذاشت !؟ برنامهنويس چارهاي ندارد مگر اين كه سريعاً راه حلي براي آن پيدا كند . اين حالت را با محصولاتي مقايسه كنيد كه كد منبع آنها ( و حتي گاهي اوقات مشخصات فرمت فايل يا كارآيي) در اختيار بيگانهها قرار نمي گيرد . فقط دستهاي از برنامه نويسان داخلي به اطلاعاتي دسترسي دارند كه براي تشخيص مشكلات در بهترين موقعيت ممكن مي باشند . بدين ترتيب ، مدت زمان بيشتري طول مي كشد تا اشكالات بروز كنند و رفع شوند و وقتي يك نقص امنيتي كاربران زيادي را تحت تأثير قرار دهد ، نتيجه امر مصيبت بار خواهد بود .
مقدمهاي بردريم ويور
دريم ويور، محيطي كامل براي توسعه وب مي باشد كه در آن يك ويرايشگر HTML ( زبان نشانهگذاري فوق متن)، يك ابزار تأليف ، يك ابزار توسعه صفحه وب پويا و يك ابزار مديريت سايت وب با يكديگر ادغام شده اند . صفحات وب با استفاده از HTML ايجاد مي شوند ولي شما مي توانيد كارهاي بسياري را حتي بدون در نظر گرفتن HTML انجام دهيد . در صورتي كه قصد داريد صفحات وب با كيفيت بالايي( شامل برنامهنويسي) ايجاد كنيد. دريم ويور انجام اين كار را آسان مي كند .
HTML زبان صفحات وب مي باشد . اين زبان عمدتاً از تك ( ضميمك )هاي جفتي تشكيل شده است كه در براكت (كروشه) هاي زاويهدار (> ) قرار گرفتهاند . اين تگ ها موضوعات موجود در يك صفحه وب ( نظير متن)را احاطه نموده يا به طور مستقل عمل مي كنند . مثلاً كد (رمز) HTML براي ضخيم كردن متن ، شبيه >text</ bold>b< به نظر مي رسد ، تگهاي ضخيم (bold )، مثالي از تگهاي جفتي هستند . تگ پاياني مربوط به تگهاي جفتي هميشه با يك مميز پيشين آغاز مي شود . تگهاي ديگر نظير تگي كه براي قراردادن يك تصوير در صفحه وب به كار مي رود ، تگهاي منفرد مي باشند :>img src = smile . gif< .
دريم ويور ، يك ويرايشگر صفحه وب WYS IWYG ( آنچه ميبينيد همان است كه به دست مي آوريد ) مي باشد و با وجود كاربرد سادهاي كه دارد بسيار توانمند است . شما مي توانيد با استفاده از دريمويور سايت هاي وب جديد ايجاد كنيد و سايت هاي وب موجود را وارد كرده و ويرايش نماييد . دريم ويور ، كد شما را تغييرنمي دهد يا آن را بازآرايي نمي كند . يكي از متداولترين ويژگي هاي دريم ويور اينست كه هميشه سايت هاي موجود را به طور دست نخورده رها مي كند . كاركنان ماكرومديا (شركتي كه دريم ويور را ايجاد كرده است ) اين ويژگي را Rowthoring tool نيز مي باشد . منظور از ابراز تأليف چيست ؟ دريم ويور مي تواند به اجراي گروه هايي از صفحات بپردازد كه شامل فعل و انفعالات و انيميشن ( پويانمايي) مي باشند . ابزارهاي تأل يف به شما امك آن ميدهند تا يك برنامه كاربردي كامل ايجاد كنيد . گرچه دريم ويور به عنوان يك ويرايشگر HTML به كار مي رود ، ولي مي توان از آن براي ايجاد برنامه هاي كاربردي multimedia ( چند رسانهاي ) استفاده كرد . الته شما مي توانيد به راحتي با استفاده از دريم ويور ، HTML را ويرايش نموده يا براي بينندگان خود تجربهاي را تأليف كنيد .
دريم ويور MX ميتواند صفحات وب پوياي داراي كارآيي Macromedia Dreamweaver UltraDev4 ايجاد نمايد . صفحات وب پويا با استفاده از امريه نويسي طرف سرور (server-side scripting ) ايجاد مي شوند و مستلزم شناخت فناوريهاي سرور( خادم) و ساير عنوانهاي پيشرفته توسط شما مي باشند .
مقدمهاي بر فتوشاپ
فتوشاپ را مي توان از جمله نرم افزارهاي BIMAP به حساب آورد ، بدين معين كه سيستم اين نرمافزار بر خلاف برنامههايي همانند Corel Draw و FreeHand كه بر اساس بردار عمل مي كنند بر اساس پيكسل (pixel ) ساخته شده است . در وا قع فايل هاي گرافيكي از تجمع اين نقاط شكل مي گيرند و اگر از تصويري كه در اين برنامه كشيده شده است . بزرگ نمايي شود ، حالت پله مانند در آن ديده مي شود . فتوشاپ . همانگونه كه نامش پيدا است براي ويرايش و انجام اصلاحات بر روي تصوير همانند تغيير رنگ ، ابعاد، جلوههاي ويژه ، كلاژكردن تصوير ، ايجاد تغييرات براي نمايش بهتر تصاوير ، تغيير كيفيت (مثلاً نوكردن عكسهاي قديمي) يا رنگي كردن تصاوير سياه و سفيد داراي قابليتهاي فراوان مي باشد . فتوشاپ را مي توان استانداردي براي طراحان گرافيكي دانست .
خلاصه
در اين فصل با ابزارهاي بكار رفته در انجام اين پروژه آشنا شديم و تاريخچه مختصري از هر يك را بيان كرديم در رابطه با چگونگي نصب هر يك از اين ابزارها و سخت افزارها و نرم افزار لازم در هر مورد توضيحاتي در پيوست الف موجود مي باشد .
مقدمه :
سايت حاضر شامل صفحات ايستا و پويا مي باشد در صفات ايستا از كدهاي HTML كمك گرفته شده است و براي ايجاد صفات پويا از كدهاي PHP سود بردهايم .
در اين فصل به شرح صفحات مختلف و كدهاي مرتبط با آن مي پردازيم . و در لابه لاي آن در جاهاي لازم به چگونگي سود بردن از نرم افزار ها خواهيم پرداخت .
اين فصل شامل موارد زير است :
1ـ مروري مختصر بر دستورات PHP
2ـ توضيح در رابطه با ارتباط با Database
3ـ توضيح صفحات كه خود شامل 2 بخش كاربرد و مديرسايت است .
مروري كوتاه بر دستورات زبان PHP
يك برنامه PHP با دستور php?< آغاز مي شود و به دستور >? خاتمه مي يابد .
بعد از دستور ، قراردادن كاراكتر سمي كالن (؛) اجباري است . جزء در مورد بعضي دستورات خاص مانند If . While و ...
براي تعريف متغير از كاراكتر $ قبل از نا م متغير استفاده مي شود .
رشتهها در PHP بايد در بين دو كاراكترــ/ـــ يا دو كاراكتر // قرار گيرند .
توضيحات يك خطي در PHP بعد از علامت // قرار ميگيرند و توضيحات بيش از يك خط بين علامت * / و علامت /* قرار مي گيرند .
براي تعريف تابع توسط برنامهنويس ا ز دستور (... ، آرگومان 2، آرگومان 1) نام تابع Function استفاده مي شود.
تنها كاراكترهاي (Under Score )_ ، حروف الفباي انگليسي و ارقام براي نام گذاري متغيرها و توابع PHP قابل قبول هستند .
بلاكهاي دستور با كاراكتر } آغاز شده و به كاراكتر { خاتمه مي يابند .
كاراكتر Back Slash (\ ) در صورت نياز به صورت كاراكتر فراريدهنده استفاده مي شود . به اين معني كه اگر قبل از كاراكترهاي // ، / و ... كاراكتر Back Slash قرار گيرد ، اين كاراكترها خاصيت خود را از دست مي دهند و تنها به صورت عادي نمايش داده مي شوند ، بدون اين كه نشانگر عمل خاصي باشند .
متغير ($_SERVER) Server آرايهاي شامل اطلاعاتي از قبيل سربارهها (Headers ) ، مسيرها و ... است . اين متغير از طريق Web Server مقدار دهي مي شود و در همه جاي برنامه بدون هيچ كد اضافي قابل استفاده است . اين متغير در همه جا با حروف بزرگ نوشته مي شود .
براي دسترسي به متغيرهاي يك فرم دو راه وجود دارد . راه اول ، استفاده از متغيرهاي Server است كه در اين مورد با توجه به Action فرم از متغيرهاي $_GET يا $_POST به صورت آرايهاي با انديس نام فيلد استفاده مي شود . راه دوم ، راه آسان تري است اما نياز به تنظيم مقدار register_globals=1 در PHP.ini دارد . پس از تنظيم تنها با نوشتن « نام فيلد $ » امكان دسترسي به متغير وجود دارد .
نكاتي در رابطه با بانك اطلاعاتي
اتصال به بانك اطلاعاتي :
connect_to_db.php
اين فايل در حقيقت قسمت برنامهاي است كه در اكثر فايل هاي ديگر برنامه مورد نياز بوده و براي راحتي كار به صورت فايلي مجزا نوشته شده و با دستور imclude_once به ساير فايل ها اضافه شده است .
براي اتصال به MYSQL Server از دستور mysql_connect كه در حقيقت يكي از توابع MYQSL است استفاده مي شود .
آرگومان هاي اين تابع همه اختياري هستند . آرگومان اول كه نام Server است به صورت پيش فرض مقدار Io calhost را در خود دارد . اين آرگومان همچنين ميتواند يك شماره پورت به صورت Hostname : port داشته باشد.
آرگومانهاي دوم و سوم به ترتيب كلمه و رمز عبور MYSQL Server هستند، كه در صورتي كه مقداردهي اوليه نشده باشند، نيازي به گرفتن مقدار در اين تابع ندارند . چون مقادير آرگومان ها به صورت رشته هستند حتماً بايد در « يا» قرار گيرند .
د ر اينجا براي نام Server مقدار Iocalhost قرار گرفته است و كلمه و رمز عبور نيز مقدار دهي نشده اند .
$Link=mysql_connect (Localhost)
خروجي اين تابع درصورتي كه ارتباط با MYSQL Server False برگردانده مي شود . در اين فايل شناسه در متغيري به نام Link قرار ميگيرد .
or show(Could not Connect to MYSQL . mysql_error() ;
دستور or در PHP كاربردي مانند if دارد . در صورتي كه مقدار قبل از or و False باشد . دستور بعد از or اجرا ميشود .
د ر اينجا اگر ارتباط با MYSQL Server برقرار نشود ، مقدار False قبل از or قرار ميگيرد و پيغم خطاي Could not connect to MYSQL به همراه خود خطا نمايش داده مي شود .
دستور mysql_error تابعي اس كه خروجي آن متن خطاي MYSQL است . اين تابع يك آرگومان اختياري دارد كه در اينجا مقدار دهي نشده است .
نقطه (0) بين دو پيغام خطاي بالا براي الحاق رشته اول و متن خروجي mysql_error است و قرار دادن آن اجباري ميباشد .
mysql_select_db(weblog,$Link)
دستور mysql_select_db تابعي است كه دو آرگومان دارد . اولين آرگومان اين تابع كه مقدار دهي به آن اجباري است ، نام بانك اطلاعاتي كه قرار است از آن استفاده شود ، مي باشد . آرگومانهاي بعدي كه مقدار دهي به آن اختياري است خروجي دستور mysql_connect مي باشد .
در اينجا نام بانك اطلاعاتي مورد استفاده Weblog است و $Lind نيز خروجي دستور mysql_connect مي باشد .
خروجي اين تابع True يا False است و در صورت False بودن پيغم خطاي مناسب توسط دستور زير نمايش داده مي شود
or show(Could not open weblog. mysql_error() ;
نحوه ساختن بانك اطلاعاتي :
براي ساختن بانك اطلاعاتي از دستور زير استفاده ميكنيم
MYSQL_Create_db($DBUame,$Link);
$QUery= Ceate table TABLENAME (column1 datatype,column2 dataype...);
ارسال داده ها به يك پايگاه داده
$Query = INSERT into $tablename values (value1,value2,...,)
MYSQL_db_Query(Database Name, $QUry , $link);
بازيابي دادههاي يك جدول
$Query = SELECT * From $TableName :
$result = mysql_db_Query($DatabaseName,$Query,$link);
حذف دادهها از پايگاه داده ها
$Query=DELETE Form TABLename where شرط مورد نظر
$result = mysql_ db_Query($ Database vame,$Query,$ link) ;
قطع ارتباط با پايگاه داده ها
mysql_ close ($link):
توضيح كلي بر تمام صفحات
در بخش كاربر اين سايت شش لينك وجود دارد .
الف ) صفحه اصلي : صفحه ابتدايي ورودي سايت است كه تمام user ها ميتوانند آنرا مشاهده كنند وازاين صفحه وارد سايت شوند
ب) درباره من : اين صفحه حاوي اطلاعات شخصي استاد است . كه براي آشنايي هرچه بيشتر دانشجويان با سوابق استاد خود طراحي شده است .
در اين صفحه همچنين E_ mail استاد قرار دارد كه دانشجويان مي توانند با استاد خود در ارتباط باشند و پاسخ خود را از طريق ايميل دريافت كنند .
ج)درس : در اين صفحه دانشجويان مي توانند اطلاعات مرتبط با درس خود را دريافت مي كند اين اطلاعات شامل بارم بندي دروس – منابع هر درس و عنوان پروژه درسي مي باشد .
د) پروژه : در اين صفحه شرحي مختصر از پروژههايي كه براي فارغ التحصيلي دانشجويان تعيين شده است .
ه ) نمرات : د ر اين بخش دانشجويان با انتخاب درس مورد نظر خود مي توانند نمرات خود را ببينند اين نمرات در سه بخش ميان ترم ، پايان ترم و نمره كلي دانشجويان تنظيم شده است .
د) تماس : در اين صفحه دانشجويان ميتوانند از طريق فرمي كه در اختيار آنان قرار ميگيرد با استاد درتماس باشند و سوالات و اشكلات خود را از استاد بپرسند و استاد هم به آنها پاسخ ميدهند و دانشجويان از طريق لينك respond مي توانند پاسخ سوال خود را دريافت كنند.
در تمام موارد براي لينك كردن صفحات به يكديگر از كدهاي HTML سود برده شده است.
بخش اول
بخش كاربر
1 ـ 1 ـ صفحه اصلي (Home page) :
در اين صفحه كه صفحه ورودي سايت است اطلاعات مختصري در رابطه با استاد و جود دارد و در پايين صفحه هم تيتر مطالب بروز شده سايت و مطلب جديدي كه به سايت اضافه شده است به چشم ميخورد.
<?php
$query = "SELECT * FROM information";
$results = mysql_query($query) or die(mysql_error());
?>
<p><table width="547" border="3" align="center" cellspacing="0" bordercolor="#000000">
<tr>
<td width="417"><div align="center">
<p><span class="style6"><a href="delcourse.php">توضیحات</a></span></p>
</div></td>
<td width="116"><div align="center" class="style5 style3">نام درس </div></td>
</tr>
<?php
while($result = mysql_fetch_assoc($results)) {
?>
<tr>
<td><?=$result['info']?></td>
<td><?=$result['name']?></td>
</tr>
<?php
}
?>
</table></p>
2ـ1 ـ درباره من :
اين صفحه محتوي اطلاعات شخصي استاد است اين اطلاعات درون جدولي گنجانده شده است كه كاربران آنرا مشاهده مي كنند . اين اطلاعات توسط مدير سايت در بخش مديريت وارد ميشوند و سپس اين اطلاعات از طريق پايگاه داده بازيابي ميشوند و كاربران مي توانند آنرا مشاهده كنند.
قطعه كد مربوطه به بازيابي اطلاعات به شرح زير است .
<?php
$query = "SELECT * FROM aboutme";
$results = mysql_query($query) or die(mysql_error());
?>
<table width="559" border="3" cellspacing="0" bordercolor="#000000">
<tr>
<td width="140" height="55"><div align="center" class="style5">عضویت در مجامع علمی </div></td>
<td width="83"><div align="center"><span class="style5">تحصیلات</span></div></td>
<td width="79"><div align="center"><span class="style5">محل تولد </span></div></td>
<td width="79"><div align="center"><span class="style5">تاریخ تولد </span></div></td>
<td width="76"><div align="center"><span class="style5">نام خانوادگی </span></div></td>
<td width="62"><div align="center" class="style5">نام</div></td>
</tr>
<?php
while($result = mysql_fetch_assoc($results)) {
?>
<tr>
<td height="67"><?=$result['signin']?></td>
<td><?=$result['tahsilat']?></td>
<td><?=$result['city']?></td>
<td><?=$result['birthday']?></td>
<td><?=$result['family']?></td>
<td><?=$result['name']?></td>
</tr>
<?php
}
?>
</table>
در انتهاي صفحه با استفاده از لينك موجود د انشجويان مي توانند با استاد از طريق ايميل در ارتباط باشند و پاسخ لازم را نيز از طريق ايميل خود دريافت كند .
<a href = “maito:daneshgah@gmx.net”> daneshgah@gmx.net</a>
3ـ 1ـ درس :
با كليك كردن روي لينك مربوط درس وارد صفحهاي مي شويم كه بايد درس مورد نظر خود را انتخاب كنيم . با انتخاب درس و كليك روي دكمه Submit وارد بخش اطلاعات مربوط به آن درس خاص مي شويم.
براي ساخت اين صفحه فقط از كدهاي HTML كمك گرفته شده است و اين صفحه از صفحات استاتيك به شمار ميرود. كد مربوط به فرم موجود در اين صفحه را در زير مشاهده مي كنيد .
<form name="form1" method="post" action="showcourse.php">
<p>
<select name="course_name" id="course_name">
<option>shabake</option>
<option>shive</option>
<option>database</option>
<option>zaban</option>
</select>
</p>
<p>
<input type="submit" name="Submit" value="submit">
</p>
</form>
در بخش action اين فرم آدرس صفحه Show course . php قرار گرفته است به اين خاطر كه لازم است اطلاعات اين فرم براي اين صفحه ارسال شود .
صفحه مربوط به اطلاعات دروس يا همان صفحه Showcourse . php صفحهاي است كه به كاربران امكان ديدن اطلاعات درس انتخابي خود را مي دهد . اين صفحه به سه بخش تقسيم شده است بخش مربوط به بارمبندي درس – بخش منابع و بخش عنوان پروژه براي دسترسي آسان به هر يك از سه بخش از دكمههاي Rollover سود برده شده است .
قطعه كد مربوط به يكي از اين دكمهها را در زير مشاهده مي كنيد كه به علت مشابه بودن كد از بيان هر سه مورد خودداري ميكنيم .
<div id="Layer3" style="position:absolute; width:100px;
height:62px; z-index:3; left: 57px; top: 164px;">
<a href="#barom" onMouseOut="MM_swapImgRestore()"
onMouseOver="MM_swapImage('Image7','','image/onclick1.gif',1)">
<img src="image/click1.gif" name="Image7" width="80"
height="80" border="0"></a>
<div id="Layer7" style="position:absolute; width:62px;
height:29px; z-index:7; left: 11px; top: 24px;">
<div align="center"><a href="#barom" class="style5">
بارم بندی</a>
</div>
</div>
</div>
در بخش بارمبندي اطلاعات مربوط به بارمبندي درس موجود است اين اطلاعات ا زطريق بازيابي جدول مربوط به بخش بارمبندي با استفاده از كد زير دراختيار كاربران قرار ميگيرد. كد php متناظر با اين هدف را در زير مشاهده
ميكنيد .
<?php
$tablename="course1";
mysql_connect("localhost");
$query="SELECT * from $tablename
where course_name= '".$_POST['course_name']."'";
$result=mysql_db_query("main",$query);
print("<table border=3 cellspacing=0 bordercolor=#000000 width=\"75%\" alig=center>\n");
print("<tr align=center valign=top>\n");
print("<td align=center valign=top>code</td>\n");
print("<td align=center valign=top>name</td>\n");
print("<td align=center valign=top>miterm</td>\n");
print("<td align=center valign=top>final</td>\n");
print("<td align=center valign=top>home</td>\n");
print("<td align=center valign=top>project</td>\n");
print("</tr>\n");
while($row=mysql_fetch_array($result))
{print("<tr align=center valign=top>\n");
print("<td align=center valign=top>$row[course_id]</td>\n");
print("<td align=center valign=top>$row[course_name]</td>\n");
print("<td align=center valign=top>$row[c_miterm]</td>\n");
print("<td align=center valign=top>$row[c_final]</td>\n");
print("<td align=center valign=top>$row[c_homework]</td>\n");
print("<td align=center valign=top>$row[c_project]</td>\n");
print("</tr>\n");
}
همان طور كه در بالا مشاهده ميكنيد براي دستور Select شرط قرار داده شده است اين شرط براي اين است كه اطلاعات مربوط به همان درس به د انشجويان نشان د اده شود كه آنها آنرا درخواست كردهاند . وظيفه حلقه while اين است كه تمام سطرهاي جدول را به كاربر نمايش دهد.
در دو بخش ديگر اين صفحه اطلاعاتي نظير منابع و عنوان پروژه درس در
اختيار كاربران قرار ميگيرد كد مربوط به دو بخش ديگر شبيه بالا است . براي مشاهده كد كامل اين صفحه به پيوست «ب» مراجعه كنيد.
4ـ 1ـ نمرات :
با كليك روي لينك مربوط به نمرات وارد صفحهاي ميشويم كه ميخواهد درس مورد نظر را انتخاب كنيد بعد از انتخاب درس و كليلك روي دكمه Submit وارد صفحه مربوط به اعلام نمرات ميشويم . كد مربوط به فرم صفحه انتخاب درس ماند زير است .
<form name="form1" method="post" action="showscore.php">
<p>
<select name="course_name" id="course_name">
<option>shabake</option>
<option>shive</option>
<option>database</option>
<option>zaban</option>
</select>
</p>
<p>
<input type="submit" name="Submit" value="submit">
</p>
</form>
صفحه اعلام نمرات شامل سه بخش است . بخش ابتدايي نمرات ميان ترم را اعلام مي كند و بخش دوم مربوط به نمرات پايان ترم است و بخش سوم نمرات دانشجويان را به صورت كلي و نهايي اعلام مي كند . براي رفتن به هر يك از اين سه بخش دكمههاي roolover استفاده شده است كه قطعه كد آن قبلاً توضيح داده شده است . به عنوان نمونه قطعه كد مربوط به اعلام نهايي نمرات را در زير مشاهده مي كنيد . كه شامل كد php براي بازيابي اطلاعات از جدول مربوط در پايگاه داده و كد HTML براي نمايش اين اطلاعات ميباشد.
<?php
include("db.php");
mysql_connect("$host","$user","$password");
mysql_select_db("$dbname");
$query = "SELECT * FROM course1 where course_name= '".$_POST['course_name']."'";
$result = mysql_query($query) or die(mysql_error());
$doublecheck = mysql_fetch_array($result);
if ($doublecheck==0 ) {
echo "<font color=red>Your account could not be activated!</font>";
} else {
$query = "SELECT * FROM miterm WHERE course_name='".$_POST['course_name']."'";
$results = mysql_query($query) or die(mysql_error());
$query = "SELECT * FROM final WHERE course_name='".$_POST['course_name']."'";
$result1 = mysql_query($query) or die(mysql_error());
$query = "SELECT * FROM score1 WHERE course_name='".$_POST['course_name']."'";
$result2 = mysql_query($query) or die(mysql_error());
}
?>
5 ـ 1 ـ پروژه :
اين صفحه اطلاعات مختصري را در رابطه با پروژههايي كه به عنوان فارغالتحصيلي ارائه شده است در اختيار دانشجويان قرار ميدهد كه دانشجويان مي توانند با بررسي تيتر اين پروژهها در رابطه با انتخاب پروژه فارغالتحصيلي خود اقدام نمايند .
قطعه كد مربوط به بازيابي و نشان دادن اطلاعات اين صفحه در زير آمده است
<?php
$tablename="project1";
mysql_connect("localhost");
mysql_select_db("main");
$query="SELECT * from $tablename ";
$results = mysql_query($query) or die(mysql_error());
?>
</span>
<table width="570" border="3"cellspacing="0" bordercolor="#000000">
<tr>
<td width="131"><div align="center">نام پروژه </div></td>
<td width="128"><div align="center">زمان انحام پروژه </div></td>
<td width="89"><div align="center">کار فرما </div></td>
<td width="194"><div align="center">توضیحات</div></td>
</tr>
<?php
while($result = mysql_fetch_assoc($results)) {
?>
<tr>
<td><?=$result['name']?></td>
<td><?=$result['date']?></td>
<td><?=$result['place']?></td>
<td><?=$result['info']?></td>
</tr>
<?php
}
?>
</table>
6 ـ 1 ـ تماس :
باكليك روي لينك مربوط به تماس وارد اين صفحه ميشود دانشجويان با و ارد كردن نام و نام خانوادگي خود و همچنين تاريخ درخواست مي توانند سوالات و مشكلات خود را با استاد خود در ميان بگذارند واز طريق صفحه پاسخ ، پاسخ خود را نيز دريافت كنند .
براي ثبت اطلاعات مربوط به اين صفحه در پايگاه داده يك جدول ساخته شده است كه كد مربوط به آن به صورت زير است
MYSQL > create table request
id int (9) NotNull outo – increment,
Name Varchar (50),
family vorchar (60),
date varchar (12),
info varchar (255),
Drimay key (id)
);
كاربر با پركردن فرم موجود و زدن كليد Submit باعث مي شود اطلاعات از طريق كد php زير براي پايگاه داده ارسال گردد.
<?php
include("db.php");
$tablename="contact";
if(isset($_POST['name'])) {
$query="INSERT into $tablename values('0', '".$_POST['name']."', '".$_POST['family']."', '".$_POST['date']."', '".$_POST['request']."')";
mysql_connect("$host");
mysql_select_db("$dbname");
mysql_query($query) or die(mysql_error());
}
?>
اين اطلاعات در صفحه مربوط به خود در بخش مدير سايت براي مدير نشان داده ميشود و مدير پاسخ لازم را براي دانشجو ارسال مي كند و دانشجو مي تواند از طريق صفحه مربوط به پاسخ، جواب سوال خود را بگيرد . كد مربوط به بازيابي اطلاعات مربوط به پاسخ در زير آمده است.
<?php
$query = "SELECT * FROM respond1";
$results = mysql_query($query) or die(mysql_error());
?>
<p><img src="image/rtop33.gif" width="800" height="150"></p>
<p>
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0" width="100" height="22">
<param name="movie" value="button7.swf">
<param name="quality" value="high">
<embed src="button7.swf" quality="high" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="100" height="22" ></embed>
</object>
</p>
<p> </p>
<table width="670" border="3" align="center" cellspacing="0" bordercolor="#000000">
<tr>
<td width="407"><div align="center">پاسخ</div></td>
<td width="101"><div align="center">تاریخ</div></td>
<td width="94"><div align="center"><span class="style5">نام خانوادگی </span></div></td>
<td width="46"><div align="center" class="style5">نام</div></td>
</tr>
<?php
while($result = mysql_fetch_assoc($results)) {
?>
<tr>
<td><?=$result['respond']?></td>
<td><?=$result['date']?></td>
<td><?=$result['family']?></td>
<td><?=$result['name']?></td>
</tr>
<?php
}
?>
</table>
بخش دوم
بخش مدير سايت
1 ـ 2 ـ بخش ورود مدير سايت :
مدير سايت با قرار دادن آدرس صفحه مربوط به خود در URL وارد صفحهاي مي شود كه صفحه ورود به بخش مدير سايت است در اين صفحه از مديرسايت كلمه و رمز عبور پرسيده مي شود. كه در صورت درست بودن آن مدير مي تواند براي وارد كردن و يا اصلاح اطلاعات سايت وارد بخش مديريتي شود. كد php مربوط را در زير ميبينيد.
if($_POST['username']=="?" AND $_POST['password']=="?" ){
include("contact.php");
exit;
}
2 ـ 2 ـ about me ( درباره ها )
1ـ براي وارد كردن اطلاعات مربوط به استاد فرم زير طراحي شده است .
<form name="form1" method="post" action="">
<table width="404" border="2" cellspacing="0" bordercolor="#000000">
<tr>
<td width="191" height="53"><div align="center">نام</div></td>
<td width="197"><div align="center">
<input name="name" type="text" id="name" maxlength="100">
</div></td>
</tr>
<tr>
<td height="54"><div align="center">نام خانواد گی</div></td>
<td><div align="center">
<input name="family" type="text" id="family" maxlength="100">
</div></td>
</tr>
<tr>
<td height="49"><div align="center">تاریخ تولد </div></td>
<td><div align="center">
<input name="birthday" type="text" id="birthday" maxlength="14">
</div></td>
</tr>
<tr>
<td height="48"><div align="center">محل تولد </div></td>
<td><div align="center">
<input name="city" type="text" id="city" maxlength="30">
</div></td>
</tr>
<tr>
<td height="54"><div align="center">تحصیلات</div></td>
<td><div align="center">
<input name="tahsilat" type="text" id="tahsilat" maxlength="50">
</div></td>
</tr>
<tr>
<td height="51"><div align="center">توضیحات</div></td>
<td><div align="center">
<input name="signin" type="text" id="signin" maxlength="100">
</div></td>
</tr>
<tr>
<td height="77" colspan="2">
<div align="center">
<input type="submit" name="Submit" value="Submit">
</div></td>
</tr>
</table>
</form>
2ـ براي نگه داري اطلاعات اين صفحه در پايگاه داده جدول زير پياده سازي شده است .
MYSQL.>create table abaut me
id int (9) NotNall outo- increment ;
name vavchar (40),
family vavchar (50),
Dirthyday vavchar (12),
City vavchar)60 (
tahsilat vavchar (50),
signin vavchar (300),
primarykey (id)
);
مدير سايت با كليد روي دكمه sunmit باعث مي شود تا اطلاعات توسط كد php زير براي پايگاه داد ارسال شود .
<?php
$tablename="aboutme";
if(isset($_POST['id'])) {
$query="INSERT into $tablename values('0', '".$_POST['name']."', '".$_POST['family']."', '".$_POST['birthday']."', '".$_POST['city']."', '".$_POST['tahsilat']."', '".$_POST['signin']."')";
mysql_connect("localhost");
mysql_select_db("main");
mysql_query($query) or die(mysql_error());
}
?>
3 ـ 2 ـ درخواست :
با كليك كردن روي درخواست به صفحه مربوط به مشاهده درخواست دانشجويان لينك ميشويم استاد بعد از مشاهده درخواستهاي دانشجويان مي تواند از طريق صفحه مربوط به پاسخ جواب لازم را براي دانشجويان خود ارسال كند .
صفحه درخواست اطلاعات خود را از جدول request كه شرح آن در بخش مربوط به درخواست در قسمت كاربر بيان شد دريافت مي كند .
درهر خط كه مربوط به يك درخواست است يك خانه به عنوان حذف وجود دارد كه استاد با توجه به صلاح ديد خود ميتواند با كليك كردن روي هر كدام از خانههاي حذف آن رديف از جدول را حذف كند.
قطعه كد مربوط به بازيابي اطلاعات از جدول
<?php
$query = "SELECT * FROM contact";
$results = mysql_query($query) or die(mysql_error());
?>
<table width="751" border="3" cellspacing="0" bordercolor="#000000">
<tr>
<td width="75"><div align="center">حذف </div></td>
<td width="238"><div align="center">در خواست </div></td>
<td width="115"><div align="center">تاریخ درخواست </div></td>
<td width="191"><div align="center"><span class="style5">نام خانوادگی </span></div></td>
<td width="81"><div align="center" class="style5">نام</div></td>
</tr>
<?php
while($result = mysql_fetch_assoc($results)) {
?>
<tr>
<td height="67"><a href="contact.php?delete=true&id=<?=$result['id']?>">delete</a></td>
<td><?=$result['request']?></td>
<td><?=$result['date']?></td>
<td><?=$result['family']?></td>
<td><?=$result['name']?></td>
</tr>
<?php
}
?>
</table>
قطعه كد مربوط به حذف رديفي از جدول
if(isset($_GET['delete'])) {
$query = "DELETE FROM contact WHERE id = '".$_GET['id']."'";
mysql_query($query) or die(mysql_error());
}
<a href="contact.php?delete=true&id=<?=$result['id']?>">delete</a>
همان طور كه در بالا شرح داده شد در صفحه مربوط به درخواستها دكمهاي وجود دارد كه باكليك كردن بر روي آن وارد صفحه مربوط به پاسخ ميشويم استاد با پركردن فرم موجود در اين صفحه و زدن كليد Submit مي تواند پاسخ لازم را به درخواست هاي دانشجويان خود بدهد.
اين اطلاعات درون جدولي با مشخصات زير ذخيره ميشود.
MYSQL.>create table respond
id int (9) NotNall outo- increment ,
name vavchar (50),
family vavchar (60),
Date vavchar (12),
City vavchar)60)
info vavchar (255),
Primary key (id)
);
اطلاعات توسط كد زير درون جدول ذخيره ميشود.
<?php
include("../db.php");
$tablename="respond1";
if(isset($_POST['name'])) {
$query="INSERT into $tablename values('0', '".$_POST['name']."', '".$_POST['family']."', '".$_POST['date']."', '".$_POST['respond']."')";
mysql_connect("$host");
mysql_select_db("$dbname");
mysql_query($query) or die(mysql_error());
}
?>
4 ـ 2 ـ پروژه :
در اين صفحه استاء ليست پروژههاي فارغالتحصيلي دانشجويان آن ترم را وارد ميكند .
قطعه كد مربوط به فرم ورود اطلاعات
<form action="" method="post">
<table width="419" border="3" align="center" cellspacing="0" bordercolor="#000000">
<tr>
<td width="208" height="41">
<div align="center">
<input name="name" type="text" id="name">
</div></td>
<td width="201"><div align="center">نام پروژه </div></td>
</tr>
<tr>
<td height="44">
<div align="center">
<input name="date" type="text" id="date">
</div></td>
<td><div align="center">زمان ارائه </div></td>
</tr>
<tr>
<td height="141">
<div align="center">
<textarea name="info" id="info"></textarea>
</div></td>
<td><div align="center">اطلاعات اضافی </div></td>
</tr>
<tr>
<td height="52">
<div align="center">
<input type="submit" name="Submit7" value="Submit">
</div></td>
<td><div align="center">
<input type="reset" name="Submit8" value="Reset">
</div></td>
</tr>
</table>
</form>
اطلاعات مربوط به پروژهها در جدول زير ذخيره مي شود.
MYSQL.>create table project
id int NotNall outo- increment ,
name vavchar ( 60),
Date vavchar (12),
info vavchar (255),
Primary key (id)
);
در انتهاي صفحه استاد ميتواند اطلاعات وارد شده را مشاهده كند وبا كليك كردن روي بخش حذف هر رديف ميتواند رديف مورد نظر خود را حذف كند.
5 ـ 2 ـ اطلاعات صفحه اول :
دراين صفحه استاد اطلاعات مربوط به صفحه اول يعني اطلاعات بخش (اطلاعات جديد) را وارد ميكند كه در اين قسمت هم جدولي ساخته شده است كه اين اطلاعات را نگهداري ميكند و سپس با كمك دستور insert اطلاعات وارد جدول مي شود و بعد در جاي مناسب خود در قسمت كاربر از جدول بازيابي ميگردد.
به علت مشابه بودن كد با قسمتهاي قبل از بيان مجدد آن خودداري شد كد كامل مربوط در پيوست (ب) موجود ميباشد .
6 ـ 2 ـ درس :
در ابتداي صفحه حاضرفرمي براي اضافه كردن درس وجود دارد . استاد ضمن وارد كردن نام درس بايد ميزان بارمبندي درس را نيز وارد كند.
كد فرم موجود به صورت زير است .
<form action="" method="post" >
<table width="342" height="302" border="3" cellspacing="0" bordercolor="#000000">
<tr>
<td height="41">
<div align="center">
<input name="course_name" type="text" id="course_name" maxlength="40">
</div></td>
<td><div align="center">نام درس </div></td>
</tr>
<tr>
<td height="45">
<div align="center">
<input name="c_miterm" type="text" id="c_miterm" maxlength="8">
</div></td>
<td><div align="center">نمره میان ترم </div></td>
</tr>
<tr>
<td height="47">
<div align="center">
<input name="c_final" type="text" id="c_final" maxlength="8">
</div></td>
<td><div align="center">نمره پایان ترم </div></td>
</tr>
<tr>
<td height="58">
<div align="center">
<input name="c_homework" type="text" id="c_homework" maxlength="8">
</div></td>
<td><div align="center">نمره تمرین </div></td>
</tr>
<tr>
<td height="51">
<div align="center">
<input name="c_project" type="text" id="c_project" maxlength="8">
</div></td>
<td><div align="center">نمره پروژه </div></td>
</tr>
</table>
<p align="center">
<input type="submit" name="Submit" value="Submit">
</p>
بعد از پر كردن فرم موجود با كليك روي دكمه submit اطلاعات براي جدولي كه در پايگاه داده طبق كد زير ساخته شده است و با استفاده از دستور Insert ارسال ميگردد.
MYSQL>create table
id int NotNall outo- increment ,
course – name vavchar ( 40),
c-miterm vavchar ( 8)
c-final vavchar (8),
C-homework vavchar (8),
C-project vavchar(8)
primary key (id)
);
در انتهاي صفحه استاد ميتواند اطلاعاتي را كه براي پايگاه داده ارسال كرده است را مشاهده كند : در اين جدول علاوه بر اطلاعاتي بازيابي شده در جدول سه لينك در هر رديف موجود است . با كليك روي گزينه حذف رديف مورد نظر حذف ميگردد . با كليك روي گزينه Info مي توانيم اطلاعات مربوط به منابع درس و عنوان پروژه درس را وارد كنيم و با كليك روي گزينه scare مي توانيم نمرات درس مذكور رانيز وارد كنيم.
قطعه كد مربوط به اين بخش را در زير مشاهده ميكنيد .
<?php
$query = "SELECT * FROM course1 ";
$results = mysql_query($query) or die(mysql_error());
?>
<div id="Layer2" style="position:absolute; width:696px; height:165px; z-index:2; left: 44px; top: 691px;">
<table width="682" border="3" align="center" cellspacing="0" bordercolor="#000000">
<tr>
<td width="110"><div align="center" class="style5">حذف</div></td>
<td width="106"><div align="center" class="style5">ورود نمره </div></td>
<td width="69"><div align="center">
<p align="center"><span class="style6"><a href="delcourse.php">اطلاعات</a></span></p>
<p align="center" class="style6">درس</p>
</div></td>
<td width="60"><div align="center" class="style5">پروژه</div></td>
<td width="61"><div align="center" class="style5">تمرین</div></td>
<td width="66"><div align="center" class="style5">پایان ترم </div></td>
<td width="47"><div align="center" class="style5">میان ترم </div></td>
<td width="125"><div align="center" class="style5">نام درس </div></td>
</tr>
<?php
while($result = mysql_fetch_assoc($results)) {
?>
<tr>
<td height="31"><div align="center"><a href="course.php?delete=true&id=<?=$result['id']?>">delete</a></a></div></td>
<td height="31"><div align="center"><a href="score.php" class="style5"><strong>score</strong></a></div></td>
<td height="31"><div align="center"><a href="source.php" class="style5 style7"><strong>info</strong></a></div></td>
<td><?=$result['c_project']?>
</td>
<td><?=$result['c_homework']?>
</td>
<td><?=$result['c_final']?>
</td>
<td><?=$result['c_miterm']?>
</td>
<td><?=$result['course_name']?></td>
</tr>
<?php
}
?>
</table>
</div>
7 ـ 2 ـ ورود نمرات :
با ورود به صفحه نمرات يك فرم براي ورود نهايي نمرات مشاهده ميكنيم در بالاي اين فرم 2 لينك به نامهاي ميان ترم و پايان ترم موجود مي باشد كه با لينك كردن روي هر يك ميتوانيم نمرات ميان ترم و پايان ترم را به صورت مجزا وارد كنيم در انتهاي اين صفحه هم جداولي براي نمايش اطلاعات پايگاه داده مشاهده مي كنيد . با كليك كردن روي حذف رديف مورد نظر در جدول حذف مي گردد.
قطعه كد php متناظر براي اضافه كردن و حذف كردن ونشان دادن اطلاعات مانند زير است .
<?php
include("../db.php");
mysql_connect("$host","$user","$password");
mysql_select_db("$dbname");
if(isset($_GET['delete'])) {
$query = "DELETE FROM score1 WHERE id = '".$_GET['id']."'";
mysql_query($query) or die(mysql_error());
}
if(isset($_POST['course_name'])) {
$query = "SELECT * FROM course1 WHERE course_name='".$_POST['course_name']."' ";
$result=mysql_query($query) or die(mysql_error());
$doublecheck = mysql_fetch_array($result);
if ($doublecheck==0 ) {
echo "<font color=red> could not be add!</font>";
} else {
$query = "INSERT INTO score1 VALUES ('0', '".$_POST['course_name']."', '".$_POST['student_id']."', '".$_POST['student_name']."', '".$_POST['student_family']."', '".$_POST['s_miterm']."', '".$_POST['s_final']."', '".$_POST['s_homework']."', '".$_POST['s_project']."', '".$_POST['s_score']."')";
mysql_query($query) or die(mysql_error());
}
}
$query = "SELECT * FROM score1 where (course_name='".$_POST['course_name']."') ";
$results = mysql_query($query) or die(mysql_error());
?>
جدول لازم براي درج اطلاعات نهايي نمرات به صورت زير مي باشد.
MYSQL>create table scare4(
idNotNall outo- increment ,
course – name vavchar ( 50),
Student-id vavchar(60),
Student - name vavchar (40),
Student - family vavchar (60),
S-miterm vavchar (8),
S-final vavchar (8),
S-homework vavchar (8),
S-project vavchar (8),
S-Score vavchar (8),
Primary key (id)
);
كد مربوط به بخش ميان ترم و پايان ترم نيز شبيه بالا است براي اطلاعات بيشتر به پيوست ب مراجعه كنيد .
8 ـ2 ـ منابع و عنوان پروژه :
در بخش منابع فرم ورود اطلاعات مربوط به نام درس عنوان منبع و اطلاعات ديگر در رابطه با منبع وجوددارد و در پايينصفحه نيز جدول نشان دادن اطلاعات موجودميباشد . در هر رديف نيز امكان حذف وجود دارد .
بخش پروژه نيز شبيه منابع است.
كد كامل اين 2 صفحه نيز در پيوست موجود مي باشد.
خلاصه :
در اين فصل به طور اجمالي به بررسي آنچه كه از نظر برنامهنويسي در اين پروژه صورت گرفته است پرداختهايم . در توضيح هر صفحه سعي شده علاوه بر توضيح كلي به بررسي قسمتهاي مختلف كد آن صفحه نيز پرداخته شد . براي جلوگيري از توضيحات تكراري از بيان كدهاي مشابه خودداري كرديم. از نظر طراحي صفحات اين سايت از نرم افزار فتوشاپ سود بردهايم كه مجالي براي پرداختن به آن نيست فقط توضيحاتي در رابطه با اين نرم افزار در فصل دوم بيان گرديد و طريقه نصب آن نيز در پيوست الف موجود ميباشد. براي اطلاع يافتن از كد كامل صفحات اين وب سايت به پيوست ب مراجعه كنيد .
در طي انجام اين پروژه سعي شده است كه نيازهاي ابتدايي و مهم يك وب سايت ـ مربوط به استاد را برآورده كنيم ولي مطمئناً نواقصي هم در اين زمينه وجود دارد كه اميدواريم درآينده توسط ساير دانشجويان تكميل گردد .
از نظر من امكاناتي كه بايد به اين پروژه اضافه گردد . به شرح زير
ميباشد :
الف ) ارتباط online بين استاد و دانشجو
ب) امكان upload كردن صفحه جديد به سايت
ج) امكان ارتباط بين سايت با سايت دانشگاههاي ديگر و تبادل اطلاعات بين دانشجويان عضو ساير دانشجويان عضو سايتهاي ديگر .
د) قراردادن اسلايد مربوط به دروس در سايت براي استفاده دانشجويان.
از كسانيكه اين پروژه رامطالعه كردهاند خواهشمندم انتقادهاو پيشنهادات خود را با من از طريق آدرس ايميل زير در ميان بگذارند اميدوارم در كارهاي آينده بتوانم از آنها استفاده كنم .
با تشكر
پيوست الف
نحوه نصب نرم افزارهاي بكار رفته در پروژه
نصب فتوشاپ
سخت افزار و نرمافزار مورد نياز
حداقل سخت افزار و نرم افزار مورد نياز عبارت است از :
يك دستگاه پنتيوم يا حداقل 486
ويندوز 95 يا ويندوز معمولي
حداقل 16 مگاه بايت RAM
گرداننده CD-RAM
حداقل 16 مگابايت RAM براي فتوشاپ لازم است . اما هر چقدر RAM بيشتري داشته باشيد بهتر است 25 مگا بايت فضاي خالي بر روي ديسك سخت لازم است ، ولي براي كار بر روي تصاوير بزرگتر فضاي ديسك بيشتري لازم مي شود .
نحوه نصب برنامه
در صورتي كه نسخه فتوشاپ را بر روي ديسك سخت خود و يا نسخه موجود را بر روي CD-RAM داريد ، مي توانيد مراحل نصب را به ترتيب زير دنبال كنيد .
طريقه نصب :
1ـ وارد برنامه ويندوز شويد .
2ـ CD مربوطه را وارد درايو قرار دهيد .
3ـ بر روي آيكون My Computer دو بار كليلك نموده ، سپس بر روي آيكون CD كليك راست كنيد سپس گزينه Open را انتخاب نماييد.
4ـ در پنجره بازه شده بر روي فايلي به نام setup.exe دو باركليلك كنيد بعد از ok كردن ، نصب برنامه شروع مي گردد .
5ـ براي تأييد اطلاعات خوانده شده ، در حين نصب ، روي دكمه Next كليك نماييد .
6ـ براي انتخاب پارامتر مناسب از گزينه typical كه رايجترين نوع نصب بوده وامكان دسترسي به كليه گزينههاي فتوشاپ را فراهم مي آورد استفاده نماييد .
و در ا نتخاب ديگر compact وCumon در وا قع نصب فشرده مي باشد . گزينه compact سيستم را براي استفاده از حداقل گزينه هاي موجود تنظيم و نصب مي كند ولي گزينه custom امكان كنترل بر روي فايلهايي كه بايد نصب شوند را در اختيارتان قرار مي دهد مختص كساني است كه به طور حرفهاي كار ميكنند .
در صورتي كه عمل نصب به طور كامل انجام گرفته باشد . پس از پايان كار ، پيغام Install Completed بر روي صفحه نمايش ظاهر خواهد شد .
نصب PHP
PHP Install Wizard از سرويسدهندههاي وب زير پشتيباني به عمل مي آورد :
Microsoft PWS برروي ويندوز 9X يا WE
Microsoft PWS بر روي ويندوز NT ايستگاه كاري
Microsoft IIS 3 و نسخههاي پايين تر
Microsoft IIS 4 و نسخههاي بالاتر
Apache براي ويندوز
Xitami براي ويندوز
نخست توزيع ويندوزي PHP را از آدرس htt p : // php . net / downloasa . php دريافت كنيد . در صورتي كه سرويسدهندههاي وب Apache وMYSQL در حال اجرا هستند ،آنها را متوقف نماييد . روي برنامه setup دو بار كليلك كنيد تا شروع شود . پس از يك صفحه مقدمه و يك توافقنامه گواهي ، از شما پرسيده مي شود كه كدام يك از گزينههاي standard يا Advanced را انتخاب مي كنيد .
در حالي كه standard توصيه شده است و مسيري است كه ما انتخاب خواهيم كرد ، كاربران با تجربه ممكن است بخواهند Asvanced را انتخاب كنند . هميشه مي توانيد روي Back يا حتي Cancel كليك كنيد و دوباره از ابتداي كار را شروع كنيد .
به دنبال مسير Standard ، با كادر محاورهاي براي انتخاب محل نصب PHP مواجه خواهيد شد . موقعيت پيش فرض C:\ php\ بهترين است . مگر اينكه دليل قانعكنندهاي براي انتخابي ديگر داشته باشيد .
سپس از شما براي پيكربندي PHP سؤال خواهد شد تا بتوانيد با استفاده از تابع توكار mail به ارسال e-mail بپردازيد . اين كادر محاوره يك سرويس دهنده SMTP و يك آدرس : F rom پيش فرض را درخواست مي كند . اگر از سرويس دهنده SMTP خود براي ارسال e-mail استفاده مينماييد . اگر ميدانيد كه تنها آدرس :From شما را چك ميكند تا شما را براي فرستادن e-mail شناسايي كند ، مي توانيد از آن مقادير استفاده كنيد . اگر از سرويس دهنده SMTP خود مطمئن نيستيد و يا نيازمند يك username/password و همچنين يك آدرس : From براي تأييد هويت مي باشد ، به راحتي ميتوا نيد از Iocalhost به عنوان سرويس دهنده SMTP و از e-mail هميشگي خود به عنوان : From استفاده كنيد .
از آنجايي كه اكثر نسخههاي ويندوز يك سرويس دهنده SMTP را ارائه نمي كنند ، Iocalhost بدرستي كار نمي كند . مگر اينكه يك سرويس دهنده SMPT را روي كامپيوتر خود نصب كرده باشيد . خوشبختانه ، بعداً خواهيم توانست اين سرويس دهنده را به آساني پيكربندي مجدد نماييم و ابزار موجود رايگاني را براي فراهم آوردن كارآيي مورد نظر شما وجود دارند .
اگر دو پاراگرافت قبلي باعث سردرگمي شما شدهاند . به سادگي Iocalhost براي سرويس دهنده SMPT استفاده كنيد ، و e- mail id معمولي خود را براي تنظيمات Email به كار ببريد . هميشه امكان ترميم مجدد آن وجود د ارد .
بالاخره ، از شما سؤال خواهد شد كه كدام سرويس دهنده وب را براي اجراي PHP پيكربندي مي نماييد . اين كتاب در نظر ميگيرد كه شما سرويس دهنده Apache را انتخاب كردهايد .
بالاخره ، تمامي تصميمگيري هاي شما پايان يافتند و شما آماده نصب هستيد ، روي آخرين دكمه Next كليك كنيد و نصب كننده شروع به كار خواهد كرد .
Install Wizard فعلاً به صورت خود كار فايل http.conf سرويس دهنده Apache را پيكربندي نميكند ، پس احتمالاً يك كادر محاوره را در اين باره خواهيد ديد . نگران نباشيد،بعد از اين ، به پيكربندي Apache جهت استفاده از PHP خواهيم
پرداخت .
پس از اتمام نصب ، با كادر محاورهاي مواجه خواهيد شد كه اعلام كننده نصب موفقيت آميز و يك دكمه OK است . بر روي دكمه OK كليك كنيد ، تا به پيكربندي Apache بپردازيم .
نصب دريم ويور
دريم ويور را يك برنامه نصب استاندارد مكينتاش با ويندوز نصب مي كند . اين برنامه كل پروندهها و دايركتوري (فهرست ) هاي لازم جهت اجراي دريم ويور در هارد درايو ( گردونه سخت ) شما را ايجاد مي كند . همچنين دريم ويور ، برنامه Extension Manager ( مدير توسعه ) ماكرومديا را نيز نصب ميكند . اين برنامه در نصب الحاقات دريم ويور ] كه مي توانيد به طور رايگان آنها را از اينترنت دان لود (پايين گذاري) نماييد . [ به شما كمك ميكند .
الزامات نرم افزاري و سخت افزاري
ويندوز NT /95 مكينتاش
پردازنده pentium II اينتل با power Mac G3 يا نوع بهتري از آن
هم ارز + 166 مگاهرتز 9.2.1 و OSI0.1 OR MacOS9.1
ويندوز 98SE ، ويندوز 2000 MRJ 2.2 ( براي دكمههاي فلش)
ويندوز XP, NT,MeRAM 96 مگابايت (128 مگابايت توصيه شده) 96 مگابايت (128 مگابايت توصيه شده)
128( مگا بايت توصيه شده ) 275 مگا بايت از فضاي ديسك موجود
275 مگابايت از فضاي ديسك (قرص) مانيتور 256 رنگ داراي وضوح 600*800 ( براي وضوح 768*1024 ، ميليونها رنگ توصيه شده است . )
موجود مانيتور (مبصر)256 نت اسكيپ نويگيتور يا اينترنت اكسپلورر 0/4 يا بزرگتر
رنگ داراي وضوح600*800
( براي وضوح 768*1024 ، ميليونها رنگ توصيه شده است )
نت اسكيپ نويگيتور يا اينترنت اكسپلورر 0/4 يا بزرگتر
نصب MYSQL
براي نصب در ويندوز ، باينري ويندوز را از وب سايت MYSQL ، download كنيد . اين باينتري بايد فايلي از نوع zip باشد . پس از اتمام download برنامهاي نظير winzip را براي باز كردن فايل و نصب آن به كار بريد .
براي پيدا كردن دايركتوري كه MYSQL در آن نصب شده است ، از طريق اكسپلور ويندوز در درايو C: جستجو نماييد . با دابل كليك كردن روي mysq.exe قابل اجرا در دا يركتوري ,\mysql\bin سرور شروع به كار مي كند .
در ويندوز ، MYSQL به عنوان يك برنامه سرور اجرا ميشود . بدين معنا كه يك فرآيند پس زمينه هاي است كه منتظر اتصالات كاربر مي ماند . با رفتن به اعلان DOS و تغيير دايركتوري MYSQL و اجراي فرمان mysqladmin shutdown مي توانيد سرور را خاموش كنيد . همچنين از طريق Tasd Manager ( براي مشاهده آن كليدهاي Ctrl ، Alt، Delete را به طور همزمان فشار دهيد ) مي توان اين كار را انجام داد ولي اين روش توصيه نمي شود ، زيرا روش بسيار سختي است .
اگر بخواهيم در ويندوز 95/98 شروع كار سرور MYSQL به طور خودكار با راهاندازي ماشين هم زمان باشد ، فايل mysql. exe ( يا ميانبر آن را) در د ايركتوري Windows Startup قرار دهيد . در ويندوز NT يا 2000 به كنترل پنل برويد و آيكن Services را انتخاب نماييد . در Sernices فايل mysqld را پيدا كنيد . آيتم مورد نظر را براي اين كه به طور خودكار شروع به كارند . انتخاب نماييد .
پيوست ب
كد كامل صفحات وب سايت
فهرست منابع
راهنماي سريع ويژوال php لري يولمن، رضا غفاري، انتشارات ناقوس، چاپ دوم 1383
مرجع كامل PHP4 Professional ، مهرداد تواناا ، سعيد هدايتان، عاطفه شيجوني ، انتشارات روزنه ، چاپ دوم 1383
خودآموز MYSQL در 21 روز، رامين مولاناپور،مؤسسه فرهنگي هنري ديباگران تهران، چاپ اول 1383
خودآموز ماكرومديا، دريم ويور ام ايكس، شيما شويدبار، تريم قاضي، انتشارات سائسي، چاپ اول 1381
سايتهاي مورد استفاده :
http :///php. net
http:///www.phpbuilder.com
http:///www.mysQl.com
http://www.Dream Weawer.com
پيشگفتار
آنچه در تقابل انسان و اطلاعات اهميت مييابد دسترسي سريع به دريايي از اطلاعات جامع و كامل است كه براي نيل به اين مهم نيار يه اخذ تدابيري ميباشد. تا نتيجه مطلوب حاصل گردد.
در اين راستا هدف من از انجام اين پروژه دسترسي ساده و راحت دانشجويان به اطلاعات ابتدايي در رابطه با دروس خود مي باشد.
صد البته طراحي يك وب سايت كامل و بدون عيب و نقص احتياج به زمان طولاني و كسب تجارب زيادي دارد . به همين جهت مرحله كمال مطلوب آن بايد به تدريج و پس از انتقادها و پيشنهادات استادان محترم و خوانندگان محترم به دست آيد . انتظار دارم كه اين بزرگواران مرا راهنمايي كنند .
در خاتمه جاي دارد تا از راهنمايي هاي استاد محترم جناب آقاي مهندس بهداد كه به عنوان استاد راهنما در تمام مراحل انجام اين پروژه مرا صميمانه راهنمايي و هدايت كردند كمال تشكر و قدرداني را بنمايم.
مهسا ترشيزي
تابستان 84
تقديم به مهربانترين مهربانان
پدر و مادر عزيزم
كه وجودشان مظهر عشق و پاكي و بخشندگي است.
با تشكر و سپاس فراوان از
استاد گرامي جناب آقاي مهندس بهداد
فهرست مطالب
چكيده------------------------------------------------------------------------------- 1
فصل اول
مقدمه-------------------------------------------------------------------------- 2
ضرورت انجام پروژه ----------------------------------------------------------- 3
طرح چند سوال---------------------------------------------------------------- 3
اهداف انجام پروژه------------------------------------------------------------ 6
تعريف واژههاي كليد---------------------------------------------------------- 7
فصل دوم
php چيست؟------------------------------------------------------------------ 10
به چه دليل از PHP استفاده مي كنيم؟-------------------------------------- 12
PHP چگونه كار مي كند ؟---------------------------------------------------- 14
مقدمهاي بر mysQl ----------------------------------------------------------- 17
ويژگي هاي اصلي mysQl---------------------------------------------------- 19
مزيت منبع باز بودن------------------------------------------------------------ 21
مقدمه بر Dream weawer---------------------------------------------------- 23
مقدمهاي بر photoshop------------------------------------------------------ 25
خلاصه------------------------------------------------------------------------- 25
فصل سوم
مقدمه-------------------------------------------------------------------------- 26
مروري مختصر بر دستورات php---------------------------------------------- 27
نكاتي در رابطه با پايگاه بانك اطلاعات--------------------------------------- 29
توضيح كلي بر تمام صفحات-------------------------------------------------- 33
بخش اول (كاربر) ------------------------------------------------------------- 35
1ـ1)صفحه اصلي-------------------------------------------------------------- 35
2ـ1) درباره من----------------------------------------------------------------- 36
3ـ1)درس---------------------------------------------------------------------- 37
4ـ1)نمرات--------------------------------------------------------------------- 40
5ـ1) پروژه---------------------------------------------------------------------- 41
6ـ1)تماس--------------------------------------------------------------------- 42
بخش دوم (مديرسايت)------------------------------------------------------- 46
1-2)ورود مدير سايت---------------------------------------------------------- 46
2-2) درباره ما----------------------------------------------------------------- 46
3-2) درخواست---------------------------------------------------------------- 49
4-2) پروژه--------------------------------------------------------------------- 51
5-2)اطلاعات صفحه اول------------------------------------------------------- 53
6-2) درس--------------------------------------------------------------------- 53
7-2) ورود نمرات--------------------------------------------------------------- 56
8-2) منابع و عنوان پروژه------------------------------------------------------ 58
خلاصه ------------------------------------------------------------------------- 59
فصل چهارم
نتيجه گيري و پيشنهادات----------------------------------------------------- 60
پيوست الف (نحوه نصب نرم افزارهاي بكار رفته و پروژه)-------------------------- 61
پيوست ب (كد كامل صفحات وب سايت)------------------------------------------- 69
انسان بايد در هر لحظه تصميم بگيرد ، تصميم براي بهتر شدن و يا سقوط ، تصميم براي اينكه اثر ماندگار او د راين زندگي گذرا چه باشد .
فرانكل
منبع : سايت علمی و پژوهشي آسمان--صفحه اینستاگرام ما را دنبال کنید
اين مطلب در تاريخ: دوشنبه 03 فروردین 1394 ساعت: 13:55 منتشر شده است
برچسب ها : تحقیق درباره ساخت وب سايت شخصي,ساخت وب سايت شخصي,چگونگی ساخت وب سايت شخصي,