دانلود ‫پروژه رای گیری الکترونیکی

Word 1 MB 18521 67
مشخص نشده مشخص نشده کامپیوتر - IT
قیمت قدیم:۳۰,۰۰۰ تومان
قیمت: ۲۴,۸۰۰ تومان
دانلود فایل
  • بخشی از محتوا
  • وضعیت فهرست و منابع
  • تار جهان گستر (Word Wide Web) دنیای عجیبی است که تکنولوژی های مربوط به آن ، اغلب بدون پشتیبانی کافی ، عرضه می شوند و کاربران این تکنولوژی ها ، همه روزه با واژگان جدیدی برخورد می کنند که باعث سر درگمی آنها می شوند.
    برای نمونه می توان به رشد برنامه های Open Source اشاره کرد ( برنامه هائی که می توان آنها را گسترش داد و یا تغییراتی در ساختار آنها ایجاد نمود) متداول ترین این برنامه ها ، سیستم عامل یونیکس و به طور خاص لینکوس می باشد .

    این برنامه ها با وجود پایداری ، دارای یک مشکل بزرگ می باشند و آن دشوار بودن آموختن این برنامه ها می باشد.

    کمبود راهنمائی هایی که به زبان ساده ، این برنامه ها را به مبتدیان آموزش دهد .

    باعث شده است که این دسته از نرم افزارها از جایگاه واقعی خود دور نگاه داشته شوند.

    Php یکی از زبانهای اسکریپتی Open Source ، ابزاری مفید می باشد که تاکنون علی رغم سادگی استفاده از آن هنوز به طور شایسته از آن استقبال نشده است.

    Php چیست :
    پی اچ پی که در ابتدای سال 1994 توسط Rasmus Lerdorf ایجاد شد ، مخفف واژگان Personal Home Page به حساب می آمد.
    با گسترش قابلیتها و موارد استفاده از این زبان Php در معنای Hypertext Preprocessor به کار گرفته
    می شود.

    این بدان معنا است که پی اچ پی ، اطللاعات را قبل از تبدیل به زمان html پردازش می کند.

    مطابق سایت وب رسمی پی اچ پی که در آدرس www.php.net قرار دارد ، پی اچ پی یک زبان اسکریپتی سمت سرویس دهنده می باشد.
    سمت سرویس دهنده بودن به این معنا است که تمام پردازشهای این زبان بر روی سرویس دهنده (سرور) انجام می گیرد.

    یک سرویس دهنده در حقیقت یک کامپیوتر مخصوص می باشد که صفحات وب در آنجا نگهداری
    می شوند .


    این زبان بر روی هر سیستم عاملی قابل اجرا است.

    منظور از این سیستم عاملهایی می باشد که برروی سرویس دهنده نصب می شوند.

    پی اچ پی نه تنها قابلیت اجرا بر روی هر سیستم عاملی را می باشد، بلکه برای منتقل کردن برنامه های که از آن یک سیستم عامل به سیستم عامل دیگر ، احتیاج به تغییرات اندکی خواهید داشت و حتی در بعضی از موارد ، بدون احتیاج به هیچ تغییری می توانید ، یک برنامه را با زبان پی اچ پی از یک سیستم عامل به سیستم عامل دیگر منتقل کنید.
    پی اچ پی برخلاف زبانهای برنامه نویسی (Programming Languages) یک زبان اسکریپتی (Scripting Languages) می باشد .

    به عبارت دیگر دستورات پی اچ پی بعد از رخداد یک رویداد (event) اجرا می شوند.

    این رویدادها می توانند شامل ارسال یک فرم ، رفتن به یک url مشخص و یا موارد دیگر باشد.

    متداولترین زبان اسکریپتی زبان جاوا اسکریپت می باشد که معولا برای پاسخ به رویدادهای کاربر در مرورگر وب ، به کار می رود.

    تفاوت عمده جاوااسکریپت و پی اچ پی دراین است که جاوا یک تکنولوژی سمت سرویس گیرنده است .

    زبانهائی مانند جاوا و پی اچ پی تفسیر شونده نامیده می شوند.

    به عبارت دیگر برای اجرا به یک مفسر مانند مرورگر وب نیاز است.

    اما زبانهای برنامه نویسی مانند c و یا java بعد از ترجمه به زبان ماشین به خودی خود قابل اجرا می باشند.



    به چه دلیل از Php استفاده می کنیم؟
    پی اچ پی در مقایسه با تکنولوژی های مشابه ، سریعتر و بهتر و آسانتر است .

    از جمله تکنولوژی های مشابه برای طراحی یک سایت وب می توان به این موارد اشاره کرد
    اسکریپت هایInterface Common Gatway که معمولا به زبان Perl نوشته می شوند ، ASP(Active Server Page ) و JSP (Java Server Page) جاوا اسکریپت یک گزینه جایگزین برای پی اچ پی در نظر گرفته نمی شوند.

    زیرا بر خلاف پی اچ پی ، یک تکنولوژی سمت سرویس گیرنده است و همانند تکنولوژهایی مانند CGT و PHP، نمی تواند یک صفحه HTML را تولید کند.
    مزیتی که چی اچ پی در مقابل html دارد این است که html یک سیستم محدود به حساب می آید و توانائی ایجاد ارتباط متقابل با کاربر را ندارد .

    کاربران هنگامی که با یک صفحه html مواجه می شوند ، تنها یک صفحه ساده را روبروی خود مشاهده می کنند که توانائی ایجاد واکنش به اعمال کاربر را ندارد.

    اما با استفاده از پی اچ پی ،
    شما می توانید صفحاتی را ایجاد کنید که برای مثال عناصر موجود در صفحه براساس سیستم عامل کاربر و یا تاریخ مشاهده صفحه ، تنظیم شوند.

    همچنین پی اچ پی می تواند با فایل ها یا پایگاههای داده (Database) ارتباط برقرار کند و بسیاری عملیات دیگر که html قادر به انجام آنها نمی باشد.
    طراحان صفحات وب از مدتها پیش به این نتیجه رسیدند که اگر در صفحات خود ، فقط از کدهای html استفاده کنند ، باید به طور مرتب آنرا تغییر دهند و اطلاعات آنرا به روز کنند .

    به همین علت تکنولوژهائی مانند CGI از همان آغاز ، طرفداران بسیاری پیدا کردند.

    این تکنولوژی ها به طراحان این امکان را می دهد که برنامه هایی ایجاد کنند که به صورت داینامیک ، صفحات وب را تولید کنند.

    همچنین در هنگام ارتباط با یک پایگاه داده بدون دخالت هر انسانی ، صفحات به روز آوری شوند.
    به عنوان آخرین مطلب در مورد برتریهای پی اچ پی تنها به ذکر این مطلب بسنده که هم اکنون نزدیک به سه میلیون از سایتهای وب از تکنولوژی پی اچ پی استفاده می کنند.


















    چکیده از پروژه :
     سیستم وجود فایلSalman.php را تست خواهد کرد و در صورت وجود آن را باز خواهد کرد و در غیر اینصورت برنامه متوقف میشود اینکار توسط در فایل class.php ،تابع CheckFileConfig انجام میشود.
     برنامه به بانک اطلاعاتی وصل خواهد شد ودرصورت وجود خطا برنامه متوقف میشود وبه شما خطا خواهد داد، همین طور برای انتخاب بانک اطلاعاتی این کار توسط تابع connect در فایل class.php انجام می شود.
     در اینجا فایل farsi.php باز خواهد شد و زبان را اجرا می کند و در صورتی که در برنامه متنی مانند متن خود پیدا کند آن را جایگزین خواهد کرد.
     در صورت بر نخوردن به هیچ خطایی برنامه login.php را اجرا می کند و کاربر با کلیک بر رویه register می تواند ثبت نام کند و در صورت کلیک بر رویه login وارد بخش مورد نظر شود
     در صورتی که کاربر بر رویه register کلیک کند می تواند ثبت نام شود ، در صورتی که نام کاربری که وارد که در بانک اطلاعاتی وجود داشته باشد برنامه به کاربر خطا می دهد و اطلاعات کاربر به بانک نخواهد رفت
     در صورت ورود Password و یکسان نبودن دو فیلد با هم کاربر خطا میدهد و اطلاعات وارد بانک نمی شود
     در صورت درست بودن اطلاعات ، تمامی اطلاعات به بانک اطلاعاتی خواهد رفت و صفحه login.php اجرا می شود و کاربر می تواند وارد سیستم شود اگر سطح دسترسی 1 باشد یک سره به بخش مدیریت خواهد رفت و در صورت سطح دسترسی 0 به قسمت رای گیری خواهد رفت
     در صورت بودن اطلاعات غلط برنامه وارد نمی شود و به کاربر خطا می دهد
     مدیر می تواند کاندید اضافه کند ، پاک کند ، تعداد رای به هر کاندید را ببیند ، و آن را ویرایش کند
     در صورت وارد نکردن فیلد نام کاندید به مدیر اخطار داده می شود و اطلاعات ثبت نمی شود
     در صورت کلیک بر روی خروج ، از برنامه خارج خواهد شد و دیگر تا با وارد کردن بار دیگر اطلاعات نمی تواند وارد برنامه شود


     در صورتی که اطلاعات وارد شده با سطح دسترسی 0 باشد کاربر وارد بخش رای گیری می شود
     با انتخاب کاندید مورد نظر و زدن کلیک Submit رای به بانک می رود ، همین طور Ip و یک Cookie ایجاد می شود تا از رای دوباره جلو گیری شود.
     در قسمت نمایش آرا کاربر می تواند تعداد رای به هر کاندید را مشاهده کند در صد رأی هر کاندید به صورت عددی و گرافیکی
    در قسمت نمایش آرا کاربر می تواند تعداد رای به هر کاندید را مشاهده کند در صد رأی هر کاندید به صورت عددی و گرافیکی =================================================================================== PHP Code: salman $config_userDB $config_passDB $config_database ?> config_userDB $= نام کاربری که شما برای دیتابیس خود ایجاد کرده اید.

    config_passDB$ = پسورد که شما برای نام کاربری تعیین کرده اید.

    config_database $ = نام دیتابیسی که ایجاد کرده اید.

    =================================================================================== کلاسها (Classes) یک کلاس تعریف یا نمای یک نوع خاص داده است و کلاسها به عنوان روشی برای حالت دادن به تمام انواع تفاوت اشیاء و سیستم شما عمل می‌کنند .

    هنگامی که می‌خواهیم یک شیء جدید را تعریف کنیم ، ابتدا از کلمه کلیدی class برای تعریف آن ، پیش از استفاده از آن در اسکریپت‌های PHP خود استفاده می‌کنیم .

    تفاوت واضح یک کلاس و یک شیء این است که کلاس‌ها اشیایی را تعریف می‌کنند که در برنامه‌هایمان به کار می‌بریم .

    پیش از آن که درباره روش ساخت یک کلاس صحبت کنیم ، می‌خواهیم شروع به تأمل کنید که یک کلاس نمایشی از یک ایده است .

    مهم است که هنگامی که کلاس‌های خودتان را طراحی می‌کنید .

    آنها یک هدف را دنبال کنند و تمامی رفتاری را که از آن ایده انتظار می‌رفت را فراهم کنند .

    یک کلاس در PHP حاوی سه کامپوننت اصلی است : members (اعضاء) که به آنها به عنوان داده یا صفت اشاره می‌شود) متدها ، و Constructor یک عضو members تکه‌ای از داده است که شیء در بر دارد .

    اشیاء می‌توانند هر تعداد عضو داشته باشند .

    برای مثال ، اگر قرار باشد اتومبیل را با استفاده از یک کلاس طراحی کنیم ، یک چرخ در حال دوران یا گیربکس باید به عنوان یک عضو از ماشین تعریف شوند .

    متدها سرویس‌هایی هستند که شیء برای سرویس گیرنده‌هایش فراهم می‌کند که از اعضا داخلی آن استفاده می‌کنند و آنها را دستکاری می‌کنند .

    برای مثال ، یک کلاس car می‌تواند یک متد را برای روشن کردن وسیله نقلیه و استفاده از چرخ در حال دوران در داخل آن فراهم کند .

    یک Constructor متد خاصی است که شیء را درون وضعیت آماده آن معرفی می‌:ند .

    تنها یک Constructor برای یک شیء در PHP می‌تواند موجود باشد .

    در یک کلاس car ، افزودن بدنه ، موتور ، لاستیک‌ها ، گیربکس ، صندلی و غیره بر روی car با هم متفاوتند .

    هنگامی که سرویس گیرنده‌ها می‌خواهند از متدهای روی یک شیء استفاده کنند ، Constructor اطمینان می‌دهد که هر متد عملیات را با موفقیت به انجام خواهد رساند و نتیجه مورد انتظار را برخواهد گرداند .

    برای مثال ، برای روشن کردن رادیو درون اتومبیل شما ، باید یک رادیو نصب شده‌ باشد .

    در این نمونه ، Constructor مسئول اطمینان بخشیدن از این موضوع است که رادیو پیش از استفاده نصب شده است.

    به غیر از مقدار دهی شیء به یک وضعیت آماده معتبر ، تفاوت اساسی دیگر این است که یک Constructor هیچ مقدار برگشتی صریحی ندارد .

    تمامی Constructor ها یک متغیر جدیداً اختصاص یافته را برای استفاده در برنامه شما بر می‌گردانند .در نتیجه ، برگرداندن یک مقدار در Constructor کلاس ، غیرقانونی است .

    اطمینان یافتن از طراحی مناسب اشیاء و Constructor های آنها ، مسئله‌ای است که توسعه دهندگان زیادی اغلب با آن روبرو می‌شوند .

    هنگامی که کلاس برنامه‌نویسان را وادار می‌کند که اعضای شیء را پیش از استفاده از متدهای خود تنظیم کنند یا هنگامی که کلاس برنامه‌نویس را وادار می‌کند تا از ترتیب خاصی ، هنگام فراخوانی متدهای شیء پیروی کند ، کد گیج کننده و مبهمی را ایجاد می‌کند .

    از OPP به این منظور استفاده می‌کنیم که به طور کلی از بروز چنین مسئله‌ای جلوگیری کنیم .

    اگر کلاس مهندسی شده است تا از Constructor های خود برای معرفی بخشهای کلیدی کلاس استفاده نکند ، اشکال از طراحی ضعیف ناشی می‌گردد .

    دوباره در همان تله گرفتار نشوید .کلاسی که خوب طراحی شده باشد برنامه‌نویسی ، اشکال‌زدایی و نگهداری زیادی را حذف می‌کند .بیایید نگاهی به دستور زبان کلی برای Class در PHP بیندازیم ، که استفاده از این سه نوع کامپوننت را نشان می‌دهد : PHP Code: class ClassName [extends ParentclassName] { var $member1; var $member2; var $memberN; // Constructor function Class Name() { } function method1() { } … function method2() { } function methodN() { } } همان‌گونه که می‌بینید ، یک کلاس چیزی نیست جز یک مجموعه از اعضای تعریف شده (متغیرها) و متدها (توابع) .

    اعضا می‌توانند یا انواع داده اولیه نظیر integer ها و رشته‌ها یا انواع پیچیده‌تری نظیر آرایه‌ها یا اشیاء دیگر باشند .

    از آنجایی که PHP از شما انتظار ندارد که انواع را تعریف کنید ، فقط می‌توانید متغیرهایتان را در بالای کلاس ، به صورتی که در بالا نشان داده شد ، نام ببرید .

    با PHP می‌توانید متغیرهایی را در تابع خود ایجاد کنید ؛ آنها به همان خوبی که مورد انتظارتان است کا رخواهند کرد .

    اگرچه ، تمرین خوبی نخواهد بود اگر این کار را انجام دهید .

    این به آن خاطر است که وقتی برنامه‌نویسان دیگر به کلاس شما نگاه می‌کنند ، فوراً تمامی اعضای آن را پیش از نگاه کردن به پیاده‌سازی توابع بشناسند .

    متدها به سادگی تمام سرویس‌هایی هستند که این کلاس تضمین می‌کند تا برای سرویس گیرنده‌هایش فراهم کند.

    سرویس گیرنده‌ها می‌توانند برنامه‌های دیگر ، پروژه‌های دیگر و غیره باشند.

    Class.php : در این فایل دو کار انجام می شود : CheckFileConfig() این تابع چک می کند که آیا فایل config.php موجود است یا خیر در غیر این صورت برنامه را غیر فعال خواهد کرد.

    Connect () این تابع برنامه را به بانک اطلاعاتی متصل می کند.

    Index.php: این قسمت وظیفه کنترل فایل های سیستم را عهده دار می باشد session start : این تابع باعث می باشد که جلسات که برای ورود و خروج می باشد در صفحه باقی بماند و در عبور و مرور پاک نشود.

    PHP Code: $option = $_REQUEST[option]; $task = $_REQUEST[task]; این قسمت باعث می شود که اطلاعاتی خواصی که در همه جا مورد نیاز هست از Post و Get دریافت شود عبور و مرور پاک نشود.

    PHP Code: include("class.php"); include("config.php"); دو فایل Config و Class : دو فایل config و class را باز خواهیم کرد تا از توابع و اطلاعات آن استفاده کنیم $Class Vote = new Class Vote() $Class Vote->Check File Config() $Class Vote->connect($config_hosting,$config_userDB,$config_passDB,$config_database( کلاس را اجرا و وجود فایل Config را تست به بانک اطلاعاتی وصل خواهیم شد if($option == '') $option = login; @Include ("$option.php"); در این قسمت اگر $option هیچ اطلاعاتی نداشت آن را مساوی login قرار می دهد ، و مقدار $option را اجرا خواهیم کرد البته اگر $option خالی نباشد مقداری که در Get یا Post می باشد را اجرا می کند قبل از include یک @ مشاهده می کنید که باعث می شود تا هیچ پیغام خطائی به کاربر داده نشود.

    Login.php : این قسمت اطلاعات وارد شده توسط کاربر برای ورود به بخش مدیریت یا رای گیری را تست می کند اگر username برای مدیر باشد به قسمت مدیریت و در صورت که برای کاربری باشد وارد بخش رای گیری می شود Include ("login.html.php"); فایل login.html.php را باز خواهیم کرد تا بتوانید از کدهاش استفاده کنیم switch($task){ #______________# case 'Login': Login(); break; #______________# case 'Register': UserControl::Register(); break ; #______________# case 'Submit_Register': checkRegister(); break ; #______________# default: UserControl::Login(); break;} این قسمت برسی می کند که $task با کدام گزینه مساوی می باشد در صورت عدم تساوی به default ختم می شود.

    تابع check Register گرفتن یک کویی از بانک اطلاعاتی که باعث می شود بفهمیم که آیا این نام کاربری وجود دارد ، یا خیر در صورت پیدا کردن عدد مساوی 1 می باشد.

    function checkRegister(){ $Check Username = mysql_query("Select count(username) as num From users WHERE `username`='".$_POST[Username]."'"); $Check Username = mysql_fetch_array($checkUsername); if($_POST[Password1] != $_POST[Password2] || $_POST[Username] == '' || $_POST[Email] == '' || $_POST[Last Name] == '' || $_POST[Password1] == '' || $_POST[Password2] == '' || $check Username[num] != 0) { خوب ما در اینجا فیلد های username , password , password2 , email , last name را چک می کنیم که آیا درست پر شده است یا خیر مثلا گزینه $_POST[Email] == '' می گوید اگر فیلد email خالی بود ('') انجام بده و $_POST[Password1] != $_POST[Password2] تست می کند که اگر password1 با password2 مساوی نبود فعالیتهای پایین را انجام دهد،همچنین || به معنی OR می اشد if($check Username[num] != 0) echo ""._old register.""; if($_POST[Username] == '') echo ""._please_type_username.""; if($_POST[Password1] != $_POST[Password2] || $_POST[Password1] == '' || $_POST[Password2] == '') echo ""._please_type_password.""; if($_POST[Email] == '') echo ""._please_type_email.""; if($_POST[LastName] == '') echo ""._please_type_name.""; این گزینه همان کار بالا را انجام می دهد با این تفاوت که هر کدام را جدا کردیم تا یک خطا مختلف به کاربر دهد UserControl::Register(); در اینجا گفته شده اگر گزینه ها با خطا مواجه شد دوباره صفحه عضویت را بالا بیاور این گزینه چون در قسمت {} ، IF اولی می باشد اجرا خواهد شد و return قبل از } می گوید بقیه برنامه را اجرا نکن : Submit Register این تابع تست خواهد کرد که آیا مدیر وجود دارد یا خیر در صورتی که مدیر نباشد کاربر با سطح دسترسی 1 و در صورتی که مدیر باشد کاربر با سطح دسترسی 0 وارد بانک اطلاعاتی می شود Submit Register (); این گزینه باعث می شود که عضویت ثبت شود همین طور که می دانید اگر برنامه با خطا مواجه شود گزینه ();User Control: Register فعال شده و با وارد کردن گزینه return از اجرای بقیه برنامه خود داری می شود و با } تابع ما تمام می شود.

    Function check Register (){ $checkUsername = mysql_query("Select count(username) as num From users WHERE `username`='".$_POST[Username]."'"); $checkUsername = mysql_fetch_array($checkUsername); if($_POST[Password1] != $_POST[Password2] || $_POST[Username] == '' || $_POST[Email] == '' || $_POST[LastName] == '' || $_POST[Password1] == '' || $_POST[Password2] == '' || $checkUsername[num] != 0) { if($checkUsername[num] != 0) echo ""._old_register.""; if($_POST[Username] == '') echo ""._please_type_username.""; if($_POST[Password1] != $_POST[Password2] || $_POST[Password1] == '' || $_POST[Password2] == '') echo ""._please_type_password.""; if($_POST[Email] == '') echo ""._please_type_email.""; if($_POST[LastName] == '') echo ""._please_type_name.""; UserControl::Register(); return; } SubmitRegister(); } خوب با درست بودن کارهای بالا و اتمام هر کدام باید برای ادامه کار تابع Submit Register ساخته شود .

    function SubmitRegister(){ $CheckGid = mysql_query("Select count(gid) as num From users WHERE `gid`='1'"); $CheckGid = mysql_fetch_array($CheckGid); این تابع تست خواهد کرد که آیا مدیر وجود دارد یا خیر در صورتی که مدیر نباشد کاربر با سطح دسترسی 1 و در صورتی که مدیر باشد کاربر با سطح دسترسی 0 وارد بانک اطلاعاتی می شود.در اینجا می گوییم اگر کاربری با سطع دسترسی (gid) که مساوی 1 باشد چند تا می باشد و داده را در $CheckGif ذخیره شده و همان طور که در کوری گرفته شده می بینید count(gid) را ما به num نام دادیم if($CheckGid[num] == 0){ mysql_query("INSERT INTO `users` (`id`, `username`, `password`, `email`, `lastname`, `gid`) VALUES ('', '".$_POST[Username]."', '".md5($_POST[Password1])."', '".$_POST[Email]."', '".$_POST[LastName]."', '1')"); }else{ mysql_query("INSERT INTO `users` (`id`, `username`, `password`, `email`, `lastname`, `gid`) VALUES ('', '".$_POST[Username]."', '".md5($_POST[Password1])."', '".$_POST[Email]."', '".$_POST[LastName]."', '0')"); } خوب این قسمت از $ChechGid بالا استفاده کرده می گوییم اگر مساوی 0 بود اولین وضعیت را انجام دهد و در غیر این صورت دومی تنها فرق در 0 و 1 آخر می باشد که 0 به معنی کاربر و 1 به معنی مدیر !

    UserControl::Login(); با این قسمت ما تابع ساخته شده در فایل login.html.php را فرا خوانی کردیم برای فرا خوانی آن ابتدا نام کلاس آن UserControl و :: و بعد نام تابع login() و در آخر } تابع ما تمام شد !!

    تابع function login(){ برای این می باشد که تست کند آیا کاربر است یا مدیر $CheckGid = mysql_query("Select count(gid) as num From users WHERE `gid`='1' AND `username`='".$_POST[Username]."'"); $CheckGid = mysql_fetch_array($CheckGid); در اینجا نام کاربری را در بانک جستجو می کنیم تا ببینیم که آیا سطح دسترسی آن 1 هست یا خیر در غیر این صورت جواب ما 0 و در صورت 1 بودن سطح دسترسی کار اول را انجام می دهیم if($CheckGid['num'] == 1){ SelectGid(1,admin); }else{ SelectGid(0,vote); } همین طور که در تابع بالا می بینید اگر جواب مساوی 1 بود مقدار اول تابع 1 و دوم می گوید به ادمین برو و در دوم می گویم مقدار اول 0 و به vote برو این مقدار ها را در تابع SELECTGID تنظیم کرده ایم که در پایین خواهید دید.

    --- قسمت مدیریت --- Browse این تابع تمامی اطلاعات کاندید را لیست می کند CheckAdmin این تابع با هر دفعه Refresh یک بار چک می کند که آیا هنوز اطلاعات مدیر در بانک است و اگر پسورد و نام کاربری درست نباشد آن را از بخش مدیریت اخراج می کند ، همین طور اگر سطح دسترسی آن 1 نباشد اخراج خواهد شد Delete این تابع کاندید مورد نظر را پاک می کند Edit این تابع صفحه ویرایش کاندید مورد نظر را خواهد آورد Update این تابع ویرایش ای که مدیر بر رویه آن کاندید کرده را در بانک اطلاعاتی بروز می کند .

    همین طور اگر فیلد خالی باشد به مدیر اخطار می دهد و بانک را بروز نمی کند !

    Newkandid این تابع صفحه برای ایجاد کاندید جدید بالا خواهد آورد NewSave این تابع اطلاعات کاندید جدید را در بانک اطلاعاتی قرار خواهد داد ShowVote این تابع آمار کاندید ها را نمایش می دهد به صورت تعداد رای به هر کاندید را مشاهده کند در صد رای هر کاندید به صورت عددی و گرافیکی تصویر مربوط به نمایش و حذف وکاندیدا تصویر مربوط به اضافه نمودن کاندید جدید تصویر مربوط به نتایج کلی آرا -- قسمت رای گیری -- Check User این تابع با هر دفعه Refresh چک می کند که آیا این نام کاربری و پسورد و سطح دسترسی 0 در بانک است یا خیر !

    در صورت وجود برنامه ادامه خواهد داد ولی در غیر این صورت کاربر را اخراج خواهد کرد List Vote در تابع لیست کاندید ها را برای کاربر خواهد آورد و کاربر باید یکی را انتخاب کند و بر رویه Submit کلیک کند !

    Save Vote این تابع کاندید مورد نظر کاربر را در بانک اطلاعاتی ذخیره خواهد کرد !

    Check Vote این تابع چک خواهد کرد که آیا این کاربر با این کامپیوتر و این آی پی تا به حال رای داده یا خیر !

    در صورتی که رای داده باشد در هر زمانی که login کند آرا را برای او نمایش خواهد داد و نمی تواند رای دهد Show Vote این تابع آرا را برای کاربر نمایش می دهد که عبارت است از تعداد رای به هر کاندید را مشاهده کند در صد رای هر کاندید به صورت عددی و گرافیکی -- تصاویر -- ..

    خوب حالا به تابع SelectGid که در بالا فراخوانی کردیم سری می زنیم Function SelectGid($gid,$GO){ $Check Valid User = mysql_query("Select count(*) as num From users WHERE `gid`='$gid' AND `username`='".$_POST['Username']."' AND `password`='".md5($_POST['PassWord'])."'"); $Check Valid User = mysql_fetch_array($CheckValidUser); If (!

    ($Check Valid User ['num'] == 1)){ Session unset (); Echo ""._retype.""; User Control: Login (); Return;} $Data user = mysql_query("Select * From users WHERE `gid`='$gid' AND `username`='".$_POST['Username']."' AND `password`='".md5($_POST['Password'])."'"); $Data user = mysql_fetch_array($data user); $_SESSION ['username'] = $data user ['username']; $_SESSION ['password'] = $data user ['password']; session_write_close(); Echo’ Function reload () { Document.

    Frm Refresh.

    Submit (); } var speed = 1 Function Start Redirect Timer () { Set Timeout ("reload ()", speed);} //--> Start Redirect Timer (); '; } Function Select Gid($gid,$GO){ این قسمت اول تابع است که با { شروع کردیم $gid مقدار اولی است که در بالا اگر یادتان باشد با 0 و 1 تغییر می دادیم و $GO همان است که ما باadmin و vote پر کردیم حالا به کار این دو می پردازیم !

    $Check Valid User = mysql_query("Select count(*) as num From users WHERE `gid`='$gid' AND `username`='".$_POST['Username']."' AND `password`='".md5($_POST['Password'])."'"); $Check Valid User = mysql_fetch_array($Check Valid User); خوب بالا را نگاه کنید دوباره از بانک اطلاعاتی سوال کردیم که آیا این نام کاربری و پسورد وجود دارد یا خیر !

    در صورت وجود مقدار 1 و در غیر این صورت 0 می باشد که باعث خطا خواهد شد !

    در ساخت تابع یادتان هست که از $gid استفاده کردیم به کویری گرفته شده نگاه کنید `gid`='$gid' اگر مقدار را 0 وارد کرده باشیم با سطح دسترسی 0 می گردد و اگر 1 وارد می کردیم دنبال این نام کاربری با سطح دسترسی 1 می گردد به پایین نگاه کنید SelectGid(0,vote); خوب در اینجا $gid اولین آرماگون بود و ما آن را 0 قرار دادیم If (!

    ($Check Valid User ['num'] == 1)){ Session unset (); Echo "".

    _Retype.""; User Control: Login(); Return; } در بالا می گوییم اگر $Check Valid User مساوی 1 بود کار هایی که در {} است را انجام دهد ولی شما در پشت !($Check Valid User['num'] == 1) را می بینید کلمه کلیدی !

    باعث می شود تا مخالف چیزی که می خواهید عمل کند یعنی می گوید اگر مساوی 1 نبود کار زیر را انجام دهد و کاری که انجام می دهد به ترتیب خط به این صورت است ، اول اطلاعات جلسات یا Session ها را از بین ببر دوم یک خطا به کاربر بده که نام کاربری شما اشتباه است و در آخر صفحه Login را دوباره load خواهیم کرد همچنین با آوردن کلمه return شما از ادامه برنامه جلوگیری می کنید !

    $Data user = mysql_query("Select * From users WHERE `gid`='$gid' AND `username`='".$_POST['Username']."' AND `password`='".md5($_POST['Password'])."'"); $Data user = mysql_fetch_array($data user); اگر کاربر اطلاعات را درست وارد کرده باشد ، اطلاعات آن بیرون کشیده خواهد شد تا ذخیره شود $_SESSION ['username'] = $data user ['username']; $_SESSION ['password'] = $data user ['password']; اینجا اطلاعات را از $data user که username و password است را در جلسات ذخیره می کنیم برای فهمیدن این بخش قسمت آموزش های http://forum.persiantools.com/f23.html را بخوانید !

    session_write_close(); در اینجا ذخیره داده ها قطع می کنیم redirect("index.php?option=".$GO); در اینجا تابع ای که برای رفتن به صفحات دیگه است را فراخوانی می کنیم و $GO همان گزینه ای است که شما با admin یا vote پر کردید و اتمام تابع } و فایل لوگین نیز پایان یافت !

    Admin.php : فایل admin.php را باز و به کدهای آن نگاهی می کنیم اولین تابع ای که فراخوانی می شود Check Admin می باشد ، با این تابع تست می کنیم که آیا یک چنین کاربری وجود دارد یا خیر !

    و بعد به قسمت switch می رویم در اینجا این تابع $task را با تمامی مقادیر ی که بعد از case وارد کردیم تست می کنم و با همانی که مطابقت داشت اجرا می کنم.

    switch($task){ case 'New': Newkandid(); break ; case 'NewSave': if($_POST['name']){ NewSave(); }else{ $error = 1; Newkandid(); } break; case 'Browse': Browse(); break; case 'Edit': Edit(); break; case 'delete': delete(); break; case 'update': if($_POST['name']){ update(); }else{ $error = 1; Browse(); } break; case 'State': ShowVote(); break; case 'loginout': session_unset(); include("login.php"); break; default: html_admin::home(); break; } حالا به تابع زیر نگاه کنیم Function Browse (){ html_admin::home(); Echo ""; $ListKandid = mysql_query("Select * From kandid"); html_admin::Browse($ListKandid); } این تابع ابتدا تابع home را از html_admin که در فایل admin.html.php است اجرا می کند در خط دوم echo "" یک کد اچ تی ام ال را اجرا می کند که باعث می شود در نمایش صفحه قسمت home یک فاصله ای از browse داشته باشد.

    در خط چهارم ما از بانک اطلاعاتی تمامی اطلاعاتی که در جدول kandid است را تقاضا می کنیم و در خط پنجم آن را به تابع browse می دهیم تا برای ما نمایش دهد !

    Function Check Admin (){ $Check Valid Admin = mysql_query("SELECT COUNT(*) as num FROM users WHERE `gid`='1' AND `username`='".$_SESSION['username']."' AND `password`='".$_SESSION['password']."'"); $Check Valid Admin = mysql_fetch_array($CheckValidAdmin); if(!($Check Valid Admin['num'] == 1)){ Echo _error_expire; Include ("login.php"); die;} } این تابع امنیت کار ما را تضمین می کند در خط اول این تابع می گوییم برای ما بگو که آیا این نام کاربری و پسورد در بانک اطلاعاتی موجود است ؟

    به شرطی که سطح دسترسی آن نیز 1 باشد .

    شاید توجه کرده باشید که این باید $_SESSION بجای پست آمده !

    اگر به خاطر داشته باشید در آخرین تابع Login.php یک قسمت بود که برای ما اطلاعات را در جلسات ذخیره می کرد ، در اینجا آن را فراخوانی کردیم !

    در خط دوم می گوییم که برای ما اطلاعات را پردازش کن و آن را به مقداری قابل استفاده در آور !

    در سومین خط شما دستور if را می بینید که می گوید اگر Check Valid Admin['num'] مساوی 1 بود کار زیر را انجام بده * ولی * توجه کنید که پشت این دستور یک !

    می باشد که باعث می شود خلافش را عمل کند یعنی اگر مساوی 1 نبود کار زیر را انجام دهد !

    حالا فرض بر این است که غیر از 1 باشد می گوید echo _error_expire یعنی برای کاربر error_expire را نمایش دهد !

    شاید بگویید error_expire از کجا آمد برای این منظور به فایل farsi.php یک سری بزنید همان طور که می بینید با دستور define ما جای error_expire را با یک جمله دیگر تغییر دادیم !

    خوب در اینجا می گویم فایل login.php را باز کن و در خط پایانی می گوییم die یعنی بقیه برنامه را اجرا نکن یادتان باشد اگر die نباشد برنامه به کار خود ادامه می دهد و مهاجم هر کاری که بخواهد می تواند بکند Function delete (){ mysql_query("DELETE FROM `kandid` WHERE `id` = ".$_POST['Id'].""); Redirect ("index.php?option=admin&task=Browse"); } در تابع بالا می گوییم یک رکورد از kandid را به شرطی که id آن مساوی $_POST['id'] بود پاک کن این تابع در هنگام پاک کردن کاندید به کار می آید !

    و در پایین گفتیم به index.php?option=admin&task=Browse برود Function Edit (){ html_admin::home(); html_admin::edit(); } در اینجا گفته شد دو تابع home و edit در کلاس html_admin اجرا شوند Function update (){ If ($_POST ['name']){ mysql_query("UPDATE `kandid` SET `name` = '".$_POST['name']."' WHERE `id` = ".

    $_POST ['id'].""); Redirect ("index.php?option=admin&task=Browse"); } Else { Browse (); } } مختصر آموزشی پیرامون زبان PHP - نحوه ساخت ، بارگذاری و اجرای یک فایل PHP - چگونه از PHP و HTML در یک صفحه استفاده کنیم - چگونه کدها را با استفاده از کامنتهای برنامه نویسی قابل فهم تر کنیم خوب برای شروع یک Text Editor رو باز کنید.

    php هم مانند html مبتنی بر متن ساده است بنابراین از هر ادیتوری میشود برای ساخت فایل php استفاده کرد.

    مثلا Notepad خود را باز کنید.

    خطوط زیر را وارد کنید و فایل را به هر اسمی با پسوند .php ذخیره کنید.

    مثلا first.php

کلمات کلیدی: رای گیری الکترونیکی

تحقيقات زيادي براي اندازه‌گيري ميزان توسعه دولت الکترونيکي در کشورها توسط محققين مختلف و سازمانهاي ذيربط از جمله سازمان ملل انجام گرفته است. در بررسي انجام‌شده توسط سازمان ملل [1] براساس سه معيار حضور اينترنت (Internet Presence)، بسترهاي تکنولوژي اط

شناسایی موانع بکارگیری تجارت الکترونیکی (EC) در ایران سید رحیم صفوی میرمحله * تجارت الکترونیکی/ موانع/ ایران چکیده: بحث EC بحث روز اقتصاد جهانی است و هر کشوری که توجه لازم را به EC (تجارت الکترونیک) نداشته باشد از گردونه رقابت جهانی عقب می افتد. یکی از مراحل اصلی برنامه ریزی EC، شناخت موانع آن می باشد. در این راستا در این مقاله و پژوهش به شناسایی موانع تجارت الکترونیک در ایران ...

چکیده : ما نشان می دهیم که حوزه تجارت الکترونیکی می نواند همه اجزا مورد نیاز برای یک فرآیند موفق تعیین الگوهای سودمند تجاری را فراهم سازد و در عین حال عقیده داریم که این یک حوزه موثر برای فرآیند ذکر شده است . ما بر اساس تجاربمان در شرکت نرم افزاری بلو مارتینی (Blue Martini ) در ارتباط با معماری تلفیقی توضیح خواهیم داد تا نشان دهیم که این امر بر اساس تجربه صورت گرفته است . معماری ...

چکیده موفقیت در راهبرد جهش صادراتی مستلزم شناسایی تحولات جهشی نظیر تجارت الکترونیکی در عرصه تجارت بین‌الملل است. توسعه تجارت الکترونیکی مستلزم سرمایه‌گذاری در توسعه زیرساخت‌های مربوط به آن، در کشور است، لذا تعیین اولویت‌های سرمایه‌گذاری در این راستا از اهمیت فوق‌العاده‌ای برخوردار است. مقاله حاضر با هدف تسهیل امر توسعه تجارت الکترونیکی و به منظور اولویت‌بندی زمینه‌های ...

گمرک و نقش آن در تجارت الکترونيکي ابداعات و فناوري‌هاي وسيع سالهاي اخير، دسترسي به امکانات ارتباطي، ماهواره‌اي و اينترنت و اثر آن بر مرزهاي جغرافيايي و ضرورت‌هايي که در دنياي معاصر به وجود آمده است بر کسي پوشيده نيست. افزايش فعاليتهاي برون م

معرفی : با توجه به اینکه قسمت عمده ای از ضایعات فرش ماشینی به هنگام تولید ،ناشی از عدم هماهنگی بین وردها و ژاکارد و همچنین بین سیلندرهای مختلف ژاکارد می باشد،لذا شرکت مهندسی طلوع ، افتخار دارد تا نوید بر طرف شدن این مشکل را به صاحبان صنعت فرش ماشینی اعلام نماید. این سیستم به گونه ای طراحی شده است که دارای یک صفحه نمایشگر (پانل دیجیتالی )، تعدادی سنسور و شبکه کابل می باشدو مجموعه ...

چکیده موفقیت در راهبرد جهش صادراتی مستلزم شناسایی تحولات جهشی نظیر تجارت الکترونیکی در عرصه تجارت بین‌الملل است. توسعه تجارت الکترونیکی مستلزم سرمایه‌گذاری در توسعه زیرساخت‌های مربوط به آن، در کشور است، لذا تعیین اولویت‌های سرمایه‌گذاری در این راستا از اهمیت فوق‌العاده‌ای برخوردار است. مقاله حاضر با هدف تسهیل امر توسعه تجارت الکترونیکی و به منظور اولویت‌بندی زمینه‌های ...

مقدمه پیشینه دولتهای سراسر جهان در حال پذیرش دولت الکترونیک اند . در هر منطقه از جهان از کشورهای در حال توسعه گرفته تا کشورهای صنعتی دولتهای ملی و محلی در حال قراردادن اطلاعات بر روی شبکه اند و فرآیند تصدیق و اتوماسیون و تعامل الکترونیکی با شهروندانشان هستند. این علاقه شدید گاهی از بخشی از باوری به وجود می آید که می گوید تکنولوژی معمولا از دولت یک تصویر منفی می دهد. در بسیاری از ...

مقدمه چندی قبل یک دانشگاه آمریکایی طی نظرسنجی از اقتصاددانان – برنده جایزه نوبل، از آنان خواست بئویند در زمان حاضر، ثروت پایدار یک جامعه کدام است، در صورتی که در گذشته معمولاً، برده ها، طلا، منابع کشاورزی و منابع طبیعی، صنایع، تجارت و غیر ثروت پایدار بوده است، اقتصاددانان عموماً پاسخ داده اند که در عصر فناوری پیشرفته، ثروت پایدار هر جامع، استعداد و نیروی انسانی ماهر و خلاق آن ...

نقش واقعی و مناسب از تکنولوژی برای ایجاد فرهنگ یادگیری: شاید شما شنیده که کلاس‎های آموزشی از بین رفت که یادگیری از طریق تکنولوژی سریعتر، ارزان‎تر و بهتر است. فقط به جریان بیافتند و در هر زمان و مکان یاد بگیرید. اما من همچنین شنیده‎ام که دوره یادگیری براساس تکنولوژی در حال تمام شدن است، تکنولوژی جدید امروزی با قدرت زیاد به طور ناگهانی به وجود آمد. کدام یک از این دو عقیده درست ...

ثبت سفارش
تعداد
عنوان محصول