PHP এবং AJAX ভোট গ্রহণ
AJAX ব্যবহার করে ভোট গ্রহণ
এই অধ্যায়ে আমরা দেখবো AJAX ব্যবহার করে কিভাবে একটি ডায়ানামিক ভোট গ্রহণ সিস্টেম তৈরি করা যায়।
এক্ষেত্রেও আমরা পূর্বের ন্যায় কোডসমূহকে তিন ভাগে বিভক্ত করবোঃ এইচটিএমএল কোড, জাভাস্ক্রিপ্ট(AJAX) কোড এবং পিএইচপি কোড। সুতরাং দেরি না করে চলুন কোডিং করা শুরু করি।
উদাহরণ: এইচটিএমএল কোড
<!DOCTYPE html>
<html>
<head>
<title>পিএইচপি এবং এজ্যাক্স ব্যবহার করে ভোট গ্রহণ</title>
</head>
<body>
<div id="poll">
<h3>আমাদের ওয়েব-সাইটটি কি আপনার পছন্দ?</h3>
<form>
হ্যাঃ
<input type="radio" name="poll_vote"
value="0" onclick="vote(this.value)">
নাঃ
<input type="radio" name="poll_vote"
value="1" onclick="vote(this.value)">
</form>
</div>
</body>
</html>
উপরের উদাহরণে ইউজার যখন কোনো একটি রেডিও বাটন সিলেক্ট করবে, তখন vote()
ফাংশনটি সম্পাদিত হবে এবং ভোটের ফলাফল প্রদর্শিত হবে। onclick
ইভেন্ট এর মাধ্যমে এই ফাংশনটি সম্পাদিত হয়।
উদাহরণঃ এইচটিএমএল এর সাথে ব্যবহৃত AJAX কোড
<script>
function vote(integer) {
if (window.XMLHttpRequest) {
request=new XMLHttpRequest();
} else {
request = new ActiveXObject("Microsoft.XMLHTTP");
}
request.onreadystatechange = function() {
if (request.readyState == 4 && request.status == 200) {
document.getElementById("poll").innerHTML = request.responseText;
}
}
request.open("GET","poll_vote.php?poll_vote="+integer,true);
request.send();
}
</script>
কোডের ব্যাখ্যাঃ
যেকোন একটি রেডিও বাটন সিলেক্ট করলে vote()
ফাংশনটি সম্পাদিত হয়।
vote()
ফাংশনের মাধ্যমে নিম্নোক্ত প্রক্রিয়াসমূহ সম্পন্ন হয়।
- একটি XMLHttpRequest অবজেক্ট তৈরি করবে।
- কার্যসম্পাদনের জন্য সার্ভার প্রস্তুত হলে এটি একটি ফাংশন তৈরি করবে।
- সার্ভারে অবস্থিত "poll_vote.php" ফাইলে একটি অনুরোধ পাঠাবে।
- লক্ষ্য করুন আমরা "poll_vote.php" ফাইলের সাথে একটি প্যারামিটার poll_vote যুক্ত করেছি যা সার্ভারে একটি integer ভ্যারিয়েবল পাঠায়।
- integer ভ্যারিয়েবলটি রেডিও বাটনের ভ্যালু ধারন করে।
পিএইচপি ফাইল
উপরের জাভাস্ক্রিপ্ট কোড এর মাধ্যমে এই পিএইচপি ফাইল(poll_vote.php) এর সাথে যোগাযোগ সৃষ্টি করা হয়।
উদাহরণঃ poll_vote.php ফাইল
<?php
$poll_vote = $_REQUEST['poll_vote'];
// টেক্সট ফাইলের কন্টেন গুলো ধারন করে
$textfile = "poll_result.txt";
$content = file($textfile);
// প্রাপ্ত ফলাফল গুলোকে অ্যারের মধ্যে রাখবে
$array = explode("||", $content[0]);
$yes = $array[0];
$no = $array[1];
if ($poll_vote == 0) {
$yes = $yes + 1;
}
if ($poll_vote == 1) {
$no = $no + 1;
}
// টেক্সট ফাইলে ভোট(poll_votes) জমা দেওয়া
$insertpoll_vote = $yes."||".$no;
$fp = fopen($textfile,"w");
fputs($fp,$insertpoll_vote);
fclose($fp);
?>
<table>
<tr>
<td>হ্যাঁঃ</td>
<td>
<img src="poll_image1.gif" width='