چکیده
این پروژه برنامه ساخت یک وب سایت شخصی برای استاد است . که شامل صفحات ایستا و پویای وب می باشد . برنامه نویسی اسیتای آن توسط نرم افزار 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 بسیار اندک می باشد و تغییرات مهم ، عموماً در مسیر اصلاح عملکرد این زبان ، صورت
گرفته اند .
شما برای کسب اطلاعات بیشتر در مورد PHP 4.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 کردن صفحه جدید به سایت
ج) امکان ارتباط بین سایت با سایت دانشگاه های دیگر و تبادل اطلاعات بین دانشجویان عضو سایر دانشجویان عضو سایتهای دیگر .
د) قراردادن اسلاید مربوط به دروس در سایت برای استفاده دانشجویان.
از کسانیکه این پروژه رامطالعه کرده اند خواهشمندم انتقادهاو پیشنهادات خود را با من از طریق آدرس ایمیل زیر در میان بگذارند امیدوارم در کارهای آینده بتوانم از آنها استفاده کنم .
با تشکر
t_mahsa_t@yahoo.com
پیوست الف
نحوه نصب نرم افزارهای بکار رفته در پروژه
نصب فتوشاپ
سخت افزار و نرم افزار مورد نیاز
حداقل سخت افزار و نرم افزار مورد نیاز عبارت است از :
یک دستگاه پنتیوم یا حداقل 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,Me RAM 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 قابل اجرا در دا یرکتوری ,mysqlbin سرور شروع به کار می کند .
در ویندوز ، 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
پیشگفتار
آنچه در تقابل انسان و اطلاعات اهمیت می یابد دسترسی سریع به دریایی از اطلاعات جامع و کامل است که برای نیل به این مهم نیار یه اخذ تدابیری می باشد. تا نتیجه مطلوب حاصل گردد.
در این راستا هدف من از انجام این پروژه دسترسی ساده و راحت دانشجویان به اطلاعات ابتدایی در رابطه با دروس خود می باشد.
صد البته طراحی یک وب سایت کامل و بدون عیب و نقص احتیاج به زمان طولانی و کسب تجارب زیادی دارد . به همین جهت مرحله کمال مطلوب آن باید به تدریج و پس از انتقادها و پیشنهادات استادان محترم و خوانندگان محترم به دست آید . انتظار دارم که این بزرگواران مرا راهنمایی کنند .
تقدیم به مهربانترین مهربانان
پدر و مادر عزیزم
که وجودشان مظهر عشق و پاکی و بخشندگی است.
با تشکر و سپاس فراوان از
استاد گرامی جناب آقای مهندس بهداد
فهرست مطالب
چکیده 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
انسان باید در هر لحظه تصمیم بگیرد ، تصمیم برای بهتر شدن و یا سقوط ، تصمیم برای اینکه اثر ماندگار او د راین زندگی گذرا چه باشد .
فرانکل
2