طراحی سايت دانشگاه

مقدمه
در اين پروژه سعي بر آن داريم كه قسمتي از سايت آموزش دانشگاه را طراحي كنيم. قبل از هر چيز بايد بدانيم چه مطالبي مد نظر مي‌باشد. از ما خواسته شد ضمن طراح صفاتي براي معرفي كلي دانشگاه و قسمتهاي مختلف آن قسمت مربوط به اساتيد دانشگاه كه شامل اساتيد هيئت علمي استاتيد تمام وقت و پاره وقت مي‌باشد را به نحوي كه قابل تفسير،حذف و اضافه باشند را طراحي كنيم. براي اين منظور نياز به آشنايي با يك زبان برنامه نويسي PHP و بانك اطلاعاتي

مربوط به آن مي‌باشد. چون پروژه بصورت Mysosl را انتخاب كرديم كه در فصلهاي بعدي مختصرا دلايبل انتخاب اين نرم افزار را توضيح خواهيم داد. قبل از شروع به كار بايد اطلاعات مورد نياز جمع آوري شود كه در فصل اول به اين موضوع مي‌پردايم و سپس دسته بندي اطلاعات جمع آوري شده و در نهايت شروع به كار مي‌كنيم تا سايت خود را توسط PHP طراحي كنيم. همچنين براي طراحي اين سايت از نرم افزار Dremvever هم استفاده كرده ايم.

فصل اول

مقدمه:
تار جهان گستر (Word wide web) دنياي عجيبي است كه تكنولوژي هاي مربوط به آن، اغلب بدون پشتيباني كافي، عرضه مي‌شوند و كاربران اين تكنولوژي ها، همه روزه با واژگان جديدي بر خورد مي‌كنند، كه باعث سر در گمي آنها مي‌شوند.
براي نمونه مي‌توان به رشد نرم افزارهاي open source اشاره كرد (برنامه هايي كه مي‌توان آنها را گسترش داد و يا تغييراتي در ساختار آنها ايجاد كرد.) متداولترين اين برنامه ها، سيستم عامل Unix، و به طور خاص Linux، مي‌باشد. اين برنامه ها، با وجود ثبات و پايداري و داراي يك مشكل بزرگ مي‌باشند و آن دشوار بودن آموختن اين برنامه ها مي‌باشد. كمبود راهنمايي كه به زبان ساده، اين برنامه ها را به مبتديان آموزش دهد، باعث شده است كه اين دسته از نرم افزارها از جايگاه واقعي خود دور نگاه داشته شوند. PHP، يكي از زبانهاي اسكريپتي open source، ابزار مفيدي مي‌باشد كه تا كنون علي رغم سادگي استفاده از آن، هنوز به طور شايسته از آن استقبال نشده است.
اين كتاب شما را براي آموزش زبان PHP راهنمايي خواهد كرد. به عبارت ديگر نه تنها مقدماتي از اين زبان را به شما ارائه مي‌دهد. بلكه منابعي براي دسترسي به اطلاعات پيشرفته تر را نيز معرفي مي‌كند. با استفاده از اين كتاب شما دانش كافي براي آغاز به كار ايجاد سايت هاي ديناميك وب توسط PHP را كسب مي‌كنيد.
PHP چيست؟
PHP كه در ابتدا در سال ۱۹۹۴ توسط Rasmus Lerdorf ايجاد شد، مخفف واژگان Personal Home Pages به حساب مي‌آمد . با گسترش قابليتها و موارد استفاده اين زبان، PHP در معناي Hypertext Prprocessor به كار گرفته شد. (عبارت پيش پردازشگر Prprocessor بدين معني است كه PHP، اطلاعات را قبل از تبديل به زبان HTML، پردازش مي‌كند.
PHP يك زبان اسكريپتي سمت سرويس دهنده embeded HTML، Cross-Platform، (Server-side)
سمت سرويس دهنده بودن PHP، بدين معناست كه تمام پردازشهاي اين زبان بر روي سرويس دهنده (server) انجام مي‌گيرد. يك سرويس دهنده، در حقيقت يك كامپيوتر مخصوص مي‌باشد كه صفحات وب در آنجا نگهداري مي‌شوند و از آنجا به مرورگر كاربران منتقل مي‌شوند. چگونگي انجام اين روند، در ادامه اين قسمت، توضيح داده مي‌شود (به قسمت PHP چگونه كار مي‌كند؟ مراجعه كنيد)
منظور از Cross-Platform بودن اين زبان، اين است كه بر روي هر سيستم و با هر سيستم عاملي از قبيل O2/2، Macintosh، Windows NT،Unix، اجرا مي‌شود. توجه كنيد كه منظور از اين سيستم عاملهايي مي‌باشند كه بر روي سرويس دهنده نصب مي‌شود. PHP نه تنها قابليت اجرا بر روي هر سيستم عاملي را دارا مي‌باشد، بلكه براي منتقل كردن برنامه هاي آن از يك سيستم عامل به سيستم عامل ديگر احتياج به تغييرات اندكي خواهيد داشت و حتي در بعضي از موارد، بدون احتياج به هيچ تغييري مي‌توانيد، يك برنامه به زبان PHP را از يك سيستم عامل به سيستم عامل ديگر منتقل كنيد.
منظور از HtML embeded بودن PHP اين است كه دستورات اين زبان در بين كدهاي HTML قرار مي‌گيرند. بنابراين برنامه نويسي به زبان PHP كمي پيچيده تر از برنامه نويسي به زبان HTML، به حساب مي‌آيد.
PHP بر خلاف زبانهاي برنامه نويسي (Programming Languages) يك زبان استكريپتي (Scripting Language) مي‌باشد. به عبارت ديگر دستورات PHP بعد از رخداد يك رويداد (event) اجرا مي‌شوند. اين رويدادهاي مي‌توانند شامل ارسال يك فرم، رفتن به يك URL مشخص و يا موارد ديگر باشند. متداولترين زبان اسكريپتي زبان Java Script مي‌باشد كه معمولا براي پاسخ به رويدادهاي كاربر در مرور گر وب، به كار مي‌رود.
تفاوت عمده java Script با PHP در اين است كه java Script يك تكنولوژي سمت سرويس گيرنده (Client-Side) مي‌باشد. زبانهايي مانند java Script يا PHP، تفسير شونده (inteprted) ناميده مي‌شوند. به عبارت ديگر براي اجرا به يك مفسر مانند مرورگر وب احتياج دارند. اما زبانهاي برنامه نويسي مانند C يا Java بعد از ترجمه به زبان ماشين (Compile) به خودي خود قابل اجرا مي‌باشند.

به چه دليلي از PHP استفاده مي‌كنيم؟
PHP در مقايسه با تكنولوژي هاي مشابه براي طراحي يك سايت وب مي‌توان به اين موارد اشاره كرد: اسكريپت هاي (Common Gateway CGI (Interface كه معمولا به زبان Perl نوشته مي‌شوند، (java Script Pages) JSP ، (Active Server Pages) java Script به عنوان يك گزينه جايگزين براي PHP در نظر گرفته نمي شود، زيرا بر خلاف PHP، يك تكنولوژي سمت سرويس گيرنده است و همانند تكنولوژي هايي مانند CGT PHP، نمي تواند يك صفحه HTML را توليد كند
مزيتي كه PHP در مقابل HTML دارد اين است كه HTML يك سيستم محدود به حساب مي‌آيد و توانايي ايجاد ارتباط متقابل با كاربر را ندارد. كاربران هنگامي كه با يك صفحه HTML مواجه مي‌شوند، تنها يك وب صفحه ساده را روبروي خود مشاهده مي‌كنند كه توانايي ايجاد واكنش به اعمال كاربر را ندارد. اما با استفاده از PHP، شما مي‌توانيد صفحاتي را ايجاد كنيد كه براي مثال عناصر موجود در صفحه بر اساس سيستم عامل كاربر و يا تاريخ مشاهده صفحه، تنظيم شوند. همچنين PHP مي‌تواند با فايل ها يا پايگاههاي داده |(Database) ارتباط برقرار كند و بسياري عمليات ديگر كه HTML قادر به انجام به آنها نمي باشد. طراحان صفحات وب، از مدتها پيش به اين نتيجه رسيدند كه اگر در صفحات خود، فقط ار كدهاي HTML استفاده كنند.، بايد به طور مرتب آنرا تغيير دهند و اطلاعات آنرا به روز كنند. به همين علت، تكنولوژي هايي مانند CGI از همان آغاز، طرفداران بسياري پيدا كردند. اين تكنولوژي ها به طراحان اني امكان را مي‌داد كه برنامه هايي ايجاد كنند كه به صورت ديناميك، صفحات وب را توليد كنند. همچنين در هنگام ارتباط با يك پايگاه داده، بدون دخالت هر انساني، صفحات به روز آوري مي‌شدند.
بنابراين، سوالي كه اكنون به ذهن مي‌رسد، اين است كه به چه علت يك طرح صفحات وب بهتر است كه از زبان PHP به جاي زبانهايي مانند JSP، ASP، CGL براي طراحي سايت هاي ديناميك، استفاده كند؟ دليل اول، سرعت بيشتر PHP چه در برنامه نويسي و ايجاد برنامه هايي به اين زبان و چه در اجرا مي‌باشد. همچنين PHP براي يادگيري بسيار ساده مي‌باشد. و افراد بدون نياز به زمينه هاي قبلي در برنامه نويسي و تنها با مطالعه همين يك كتاب، مي‌توانند به زبان PHP اسكريپت نويسي كنند. در مقابل احتياج به دانستن زبانهاي VBScript و CGL (كه. نيازمند زبانهايي مانند Perl يا C مي‌باشد) دارد و هر دو اين زبانها، زبانهاي كاملي هستند كه يادگيري آنها نيز آسان نيست.
دليل دوم اين است كه PHP، به صورت اختصاصي، تنها براي ايجاد صفحات ديناميك طراحي شده است. اما Perl VBScriptو يا Java اينگونه نيستند و به همين علت PHP سريعتر و ساده تر از تكنولوژي هاي جايگزين مي‌باشد.
توجه كنيد كه اين صحبتها هزگز بدين معنا نيست كه PHP يك زبان كاملتر و با بهتري نسبت به Perl ASP Hava و يا CGL مي‌باشد. بلكه ما تنها پيشنهاد مي‌كنيم كه در زمينه هاي خاصي مانند آنچه كه اشاره شد، از PHP استفاده شود.

PHP چگونه كار مي‌كند؟
PHP يك زبان سمت سرويس دهند مي‌باشد و اين بدين معني است كه كدهاي نوشته شده به اين زبان در كامپوتر ميزبان (HOST) صفحات وب قرار مي‌گيرد.
براي مثال، هنگامي كه شما به سايت وب www.DMCinsights com مي‌رويد. Intrent ISP (Service Provider شما درخواست (request) شما را به سرويس دهنده اي كه اطلاعات اين سايت نگهداري مي‌كند، ارسال مي‌كند.
در اين هنگام سرويس دهنده بعد از خواندن كدهاي PHP، آنها را پردازش مي‌كند. براي مثال در اين مورد PHP به سرويس دهنده فرمان مي‌دهد كه اطلاعات يك صفحه وب را به صورت برچسبهاي HTML به مرورگر شما منتقل كند تصوير زير بنابراين، PHP يك صفحه HTML را توليد مي‌كند.
اين نمودار چگونگي ارتباط بين سرويس گيرنده يا كاربر (client)، سرويس دهنده (server) ، مدل PHP را نمايش مي‌دهد. در اين حالت مدل PHP، برنامه اي است كه در سرويس دهنده براي افزايش كارايي آن، قرار گرفته است. تمام تكنولوژي هايي سمت سرويس دهنده (مانند ASP) از چنين مدل طرف ثالثي (tjird- party) براي پردازش اطلاعات و برگرداندن نتايج به سرويس گيرنده، استفاده مي‌كنند.
اين حالت با هنگامي كه صفحه از ابتدا با كدهاي HTML طراحي شده باشد. تفاوت دارد. در حالت دوم، تنها يك درخواست به سرويس دهنده ارسال مي‌شود و سرويس دهنده نيز اطلاعات HTML موجود را به مرورگر كاربر منتقل مي‌كند (تصوير ۴- الف) بنابراين، براي مرورگر كاربر تفاوتي بين home.php، home، html وجود ندارد.
اما تفاوت عمده اي بين اين دو حالت وجود دارد و آن اين است كه در حالت اول صفحه به صورت ديناميك توسط سرويس دهنده توليد شده است و براي مثال مي‌توان اطلاعات متفاوتي را در روزهاي دوشنبه و يا سه شنبه ارائه داد و يا بين حالتي كه كاربر قبلا صفحه را مشاهده كرده باشد و يا نكرده باشد، تفاوت قائل شد. بنابراين، هر آنچه PHPانجام مي‌دهد در همان سمت سرويس دهنده انجام مي‌دهد و سپس اطلاعات مناسب را به سرويس گيرنده منتقل مي‌كند.
اين نمودار، ارتباط مستقيم بين سرويس گيرنده و سرويس دهنده را در هنگام استفاده از صفحات معمولي HTML نشان مي‌دهد. اين نمودار را با نمودار ارائه شده در تصوير ۳- الف مقايسه كنيد. اكنون مي‌توانيد متوجه شويد كه چرا يك صفحه HTML ساده را مي‌توانيد در كامپيوتر خود نيز مشاهده كنيد ولي براي صفحاتي كه به صورت ديناميك توليد مي‌شوند، احتياج به يك سرويس دهنده مي‌باشد.
شما به چه چيزي احتياج داريد؟
مهمترين نياز براي كار با PHP، دسترسي به سرويس دهنده اي مي‌باشد كه PHP يك زبان اسكريپتي سمت دهنده مي‌باشد. نصب PHP بر روي سرويس دهنده خودتان مي‌باشد- معمولا دستگاهي كه بر روي آن Windows و يا Linux به همراه برنامه هاي سرويس دهنده وب (web server) applications نصب شده باشد. براي مثال Apache يك برنامه سرويس دهنده وب رايگان براي Unix و سيستمهاي NT به حساب مي‌آيد. و يا شما مي‌توانيد از personal Web Sharing در Windows استفاده كنيد). براي اين منظور تعدادي برنامه به صورت رايگان در سايت وب www.php.net در اختيار شما قارر داده شده اند.
نيازمندي ديگر براي استفاده از PHP، دسترسي به يك ويرايشگر متن (text editor) مي‌باشد Simple Text، Word pad، Notepad نرم افزارهاي رايگاني هستند. كه احتياجات شما را برآورده مي‌سازند. همچنين نرم افزارهايي مانند Word perfect، BBEdit و يا GOLive نيز براي اين منظور قابل استفاده مي‌باشند.
نيازمندي سوم، دسترسي به روش يا برنامه اي براي انتقال اسكريپت هاي خود به سرويس دهنده مي‌باشد. اگر شما از سرويس دهنده شخصي خود استفاده مي‌كنيد، تنها كافي است كه اسكريپت هاي خود را در شاخه مناسب بر روي سرويس دهنده خود ذخيره كنيد. اما در صورت استفاده از يك سرويس دهنده ديگر، شما احتياج به يك برنامه Flie) FTP Transfer Orotocl براي انتقال اسكريپت ها به سرويس دهنده خواهيد داشت. گزينه ديگر استفاده از telnet از ويرايشگر هايي (editors) مانند Vi و يا Pico براي اسكريپت نويسي مستقيم در دستگاه سرويس دهنده، مي‌باشد.

فصل دوم جمع آوري اطلاعات

الف: قسمتهاي مختلف دانشگاه
پستهاي سازماني
۱- حوزه رياست واحد
× رئيس آقاي دكتر عليرضا منظري توكلي
۱- مسئول دفتر رياست واحد و روابط عمومي درخشان
۲- متصدي روابط عمومي
دفتر فرهنگ اسلامي
۳- مسئول فرهنگ اسلامي آقاي موسوي
۴- كارشناس امور فرهنگ اسلامي (قرآن و عترت خواهران) خانم عليرضايي
۵- كارشناس امور فرهنگ اسلامي( قرآن و عترت برادران) آقاي مرادي
حراست
۶- كارشناس حراست كارشناس حراست
گزينش
۷- محقق گزينش و متصدي امور دفتر و بايگاني آقاي شكوه سلجوقي
۲- حوزه معاونت امور آموزشي
× معاون آقاي عليرضا كاشاني
اداره امور آموزشي
۸- رئيس اداره آموزش كريم پناه
۹- كارشناس امور آموزشي (امتحانات سلجوقي
۱۰- كارشناس امور آموزشي (فني و مهندسي) خانم موسوي
۱۱- كارشناس امور آموزشي (فني و مهندسي) سامان افراسيابي
۱۲- كارشناس امور آموزشي (فني و مهندسي) خانم سلطاني
۱۳-كارشناس امور آموزشي (علوم انساني) ميرزايي
۱۴- كارشناس امور آموزشي (علوم انساني) خانم بني
۱۵- كارشناس امور آموزشي (كشاورزي و دامپروري)
كارگزيني هيات علمي
۱۶- كارگزيني
۳- حوزه معاونت امور دانشجويي
× معاون
اداره امور دانشجويي
۱۷- رئيس اداره
۱۸- كارشناس امور دانشجويي (امور فارغ التحصيلان)
۱۹- كارشناس امور تربيت بدني
۲۰- كارشناس امور دانشجويي (نظام وظيفه و نقل و انتقالات )
۲۱- مسئول امور خوابگاههاي دانشجويان
۲۲- متصدي امور خوابگاهها
۲۳- متصدي امور خوابگاهها
۲۴- متصدي امور خوابگاهها
۴- حوزه معاونت امور پژوهشي
معاون
۲۵ – مسئول سمعي و بصري
۲۶- كارشناس امور پژوهشي (ارتباط با صنعت)
۲۷- كارشناس امور پژوهشي (كارگاه كامپيوتر)
۲۸- كارشناس امور آزمايشگاهها
۲۹- تكنسين امور آزمايشگاه
كتابخانه
۳۰- كارشناس كتابداري (مسئول امور كتابخانه)
۳۱- كارشناس كتابداري
۳۲- كارشناس كتابداري
۳۴- كاردان كتابداري
آمار، اطلاعات، و رايانه
۳۴-مسئول اطلاعات آمار و رايانه
۳۵-كارشناس سخت افزار
۳۶- اپراتور
۵- اداره كل امور فني و عمراني
۳۷- مدير كل
۳۸- كارشناس عمران (اجرا ونظارت)
۳۹- كارشناس عمران (نگهداري و تعمرات)
۴۰- كاردان تاسيسات مكانيكي
۴۱- تكنسين تاسيسات برقي
۶- حوزه معاونت مدارس
* معاون
۷- حوزه معاونت اداري و مالي
*معاون
۴۲- حسابدار (صندوق رفاه دانشجوئي )
اداره امور اداري
۴۳- رئيس
۴۴- كارگزيني (كاركنان)
۴۵- متصدي امور دفتر و بايگاني
۴۶- اپراتور دبيرخانه
۴۷- متصدي تكثير و زيراكس
۴۸-متصدي مهمانسرا
۴۹-كارپرداز
۵۰- كارپرداز
۵۱- انباردار
۵۲- كمك انباردار
۵۳- راننده خودرو سبك
۵۴- راننده خودرو سبك
۵۵- متصدي انتظامات
۵۶- متصدي انتظامات
۵۷- متصدي انتظامات
۵۸- متصدي انتظامات
۵۹- متصدي انتظامات
۶۰- متصدي انتظامات
۶۱- تلفنچي
امور مالي
۶۲- رئيس
۶۳- حسابدار
۶۴-حسابدار (رسيدگي اسناد)
۶۵- حسابدار (امور شهريه)
۶۶- حسابدار (امور شهريه)
۶۷- حسابدار (تنظيم اسناد و صدور سند)
۶۸- حسابدار (تنظيم دفاتر مالي)
۶۹- حسابدار (تنظيم دفاتر مالي)
۷۰- مسئول اموال

۲-۳- اداره امور آموزشي
– مطالعه و اتخاذ در مورد مسائل آموزشي دانشجويان در چهار چوب خط مشي تعيين شده.
– رسيدگي به برنامه هاي آموزشي و ارائه پيشنهادات لازم در مرود تغيير و توسعه آن.
– تهيه آمار دانشجويان رشته هاي مختلف
– تهيه فهرست دانشجويان ممتاز
– انجام امور مربوط به وظيفه عمومي ثبت نام دانشجويان نقل و انتقالات امور امتحانات و صدور گواهي اشتغال به تحصيل
– صدور گواهينامه پايان تحصيلات وريز نمرات و همچنين ايجاد و حفظ سيستم بايگاني صحيح در مورد فارغ التحصيلان
– همكاري در تهيه و تنظيم برنامه واحدهاي درسي و برنامه هاي آموزشي با همكاري دانشكده ها و گروههاي آموزشي ذيربط
– همكاري در امور نشر و چاپ و جزوات واحد و تهيه كاتالوگهاي لازم
– تنظيم گزارشهاي لازم در مورد اجراي مقررات و آئين نامه هاي آموزشي و مصوبات ابلاغ شده
– برنامه ريزي تسهيلات لازم جهت استفاده از كلاسهاي درس با همكاري دانشكده ها و گروههاي آموزشي
– مطالعه و اتخاذ تصميم در مسائل آموزشي دانشجويان از لحاظ پيشرفتهاي علمي
– همكاري و مشاركت در جهت تامين وسايل و امكانات لازم براي تحقيق اهداف پژوهشي دانشگاه
– انجام ساير امور مربوط
– امور دانشجويي تشكيل شده است از
۱- بخش فارغ التحصيلان
۲- تربيت بدني و فوق برنامه و نظام وظيفه
۳- نقل و انتقالات
۴- خوابگاه
۵- سلف سرويس
۶- اياب و ذهاب دانشجويان
مسئوليت بخش فارغ التحصيلان به عهده همكار محترمه خانم كاشاني مي‌باشد تربيت بدني و نظام وظيفه مسئوليتهاي به عهده همكارم آقاي گلزاري ما باشد. نقل و انتقالات و خوابگاه و اياب و ذهاب خودم با همكاري معاونت محترم آموزشي جناب آقاي كاشاني نظارت دارم.