سیستم نظرسنجی

YTERROR

Active Member
به چه زبانی می خواید پی اچ پی یا ..... ؟

یا این که یک سایت که بهتون این امکان رو با ثبت نام درونش بده ؟
 

mehran_p

Member
هر زبانی باشه ! فرقی نمیکنه
فقط یه چیزی مثل نظر سنجی NUKE باشه
و خواهشان بازم نگید که webgozar داره چون من می خوام free باشه و English.
با تشکر.
 

mahdyonline

Active Member
ساخت سیستم نظرسنجی توسط PHP

برای این کار ما احتیاج داریم که جدول هایی در MySQL ایجاد کنیم برای این کار کد های زیر را در MySQL وارد می کنیم.


كد: ? Select ?

CREATE TABLE `poll_choices` (
`id` int(15) NOT NULL auto_increment,
`pollid` int(255) NOT NULL default '0',
`text` varchar(255) NOT NULL default '',
`votes` int(15) NOT NULL default '0',
PRIMARY KEY (`id`)
) TYPE=MyISAM AUTO_INCREMENT=1 ;

CREATE TABLE `poll` (
`id` int(15) NOT NULL auto_increment,
`question` varchar(255) NOT NULL default '',
PRIMARY KEY (`id`)
) TYPE=MyISAM AUTO_INCREMENT=1 ;

CREATE TABLE `poll_votes` (
`id` int(15) NOT NULL auto_increment,
`poll_id` int(15) NOT NULL default '0',
`choice` int(15) NOT NULL default '0',
`ident` varchar(255) NOT NULL default '',
`date` date NOT NULL default '0000-00-00',
PRIMARY KEY (`id`)
) TYPE=MyISAM AUTO_INCREMENT=1 ;



در مرحله بعدی ما باید فایلی را ایجاد کنیم که مسیول اتصال به MySQL باشد یعنی حاوی اطلاعات برای ورود به MySQL باشد.برای این کار فایلی با نام config.php را ایجاد می کنیم و کد های زیر را در آن قرار می دهیم.

كد: ? Select ?

<?
ob_start();
$conn = mysql_connect("localhost","database username","password");
mysql_select_db(database name) or die(mysql_error());
?>



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

كد: ? Select ?

<?
//fill in the color variable with a hex code for a color.
$color = "#000000";
//For the lines below, use the following stuff...
//if you want to record peoples usernames when they vote..change $remote_addr to a variable with the user's
//username. $remote_addr is the users Ip address.
$ident = "$REMOTE_ADDR";
//change the following line to where u want the user to be redirected
//after they vote
$redir = "http://www.amoozeshi.com";
include ("config.php"); // the page that connects to the database
$getq1 = mysql_query("SELECT * from poll ORDER BY id DESC limit 1");
$getq = mysql_fetch_array($getq1);
$checkvoted = mysql_query("SELECT * from poll_votes where ident = '$ident' AND poll_id = '$getq[id]'");
$voted = mysql_num_rows($checkvoted);
if ($voted == 0 && !$_POST[pollsubmit])
{
echo ("<center>$getq[question]</center>");
$getchoice1 = mysql_query("SELECT * from poll_choices WHERE pollid = '$getq[id]' order by 'id' asc");
echo ("
<table border=\"0\" align=\"center\" width=\"100%\" cellspacing=\"0\" cellpadding=\"0\" id=\"table1\"><form method=\"POST\">
");
while ($choices = mysql_fetch_array($getchoice1)){
echo ("<tr>
<td width=\"10\"><input type=\"radio\" value=\"$choices[id]\" name=\"choice\"></td><td align=\"left\">$choices[text]</td></tr>");
}
echo ("
<tr>
<td align=\"center\" colspan=\"2\"><input type=\"submit\" value=\"Submit\" name=\"pollsubmit\" style=\"font-family: Verdana; font-size: 10px; border: 1px solid #000000; background-color: #E6E6E6\">
</td>
</form>
</tr>
</table>");
}
if ($_POST[pollsubmit] && $voted == 0)
{
$pchoiceq= mysql_query("SELECT * from poll_choices WHERE pollid = '$getq[id]' order by 'id' asc");
while ($pchoices = mysql_fetch_array($pchoiceq)){
$choiceid = $pchoices[id];
if ($_POST[choice] == $choiceid && $voted == 0)
{
$update_votes = mysql_query("Update poll_choices set votes = votes + 1 where id = '$choiceid'");
$fvote = mysql_query("INSERT INTO `poll_votes` ( `poll_id`, `ident`, `choice`, `date` )VALUES ('$getq[id]', '$ident', '$choiceid', NOW())");

echo ("<meta http-equiv=\"Refresh\" content=\"0; URL=$redir\"/>Thank You for voting!");
}
}
}
if ($voted == 1)
{
$totalvotes = 0;
$getnumvotes = mysql_query("SELECT * from poll_choices where pollid = '$getq[id]' order by 'id' asc");
while($votes = mysql_fetch_array($getnumvotes))
{
$totalvotes = $totalvotes + $votes[votes];
}

echo ("<center>$getq[question]</center><br />");
$getpoll1 = mysql_query("SELECT * from poll_choices where pollid = '$getq[id]' order by 'id' asc");
while ($getpoll = mysql_fetch_array($getpoll1))
{
$numvotes = $getpoll[votes] / $totalvotes;
$numvotes2 = $numvotes * 100;
echo ("$getpoll[text]");
$round = ceil($numvotes2);
echo (" ($getpoll[votes] votes)
<table border=\"0\" width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" id=\"table1\" height=\"5\">
<tr>
<td style=\"border: 1px solid #000000\">
<table width=\"$numvotes2%\" cellspacing=\"1\" height=\"5\" cellpadding=\"0\" id=\"table2\">
<tr>
<td bgcolor=\"$color\" height=\"5\"> </td>
</tr>
</table>
</td>
</tr>
</table>
");
}
}
?>



چند نکته در این قسمت وجود دارد.

از متغییر color یا همان $color برای تغییر رنگ استفاده کنید حتما کد رنگ را به صورت hex وارد کنید.

$ident برای شناسایی فرد رای دهنده می باشد اگر دارای سیستم عضو گیری هستید می توانید کد را تغییر دهید و نام کاربری فرد را ذخیره کنید تا نتواند 2 بار رای دهد به صورت پیش فرض آدرس آی پی طرف ذخیره می شود.

$redir برای تغییر مسیر فرد بعد از رای دهی می باشد.

در انتهای کار باید صفحه مدیریتی ایجاد کنیم که بتوان به آن نظرسنجی ارسال کرد.

**این فایل را در فلدری قرار دهید و در cpanel روی این فلدر کلمه عبور بگذارید چون در کدهای قسمت مدیریت قسمتی برای ورود مدیر وجود ندارد.

كد: ? Select ?



include("config.php");
$getpollid = mysql_query("SELECT * from poll order by 'id' desc limit 1");
$pollid = mysql_fetch_array($getpollid);
$pollid[id] = $pollid[id] + 1;
if (!$_POST[pquestion])
{
echo ("
You do not have to use all post choice fields
<form method=\"POST\">
<table border=\"0\" width=\"100%\" cellspacing=\"0\" cellpadding=\"2\" id=\"table1\">
<tr>
<td width=\"25%\">
<font face=\"Verdana\" size=\"1\">Poll Question</font></td>
<td>
<font size=\"1\" face=\"Verdana\">
<input type=\"text\" value=\"Poll Question\" name=\"pquestion\" size=\"20\" style=\"border: 1px solid #000000; background-color: #E6E6E6\"></font></td>
</tr>
<tr>
<td width=\"25%\">
<font face=\"Verdana\" size=\"1\">Poll Choice</font></td>
<td>
<font size=\"1\" face=\"Verdana\">
<input type=\"text\" name=\"pchoice1\" size=\"20\" style=\"border: 1px solid #000000; background-color: #E6E6E6\"></font></td>
</tr>
<tr>
<td width=\"25%\">
<font face=\"Verdana\" size=\"1\">Poll Choice</font></td>
<td>
<font size=\"1\" face=\"Verdana\">
<input type=\"text\" name=\"pchoice2\" size=\"20\" style=\"border: 1px solid #000000; background-color: #E6E6E6\"></font></td>
</tr>
<tr>
<td width=\"25%\">
<font face=\"Verdana\" size=\"1\">Poll Choice</font></td>
<td>
<font size=\"1\" face=\"Verdana\">
<input type=\"text\" name=\"pchoice3\" size=\"20\" style=\"border: 1px solid #000000; background-color: #E6E6E6\"></font></td>
</tr>
<tr>
<td width=\"25%\">
<font face=\"Verdana\" size=\"1\">Poll Choice</font></td>
<td>
<font size=\"1\" face=\"Verdana\">
<input type=\"text\" name=\"pchoice4\" size=\"20\" style=\"border: 1px solid #000000; background-color: #E6E6E6\"></font></td>
</tr>
<tr>
<td width=\"25%\">
<font face=\"Verdana\" size=\"1\">Poll Choice</font></td>
<td>
<font size=\"1\" face=\"Verdana\">
<input type=\"text\" name=\"pchoice5\" size=\"20\" style=\"border: 1px solid #000000; background-color: #E6E6E6\"></font></td>
</tr>
<tr>
<td width=\"25%\">
&nbsp;</td>
<td>
<font size=\"1\" face=\"Verdana\">
<input type=\"submit\" value=\"Submit\" name=\"B1\" style=\"border: 1px solid #000000; background-color: #E6E6E6\"></font></td>
</tr>
</table>
</form>
");
}
if ($_POST[pquestion])
{
$newforumadd = mysql_query("INSERT INTO `poll` ( `question` )VALUES ('$_POST[pquestion]')");
$query = mysql_query("INSERT INTO `poll_choices` ( `id` , `pollid` , `text` , `votes` )
VALUES (
'', '$pollid[id]', '$_POST[pchoice1]', '0'
)");
if (!empty($_POST[pchoice2]))
{
$query = mysql_query("INSERT INTO `poll_choices` ( `id` , `pollid` , `text` , `votes` )
VALUES (
'', '$pollid[id]', '$_POST[pchoice2]', '0'
)");
}
if (!empty($_POST[pchoice3]))
{
$query = mysql_query("INSERT INTO `poll_choices` ( `id` , `pollid` , `text` , `votes` )
VALUES (
'', '$pollid[id]', '$_POST[pchoice3]', '0'
)");
}
if (!empty($_POST[pchoice4]))
{
$query = mysql_query("INSERT INTO `poll_choices` ( `id` , `pollid` , `text` , `votes` )
VALUES (
'', '$pollid[id]', '$_POST[pchoice4]', '0'
)");
}
if (!empty($_POST[pchoice5]))
{
$query = mysql_query("INSERT INTO `poll_choices` ( `id` , `pollid` , `text` , `votes` )
VALUES (
'', '$pollid[id]', '$_POST[pchoice5]', '0'
)");
}
echo ("Poll Added");
}
?>




موفق و موید باشد.
 

mehran_p

Member
آقا مهدی اگه امکان داره یه کم بیشتر توضیح بده من سره قسمت سوم گیر کردم
ممنون
 

mahdyonline

Active Member
منظورت این قسمت یا نه
اکنون به مرحله اصلی رسیده ایم یعنی ایجاد و طراحی صفحه ای که نظرسنجی را به ما نشان دهد. برای این کار فایلی را باز می کنیم و کد های زیر را درون آن قرار می دهیم سپس با نام poll.php ذخیره می کنیم.
 

mehran_p

Member
**این فایل را در فلدری قرار دهید و در cpanel روی این فلدر کلمه عبور بگذارید چون در کدهای قسمت مدیریت قسمتی برای ورود مدیر وجود ندارد.
بعد از این .
با تشکر
 

mehran_p

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

mahdyonline

Active Member
سلام
آقا مهران
من یا همین رو درست میکنم یا اینکه برات یکدونه پیدا میکنم
بای
 

جدیدترین ارسال ها

بالا