با عرض سلام خدمت کاربران محترم سایت پی وی لرن.
در این جلسه قصد داریم تا ساخت سیستم نظرسنجی با Ajax را به شما آموزش دهیم.
در ادامه برنامه ای می نویسیم که سیستم نظرسنجی را با نمایش نتایج بدون بارگذاری مجدد صفحه، نشان می دهد.
وقتی که کاربر یکی از گزینه ها را انتخاب کرد، تابع ()getVote اجرا می شود.
این تابع با استفاده از رویداد onclick اجرا می شود:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | <html> <head> <script> function getVote(int) { if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp=new XMLHttpRequest(); } else { // code for IE6, IE5 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.onreadystatechange=function() { if (this.readyState==4 && this.status==200) { document.getElementById("poll").innerHTML=this.responseText; } } xmlhttp.open("GET","poll_vote.php?vote="+int,true); xmlhttp.send(); } </script> </head> <body> <div id="poll"> <h3>Do you like PHP and AJAX so far?</h3> <form> Yes: <input type="radio" name="vote" value="0" onclick="getVote(this.value)"> <br>No: <input type="radio" name="vote" value="1" onclick="getVote(this.value)"> </form> </div> </body> </html> |
تابع ()getVote کارهای زیر را انجام می دهد:
فایلی که توسط جاوااسکریپت در کد بالا فراخوانده شده، poll_vote.php نام دارد:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | <?php $vote = $_REQUEST['vote']; //get content of textfile $filename = "poll_result.txt"; $content = file($filename); //put content in array $array = explode("||", $content[0]); $yes = $array[0]; $no = $array[1]; if ($vote == 0) { $yes = $yes + 1; } if ($vote == 1) { $no = $no + 1; } //insert votes to txt file $insertvote = $yes."||".$no; $fp = fopen($filename,"w"); fputs($fp,$insertvote); fclose($fp); ?> <h2>Result:</h2> <table> <tr> <td>Yes:</td> <td> <img src="poll.gif" width='<?php echo(100*round($yes/($no+$yes),2)); ?>' height='20'> <?php echo(100*round($yes/($no+$yes),2)); ?>% </td> </tr> <tr> <td>No:</td> <td> <img src="poll.gif" width='<?php echo(100*round($no/($no+$yes),2)); ?>' height='20'> <?php echo(100*round($no/($no+$yes),2)); ?>% </td> </tr> </table> |
فایل متنی poll_result.txt جایی هست که نتایج در آن ذخیره می شوند.
نتایج به شکل زیر ذخیره می شوند:
1 | 0||0 |
عدد اول برای کلمه “yes” , عدد دوم برای کلمه “no” می باشد.
جلسه ساخت سیستم نظرسنجی با Ajax و سری جلسات آموزش زبان PHP به پایان رسید. امیدوارم این آموزش ها مفید واقع شده باشند.
همنین می توانید نظرات و سوالات خود را از طریق بخش نظرات با ما در میان بگذارید.
حسین صالحی
مخلصتم داداش دمت گرم
پی وی لرن
خواهش می کنم، موفق باشید.
حسین صالحی
باعرض سلام و خسته نباشید. ببخشید من هرکاری کردم سیستم ثبت نظرات رو که روی یک قالب ساده است رو اجرا کنم نظر رو ثبت نمیکنه اروور میده. میتونم قالب رو براتون بفرستم یک نگاهی بهش بندازید .
پی وی لرن
سلام
متاسفانه این مسئله زمان بر است و ما نمی توانیم در این مورد کمکی نماییم. شما می توانید در همان سایتی که برای شما ارسال کرده ام عضو شوید و سوال خودتان و مشکل خودتان را ارسال کنید تا کاربرانی که در آنجا هستند و در این زمینه تخصصی کار کردن پاسخ دهند.