هدف از طراحی این سایت ارتباط استاد و دانشجویان از طریق اینترنت و به شیوه ای ساده به منظور آسان تر شدن فعالیت هایی است که دو طرف در این رابطه انجام می دهند .
در حالت عادی استاد باید تمرین ها را هر جلسه برای دانشجویان طرح کرده، نمرات و برگه های پاسخ دانشجویان را به آن ها تحویل داده و یا عدم حضور خود را از طریق اعلام در بورد دانشگاه اعلام کند و اسلاید های خود را در سایتی دیگر قرار دهد و یا اعتراض ها به نمرات را از طریق پست الکترونیکی دریافت کند که کلیه این کار ها به علت پراکندگی در مکان ها و زمان های مختلف مستلزم صرف وقت زیاد از سوی استاد و دانشجویان است که با طراحی این سایت تمام این فعالیت ها سازمان یافته و به آسانی از اتلاف وقت جلو گیری می کند.
در این سایت استاد می تواند تمامی درس ها مربوط به هر دانشگاهی را تحت پوشش قرار داده و به کارهای خود نظم بیشتری ببخشد.
در ادامه در فصل اول به مروری بر زبان های طراحی سایت می پردازیم .
فصل دوم به نیازمندی های پروژه و مروری بر زبان PHP خواهد پرداخت.
در فصل سوم به بیان چگونگی پیاده سازی سایت استاد و دانشجوپرداخته می شود.
در فصل چهارم به جمع بندی و نتیجه گیری خواهیم پرداخت و در پایان در پیوست ها به معرفی جداول پایگاه داده و DFD های سیستم و مراحل نصب نرم افزار های لازم برای پیاده سازی سایت خواهیم پرداخت.
فصل یکم- مروری بر زبان ها ی طراحی سایت
در این فصل به بررسی انواع صفحات اینترنتی رایج و تکنولوژی تولید آن ها می پردازیم
1-1- صفحات وب ایستا
اساسا یک صفحه با محتوای کد HTML که به طور مستقیم در یک ویرایشگر به عنوان متن، تایپ شده و با پسوند .html یا .htm ذخیره شده را گویند.
بنابراین نویسنده صفحه از قبل، کاملا محتوای دقیق صفحه را (حتی دربرخی مواقع قبل از بازدید کاربرازصفحه) معین کرده است.
صفحات وب ایستا به راحتی با نگاه کردن به محتوای صفحه که شامل متن، تصویر، لینک و… است قابل تشخیص هستند.
صرفنظر از اینکه چه کسی آن را بازدید میکند، ظاهر آنها همیشه یکجور و مشابه است.
چطور صفحه HTML ایستا راهش را به سوی مرورگر مشتری پیدا می کند؟
1.
یک نویسنده وب یک صفحه HTML محض می نویسد و آن را با فایل پسوند .htm روی سرور ذخیره میکند.
2.
زمانی بعد، کاربر درخواست یک صفحه را در مرورگرخود تایپ میکند و درخواست ازمرورگر به سروروب می رود.
3.
سروروب جای صفحه .htm را مشخص میکند و آن را به یک جریان HTMLای تبدیل می کند.
4.
سرور وب جریان HTML را در طول شبکه به مرورگر برگشت میدهد.
5.
مرورگر،HTML را پردازش و صفحه را نمایش میدهد.
باید محتوای فایل های HTML محض و ایستا قبل از درخواست، کاملا مشخص باشد
باید محتوای فایل های HTML محض و ایستا قبل از درخواست، کاملا مشخص باشد.
شکل 1-1 صفحات وب ایستا HTML هیچ موردی برای شخصی کردن صفحات وب ندارد؛ هر صفحه وبی که آماده شد، برای هر کاربری مشابه است.هیچ امنیتی با HTML وجود ندارد.
کد آن برای هر کسی قابل دیدن است و نمی توان از کپی آن جلوگیری کرد.صفحات وب ایستا ممکن است به سرعت کپی یک فایل کوچک از طریق شبکه باشند اما آن ها بدون موارد پویا محدود می شوند.
وب سرور چیست؟
یک قطعه نرم افزار که صفحات وب را مدیریت می کند وآن ها را برای مرورگرهای مشتری از طریق شبکه محلی یا اینترنت آماده می کند؛ در مورد اینترنت، مرورگر وسرور وب، معمولا در دو ماشین متفاوت هستند که ممکن است مایل ها از هم دور باشند.
بهرحال در یک وضعیت محلی تر، ما ممکن است یک ماشین رابه عنوان ماشینی که نرم افزار سرور وب را اجرا می کند، راه اندازی کنیم و سپس از یک مرورگر روی همان ماشین برای نگاه کردن به صفحات وب استفاده کنیم.
تفاوتی بین دستیابی به یک سرور وب دور (سرور وبی که روی یک ماشین متفاوت با مروگر می باشد) و یک سرور محلی (سرور وب ومرورگر روی یک ماشین باشند) وجود ندارد.
درحالیکه عملکرد سرور وب در دسترسی به صفحات وب تغییری نمی کند.
وب سرورهای زیادی موجودند که رایج ترین آنها IIS و Apache است.
IIS تنها وب سروری است کهASP.Net را اجرا خواهد کرد.
1-2- صفحات وب پویا چگونه آماده می شوند؟
دو راه فراهم کردن محتوای پویای صفحات وب عبارتند از: 1-2-1- صفحات وب پویای طرف مشتری دراین مدل ماژول ها یا پلاگین هایی که ایجاد صفحات وب پویا را انجام می دهند به مرورگر اضافه می شوند.
معمولا کد HTML با یک فایل جداگانه (شامل یک سری دستورات که هر کدام از طریق صفحهHTML ارجاع داده می شوند) به مرورگر، فرستاده می شود که بهر حال این دستورات را که با کد HTML مخلوط هستند، پیدا می کند.
سپس مرورگر از آنها برای تولید HTML محض صفحات در زمانیکه که کاربر صفحه را درخواست می کند، استفاده می نماید.
به عبارت دیگر صفحه بطور پویا روی هر درخواست ساخته می شود.
این روند یکHTML محض که به مروگر برگشت داده می شود را تولید می کند.
شش مرحله دراین روش وجود دارد: 1-نویسنده وب یک سری دستورالعمل ها برای ایجادHTML می نویسد و در یک فایل .htm ذخیره می کند نویسنده همچنین دستورات دیگری را به زبانی متفاوت می نویسد که یا در فایل htm.
یا در یک فایل جداگانه ذخیره می شود.
2-زمانی بعد، یک کاربر درخواست یک صفحه را در مرورگر خود تایپ می کند و این درخواست از مرورگر به سرور وب گذر می کند.
3-سرور وب صفحه .htm را تعیین موقعیت می کند و همچنین ممکن است فایل دومی را که شامل دستورات باشد را نیز، تعیین موقعیت کند.
4-سرور وب هردوی این جریان هایHTML ای تولید شده جدید و دستورالعمل ها را در طول شبکه به مروگر می فرستد.
5-یک ماژول در مرورگر دستورات را پردازش می کند و آنها را تنها به عنوان یک صفحه HTMLای در قالب فایل .htm برگشت می دهد حتی اگر دو درخواست صورت گرفته باشد.
6- سپس HTML توسط مرورگری که صفحه را نمایش می دهد پردازش می شود.
شکل 1-2- صفحات وب پویا 1-2-2- صفحات وب پویای طرف سرور با مدل طرف سرور، منابع HTML با یک سری دستورالعمل به هم آمیخته، به طرف سرور وب فرستاده می شود.
دوباره این دستورالعمل ها برای تولید HTML صفحه، در زمانیکه کاربر آن را درخواست می کند استفاده خواهند شد و یکبار دیگر، صفحه بطور پویا در درخواست تولید می شود.
یک وب نویس یکسری دستورالعمل را برای ایجاد صفحه HTMLای می نویسد و این دستورالعمل ها در یک فایل ذخیره می شوند.
سپس، یک کاربر درخواست یک صفحه را در مروگر تایپ می کند و درخواست به سرور وب می رسد.
سرور وب، فایل دستورالعمل ها را تعیین موقعیت می کند.
سرور وب، دستورالعمل ها را با هدف ایجاد جریان HTMLای دنبال می کند.
سرور وب، جریان HTMLای ایجاد شده جدید را در طول شبکه به مرورگر می فرستد.
مرورگر، HTML را پردازش و صفحه را نمایش می دهد.
پردازش قبل از اینکه صفحه به مرورگر برگشت داده شود روی سرور انجام می شود.
یکی از مزایای کلیدی این مدل نسبت به مدل طرف مشتری این است که فقط کد HTML توصیفی برای صفحه پایانی به مرورگر فرستاده می شود به این معنی که منطق صفحه روی سرور مخفی باقی می ماند.
به خوبی می توانیم فرض کنیم که اغلب مرورگرها باید قادر باشند حداقل صفحه را نمایش دهند.
ASP.NET از مدل طرف سرور پیروی می کند.
1-3- مروری بر تکنولوژی ها: 1-3-1- تکنولوژی طرف مشتری برای فراهم کردن محتوای پویا هر کدام از این تکنولوژی ها مبتنی بر یک ماژول یا پلاگین ساخته شده در مرورگر، هستند که دستورالعمل ها را پردازش می کنند.
1- جاوا اسکریپت: زبان اصلی اسکریپت نویسی مرورگر می باشد و نباید با جاوا که زبان برنامه نویسی کاربردی کامل است، اشتباه گرفته شود.
در ابتدا نت اسکیپ یک زبان اسکریپتی که به عنوان لیو اسکریپت شناخته می شد با هدف اضافه کردن محاوره به سرور وب و مرورگر، گسترش داد.
بعداز آن با ملحق شدن به سان نام آن را به جاوا اسکریپت تغییر داد.
جاوا اسکریپت بعضی از نحوها و ساختارهای اساسی را از جاوا می گیرد.
(که آن هم به نوبه خود از C ایده می گیرد.) اما هدف متفاوتی دارد.
برای مثال در حالی که جاوا اسکریپت قدرت کنترل مرورگر و محتوایش را دارد قابلیت کنترل مواردی مثل دستگیره های فایل را ندارد.
در حقیقت به خاطر امنیت، از چنین عواملی جلوگیری می کند.
کمی در موردش فکر کنید: شما نمی خواهید یک صفحه وب قادر به حذف فایل های روی درایو هارد شما باشد.
جاوا نمی تواند مرورگر را به طور کامل کنترل کند اما در زمینه های گرافیک و شبکه و توابع چند نخی کار می کند.
ماکروسافت نسخه جاوا اسکریپت خودش را به عنوان jscript معرفی کرد که در IE3 تا IE5 پشتیبانی می شد ولی تفاوت های جزئی با نت اسکیپ دارد.
در حالی که در نسخه های قبلی تر هر دو مرورگر، تفاوت ها عمیق تر بودند.
2-VBScript: در IE3 ماکروسافت زبان اسکریپتی خود را به نام VBScript که بر مبنای زبان برنامه نویسی ویژوال بیسیک بود معرفی کرد که رقیب مستقیم جاوا اسکریپت بود.
کارکرد این دو زبان تفاوت زیادی نداشت.
مشکل بزرگ آن این بود که هیچ مرورگری جز ماکروسافت آن را برای طرف مشتری پشتیبانی نمی کرد.
برای مدت کوتاهی پلاگین هایی در نت اسکیپ برای پشتیبانی VBScript فراهم شدند.
جاوا اسکریپت پشتیبانی گسترده ای داشت و بیشتر استفاده می شد.
پس اگر می خواهید اسکریپت نویسی طرف مشتری را برای صفحات وب روی اینترنت انجام دهید، جاوا اسکریپت انتخاب شماست.
در حقیقت خود ماکروسافت VBScript را در فریم ورک Net.
با VB.NET جایگزین کرد.
VBScript فقط زمانی که صفحات اینترانت داریم (یعنی در جایی که می دانیم تمامی مشتری ها، IE روی سیستم عامل ویندوز دارند) استفاده می کنیم.
با هر دوی آن ها (جاوا اسکریپت و VBScript) یک ماژول تحت عنوان موتور اسکریپت وجود دارد که به صورت توکار و پیش ساخته به طور پویا دستورالعمل ها یا اسکریپت ها را پردازش می کند.
3-کنترل های اکتیوایکس: یک کنترل اکتیوایکس یک برنامه کامل یا جزء است که به زبانی مثل C++ یا ویژوال بیسیک نوشته شده است.
زمانی که به صفحه وب اضافه می شود یک قطعه مشخص مثل تایمر، احراز هویت مشتری یا دسترسی به بانک را فراهم می کند.
کنترل های اکتیوایکس توسط تگ که حالا جزئی از HTML استاندارد است، به صفحات وب اضافه می شوند.
این کنترل ها زمانی که به صفحه وب اضافه می شوند می توانند توسط مرورگر اجرا شوند.
یک مشکل وجود دارد و آن این است که کنترل اکتیوایکس به وسیله مایکروسافت گسترش داده شده و با وجود سازگاری با HTML استاندارد، روی هیچ مرورگر نت اسکیپ قبل از نسخه 6 (بدون پلاگین های اکتیوایکس) پشتیبانی نمی شود.
بر خلاف VBScript، اکتیوایکس قادر به دستکاری عناصر روی ماشین کاربر مثل فایل ها و رجیستری ویندوز است.
به این علت اغلب یک ریسک امنیتی فرض می شود و حتی توسط فایروال اجازه داده نمی شود.
در نتیجه کنترل های اکتیوایکس در حقیقت هنوز نمی توانند به عنوان یک راه معمول یا بستر متقاطع ایجاد صفحات پویای وب شما فرض شوند.
4- جاوا اپلت: جاوا بستر متقاطع توسعه برنامه های کاربردی است.
جاوا در اوایل 1990 اولین بار در وب به کارآمد که یک جنبش عظیم ایجاد کرد.
کدهای جاوا در شکل اپلت ها اساسا اجزای جادویی هستند که با تگ اپلت می توانند به آسانی در صفحات وب وارد شوند.
جاوا قابلیت های بهتری در حوزه هایی مثل توابع گرافیکی و دستگیره های فایل دارد که این موارد قدرتمند را بدون به مخاطره انداختن امنیت فراهم می کند (به دلیل اجرای اپلت هادر آنچه به عنوان سندباکس شناخته می شود که از دانلود شدن برنامه های مخرب وب برای صدمه به سیستم شما جلوگیری می کند.) جاوا همچنین بانک اطلاعاتی قدرتمندی را ( JDBC) پشتیبانی می کند.
ماکروسافت و نت اسکیپ هر دو پشتیبانی جاوا را به واسطه ماشین مجازی جاوا (JVM) دارند.
تگ استاندارد و غیر استاندارد برای اضافه کردن اپلت های جاوا به صفحه وب استفاده می شوند.
این تگ ها به مرورگر می گویند که یک فایل جاوا را از سرور دانلود کند و آن را با ماشین مجازی جاوای ساخته شده در مرورگر اجرا کند.
البته این قدم اضافی در صفحات وب به معنای صرف زمان کوتاهی برای دانلود اپلت های جاوا می باشد و می تواند حتی با پردازش یکی از آن ها در مرورگر، طولانی تر هم شود.
بنابراین اپلت های کوچک جاوا همانند یک منوی پایین افتادنی یا متحرک سازی، معمول تر است.
1-3-2- تکنولوژی های طرف سرور برای فراهم کردن محتوای پویا هر یک از این تکنولوژی ها تکیه بر الحاق واحدی به سرور وب علاوه بر مرورگر دارند.
در نتیجه فقط HTML و هر اسکریپت طرف مشتری به مرورگر برگشت داده می شود.
به عبارت دیگر هیچ کد طرف سرور برگشت داده نمی شود.
1-واسط گذرگاه مشترک (CGI): یک مکانیزم ایجاد اسکریپت ها روی سرور است که می تواند برای ایجاد برنامه های کاربردی وب استفاده شود.
CGI یک ماژول است که به وب سرور اضافه می شود.
تاکنون کسر وسیعی از صفحات وب با استفاده از CGI و یک زبان اسکریپتی ساخته شدند.
نادرست است که فکر کنیم CGI کاری مشابه ASP و ASP.NET انجام می دهد.
البته CGI به کاربر اجازه می دهد که برنامه دیگری را مثل یک اسکریپت پرل روی سرور وب برای ایجاد صفحه وب پویا فراخوانی کند و نقش CGI گذر دادن داده های فراهم شده کاربر به برنامه برای پردازش است.
به هر حال نتیجه نهایی، یک برنامه وب پویاست.
شما باید بدانید که CGI کاستی های جدی دارد: 1- برای یک مبتدی یادگیری برنامه نویسی ماژول ها ساده نیست.
2- CGI به منابع زیادی از سرور به خصوص در حالت چند کاربره نیاز دارد.
CGI یک قدم اضافی را در مدل طرف سرور برای ایجاد محتوای پویا اضافه می کند و آن اجرای یک برنامه CGI برای ایجاد صفحه پویا قبل از پردازش صفحه روی سرور وب است.
فرمت داده های فرستاده شده و دریافت شده در CGI به معنی این است که به آسانی به وسیله زبان های برنامه نویسی زیادی دستکاری نمی شوند.
همچنین نیاز به یکی از امکانات خوب برای دستکاری متن و ارتباط با دیگر نرم افزارها دارید.
قدرتمندترین زبان های برنامه سازی که می توانند روی هر سیستم عاملی کار کنند C، C++ و پرل هستند در حالی که به اندازه کافی قدرتمند هستند، برای یادگیری پیچیده اند.
ویژوال بیسیک به اندازه کافی توانایی های اداره کردن متن ها را ندارد و بنابراین به ندرت با CGI استفاده می شود.
با وجود این CGI هنوز برای وب سایت های بزرگ به ویژه آنهایی که در سیستم عامل یونیکس اجرا می شوند خیلی عمومی است.
2-ASP: صفحه سروری فعال که امروزه ASP کلاسیک نامیده می شود.
ASP معمولا تکیه بر زبان های اسکریپتی جاوا اسکریپت و VB اسکریپت دارد.
اگر چه برای هر زبان اسکریپتی نصب شده روی ویندوز مثل اسکریپت پرل هم استفاده می شود.
ASP یک ماژول (فایل ASP.dll) است که شما آن را به سرور وب خود الحاق می کنید و سپس جاوا اسکریپت یا VBScript را روی سرور وب پردازش می کند و آن ها را به HTML برمی گرداند.
قبل از فرستادن آن به سرور به طور نسبی روی مرورگر انجام می شود.
ASP به ما اجازه استفاده از هر تابع عملی فراهم شده توسط ویندوز را می دهد.
مثل دسترسی به بانک اطلاعاتی، آدرس پست الکترونیکی، گرافیک، شبکه و توابع سیستمی.
به هر حال میانبرهای ASP کارایی خیلی خیلی پایینی دارند (کند هستند) و همچنین محدود به استفاده از زبان های اسکریپتی اند.
ثانیا زبان های اسکریپتی تعداد زیادی میانبر که باعث کندتر شدن می شوند، دارند.
برخی از این میانبرها باعث کندتر شدن و پیچیده تر شدن بیش از آن حد که لازم است شده است.
درASP.NET بسیاری از این مشکلات با تولید کدهای ساخت یافته، قابل فهم تر و کوتاه تر اصلاح شده است.
3-JSP (صفحه های سرور جاوا): تکنولوژی ای است که اجازه ترکیب HTML یا XML را با کد جاوا برای تولید صفحه های پویا می دهد.
مشخصه JSP به وسیله چندین سرور جاوا پیاده سازی می شود و در مقابل، ASP فقط تحت IIS پشتیبانی می شود.
مزیت اصلی JSP قابلیت عمل بین سرورهای مختلف است.
JSP قدرتمندتر و سریع تر از ASP است و برای برنامه نویسان جاوا آشنا است.
4-PHP: زبان اسکریپتی دیگری برای ایجاد صفحه های وب پویاست.
زمانی که بیننده صفحه را باز می کند سرور فرمان های PHP را پردازش می کند و سپس نتایج را به مرورگر بیننده می فرستد درست مثل ASP.NET.
ولی بر خلاف آن php متن باز است وPHP روی ویندوزNT و بسیاری از نسخه های یونیکس اجرا می شود.
نحوPHP شبیه C و پرل است.
5- ASP.NET: ASP.NET تکیه بر الحاق ماژول به سرور وب دارد.
ماژول ASP.NET (که فایل فیزیکی با نام asp.net-isapi.dll است) همه کارها را خودش انجام نمی دهد.
برخی از آن ها را به فرم ورک NET.
برای پردازش، گذر می دهد.
پس با توجه به توضیحات بالا ASP.NET یک فن آوری طرف سرور قدرتمند و جدید برای ایجاد صفحه های وب می باشد.
فصل دوم- نیازمندی های پروژه برای طراحی چنین سایت هایی که به صورت پویا می باشند از زبان ها و پایگاه های داده مختلفی می توان استفاده کرد .
اما ما برای طراحی این پروژه از زبان PHP کمک گرفته ایم برای این که بتوانیم از زبان PHP استفاده کنیم نیازمند نصب یک سری از نرم افزار ها بر روی سیستم هستیم.
2-1- نیازمندی های کار با PHP : نرم افزار های سرویس دهنده مانندIIS یا Apache نرم افزار PHP سیستم مدیریت بانک اطلاعاتی رابطه ای مانند Mysql SQL Server یا اورکل.
ویراستار متنی مانند Notepad یا Power Designer یا Zend و..
برای استفاده از PHP این نرم افزار ها انتخاب شده است: سرویس دهنده ی Apache : برای آشنایی با طریقه نصب و کار با این نرم افزار به پیوست مراجعه فرمایید.
PHP استفاده شده برای این سیستم ورژن 4.3.0 است که برای پیاده سازی سیستم ما مناسب وکافی است.لازم به ذکر است که تفاوت های ورژن4 و 5 نرم افزار PHP ناشی از پشتیبانی از مفاهیمی چون در استثنا گردانی و پشتیبانی از جلسه برای اشیا در PHP ورژن 5 و عدم پشیبانی از این مفاهیم در PHP ورژن 4 است..این نرم افزار به صورت رایگان از سایت www.php.net قابل دریافت است.
برای آشنایی با نصب این نرم افزار به پیوست مراجعه فرمایید سیستم مدیریت بانک اطلاعاتی رابطه ای این پروژه Mysql انتخاب شده است.
یکی از دلایل آن ارتباط ساده PHP با Mysql است .
و این که این زبان از دستورات SQL پشتیبانی می کند وهمچنین این نرم افزار متن باز و رایگان بوده و از سایت www.mysql.com قابل دریافت است بدین منظور نرم افزار MySQL- Front که ازMySQl پشتیبانی می کند وVisual بوده و نیازی به کد نویسی برای کار با پایگاه داده ندارد برای این پیاده سازی این سیستم استفاده شده است.
برای آشنایی با نحوه نصب ابن نرم افزار به پیوست پنجم مراجعه فرمایید.
ویراستاری که برای نوشتن کد این سیستم انتخاب شده است ویراستار Zend می باشد این ویراستار کد نویسی را بسیار آسان کرده است به گونه ای که با وارد کردن چند حرف از کد مورد نظر این ویراستار لیستی از توابع یا علایم را که با این حروف آغاز می شوند نمایش داده و همچنین پارامتر های توابع PHP را یاد آور می شود.
همچنین این ویراستار شامل Debug با استفاده از مفسر کد PHP و معرفی تگ های HTML و ..
می باشد.
یکی از معایب این ویراستار عدم پشتیبانی ازحروف فارسی است بنابراین در صورت استفاده حروف فارسی در کد خود باید آخرین مرحله از کد نوشته شده ی خود دراین ویراستار را به Notepad انتقال داده درآن جا حروف فارسی را جایگزین کرده و در مرحله ی ذخیره فایل به صورت PHP در قسمت نام فایل .php را اضافه کرده و در مورد گزینه ی save as type گزینه ی all files را انتخاب کرده و در مرحله ی آخر برای گزینه ی encoding , utf-8 را انتخاب می کنیم.
نصب این نرم افزار آسان بوده و تنها نکته مهم انتخاب ورژنی از PHP ای است که در طراحی سایت استفاده شده است.
و چون PHP استفاده شده ورژن 4.3 است گزینه ی 4.x انتخاب می شود شکل 2-1-تعیین ورژن PHP برای نصب ویراستار Zend 2-2- دستورات مهم زبان PHP و HTML وSQL بعد از معرفی نیاز های کار با نرم افزار PHP در این جا به معرفی زبان PHP و HTML که در این سایت استفاده شده و نیاز به توضیحات بیشتر دارد می پردازیم و از توضیح نسبت به دستورات ساده تر خودداری می کنیم برای آشنایی با کلیه دستورات می توانید به منابع ذکر شده در بخش منابع و مراجع مراجعه فرمایید 2-2-1- شیوه نامه شیوه نامه ابزاری برای صفحه آرایی و قالب بندی صفحات وب می باشد .
شیوه نامه ها توسط موسسه w3c پذیرفته شده و اولین نسخه آن به نام css1 و نسخه بعدی آن به نام css2 ارائه شده اند.
یکی از انواع شیوه نامه ها شیوه نامه خارجی می باشد که حاوی مشخصات شیوه نامه برای دستورات و کلاس های HTML است.
پسوند این فایل ها .css است.
برای استفاده از شیوه نامه و برای صفحه آرایی یک صفحه مراحل زیر را انجام می دهیم.
ابتدا یک فایل متنی با پسوند .css که حاوی شیوه نامه است ایجاد می کنیم.
سپس در فایلی که می خواهیم خواص شیوه نامه را داشته باشد دستور زیر را قرار می دهیم .
" type=" text/css " rel=" stylesheet "> فایل شیوه نامه از طریق کلمه classیین تگی یا دستوری که می خواهیم بر روی آن تغییرات را انجام دهیم وکلاسی از شیوه نامه ارتباط برقرار می کنیم.
به عنوان مثال کد زیر را در نظر بگیرید: id password خروجی آن بدین صورت است: شکل 2-2- فرم بدون شیوه نامه حال قطعه کد اصلاح شده ی زیر را در نظر بگیرید که در آن مفاهیم شیوه نامه در نظر گرفته شده است id password در صورتی که شیوه نامه به صورت زیر باشد .editbox { background : #000033; border : 1 solid #405088; } .button { background : #405088; border : 1 solid #000000; width :50px; color : white; font-weight : bold; } .font { font-size:17; font-family: heltavica; font-weight: bolder; } خروجی به صورت زیر می شود: شکل2-3- فرم با شیوه نامه 2-2-2- دستوراتSQL SQL یک زبان ساخت یافته است که برای دستیابی به سیستم های مدیریت بانک اطلاعاتی به کار می رود .
SQL برای ذخیره داده ها در بانک اطلاعاتی و بازیابی آن ها استفاده می شود.
دستورات sql در بانک اطلاعاتیMySQL قابل استفاده است.
دستورات SQL بسیار متنوع می باشند اما پرکاربردترین آن ها به شرح زیر می باشند.
وارد کردن اطلاعات در جدول Insert into tablename[(column1, column2, column3, ….)] values (value1, value2, value3, …); که tablename نام جدول و column نام ستون های جدول است و value مقادیر این ستون ها می باشد بازیابی داده ها از جدول Select item from tablename Where condition order by order_type (desc or asc) Group by group_type; Tablename نام جدول و items ستون ها یا فیلد هایی است که قصد بازیابی آن ها را داریم و condition شرطی است که برای رکوردها (یا ستون ها و فیلد هایی خاص از ستون هایا items ای خاص از یک رکورد ) می گذاریم .
Order by باعث مرتب سازی رکورد های نتیجه بر حسب order_type (ستونی از جدول)که به صورت پیش فرض و یا انتخاب asc به صورت صعودی و با انتخاب desc به صورت نزولی می باشد می شود.
Group by باعث دسته بندی رکورد ها بر حسب group_type می شود دسته بندی و جمع بندی داده ها باعث می شود خصوصیت خاصی از ستون ها یا رکورد ها را محاسبه کنیم.
Avg(column) باعث محاسبه میانگین مقادیر یک ستون می شود.
Count(*) تمام سطر ها را می شمارد.
Count(items) تعداد مقادیر غیر صفر را در ستون مشخص شده می شمارد.
Count(items) distinct تعداد مقادیر مجزا را مشخص می کند.
Min(column) کوچک ترین مقدار یک ستون را مشخص می کند.
Max(column) بزرگترین مقدار یک ستون را مشخص می کند.
Sum (column) مجموع مقادیر ستون را مشخص می کند.
به هنگام سازی رکورد ها برای تغییر در داده های جدول از این دستور استفاده می شود Update tablename Set column1=exp1, column2=exp2, …..
[where condition] tablename نام جدولی است که می خواهیم روی آن بهنگام سازی را اجرا کنیم Column ها نام ستون هایی است که می خواهیم مقادیر آن ها را عوض کنیم و مقادیر جدید آن ها exp ها هستند Condition شرط است و رکورد هایی را مشخص می کند که می خواهیم روی آن ها تغییرات انجام دهیم.
حذف رکورد ها ا ز بانک اطلاعاتی Delete from tablename [where condition] کل ستون های رکورد هایی از جدول را که دارای خاصیت condition(که بر روی ستون ها گذاشته می شود)هستند را حذف می کند.
در پایا ن مثالی که کاربرد دستورات گفته شده در بالا را نشان می دهد ارائه می کنیم ابتدا باید یک پایگاه داده جدید ساخت.
برای این کار mysql-front را باز کرده و در slidebar مربوط به Navigator روی localhost کلیک راست کرده و new database را انتخاب می کنیم.
شکل2-4- ایجاد پایگاه داده جدید در MySQL-Front و نام test را برای آن انتخاب می کنیم شکل2-5- نام گذاری پایگاه داده در MySQL-Front سپس بر روی data base جدید ساخته شده کلیک راست می کنیم و new table را انتخاب می کنیم شکل2-6- ایجاد جدول جدید در MySQL-Front و برای این جدول نام mytable را انتخاب می کنیم شکل 2-7- نام گذاری جدول جدید در MySQL-Front سپس بر روی این جدول کلیک راست کرده وnew field را انتخاب می کنیم شکل2-8- ایجاد فیلد جدید در MySQL-Front و برای فیلد نام انتخاب کرده و نوع آن را مشخص می کنیم شکل2-9-تعیین مشخصات فیلد در MySQL-Front برای این مثال فیلد های زیر را می سازیم Auther از نوع char(20) و price از نوع int(4) و title از نوع .char(20) برای وارد کردن اطلاعات به جدول mytable از کدهای ذکر شده در دستورات SQL استفاده می کنیم کد ها را در قسمت sql editorوارد می کنیم دستورات زیر رکورد هایی را به جدول mytable اضافه می کند insert into auther (auther,title,price) values (‘sepidnam’,’digital design’,’3000’), (‘sepidnam’,’digital design 2’,’5000’), (‘jafarnejad’,’php’,’5500’), (‘jafarnejad’,’asp.net’,’3500’); شکل 2-10- نوشتن کد در MySQL-Front و سپس منوی database را انتخاب می کنیم و گزینه ی run را انتخاب می کنیم تا query ذکر شده روی جدول انجام گیرد شکل 2-11- اجرای کد در MySQL-Front بعد از اجرای query تغییرات در جدول صو.رت می گیرد .
برای مشاهده رکورد ها بر روی دکمه data browser کلیک می کنیم شکل 2- 12- مشاهده وضعیت داده های جدول در MySQL-Front بعد از ثبت رکورد می توانیم از جدول گزارش بگیریم دستورات زیر میانگین قیمت های کتاب های هر استاد را به صورت نزولی بر حسب نام خانوادگی مولف چاپ می کند Select avg(price) from mytable group by auther order by desc شکل 2-13 – پرس و جو از پایگاه داده و مشاهده نتایج در MySQL-Front ارتباط PHP با MySQL همان طور که در ویژگی های PHP اشاره شد یکی از ویژگی های PHP ارتباط آن با پایگاه داده های مختلف (در طراحی این سایت MySQL ) می باشد.
بنابراین در این جا به مهم ترین و پرکاربر دترین دستورات در طراحی این سایت اشاره می شود برای توضیحات بیشتر می توانید به کتاب های ذکر شده در بخش مراجع مراجعه فرمایید.
اتصالPHP به سرویس دهنده یMySQL برای ارتباط با سرویس دهنده ی MySQL کافی است از دستور زیر استفاده کنید $db=Mysql_connect(‘host’,’username’,’password’); که host نام سرویس دهنده ی MySQL است .
در این جا با نصب Apache برای اجرای برنامه های روی همین رایانه به جای host کلمه ی localhost وارد شده است.
Username و password در این جا username و password های تعریف شده در apache می باشند که یا به صورت پیش فرض وجود دارند یا توسط شما ایجاد شده اند.
در صورت استفاده از یک host بر روی اینترنت بعد از خرید host مقادیر username و password برای ارتباط با mysql در اختیار شما قرار می گیرد.
انتخاب بانک اطلاعاتی مناسب بعد از اتصال با MySQL مورد نظرهر گاه که بخواهید از یک پایگاه داده واقع در آن استفاده کنید از این دستور استفاده می کنیم.
Mysql_select_db(‘dbname’); که dbname نام پایگاه داده مورد نظر است.
انجام تقاضا از بانک اطلاعاتی برای انجام تقاضا از بانک اطلاعات کافی است ارتباط با MySQL و پایگاه داده مورد نظر را برقرار کنید و به صورت زیر تقاضایتان را بیان کنید $query=query tring; Query string ها به زبان sql نوشته می شود این دستور ها در بخش دستورات sql توضیح داده شده اند برای اجرای یک query تعریف شده از این دستور استفاده می کنیم $result=mysql_query($query); این دستور query را اجرا کرده و نتایج آن را در متغیر $result می ریزد بازیابی نتایج تقاضا بعد از اجرای query و ذخیره نتیجه آن تیازمند بازیابی نتیجه آن خواهیم بود یکی از بهترین و آسان ترین روش ها برای بازیابی داده ها روش زیر است $num=mysql_num_rows($result); For ($i=0;$i { $row=mysql_fetch_row($result); Echo $row[0]; ?> } در خط اول تعداد رکورد های بازیابی شده شمرده می شود در خط دوم حلقه ای با تعداد دفعات اجرای $num (تعداد رکورد ها ) تعریف می شود در خط چهارم هر بار یکی از رکورد ها استخراج می شود و مقدار هر ستون از این رکورد به عنصری از آرایه ی $row ریخته می شود به طوری که عنصر اول آرایه ی $row ($row[0]) مقدار اولین ستون پرسیده شده در دستور select را دارد این وضعیت برای تمام ستون های پرسیده شده در دستور select ادامه دارد در دستورات بعد مقادیر اولین و دومین ستون پرسیده شده چاپ می شود بستن اتصال پس از این که کارتان با بانک اطلاعاتی تمام شد باید اتصال با سرویس دهنده را قطع کنید برای این منظور از mysql_close() استفاده می کنیم Mysql_close($db); 2-2-3- کادر های کنترلی یکی دیگر از موارد پر کاربرد در طراحی این سایت استفاده از کادر های کنترلی است وقتی یک کادر کنترلی تیک خورده باشد یعنی آن گزینه انتخاب شده است نکته مهم در مورد کادر های کنترلی امکان انتخاب چند گزینه در یک زمان است برای تعریف یک کادر کنترلی از دستور زیر استفاده می کنیم یک مثال کاربردی برای کادر کنترلی به صورت زیر است: فرض کنید می خواهید اسکریپتی را برای تعدادی از دانشجویان با انتخاب دانشجویان ار لیست انجام دهید قطعه کد 1.php را در نظر بگیرید for ($i=0;$i { ?> "> }?> حلقه for لیستی از دانشجویان را می سازد(به عنوان مثال شماره دانشجویان i$) و برای هر دانشجو کادر کنترلی با نام خاص اختصاص می یابد (a[ ] که برای دانشجوی اول عنصر اول این آرایه و برای دانشجوی دوم عنصر دوم و...) و مقدار هر کدام از این کادر های کنترلی (عناصر ) به وسیله ی value مشخص می شود .