My Vote System

Μια περιοχή όπου τα μέλη μας μπορούν να βάζουν τα PHP scripts που έχουν φτιάξει και θέλουν να τα μοιραστούν με τα υπόλοιπα μέλη.

Συντονιστές: Super-Moderators, WebDev Moderators, PHP Moderators

Απάντηση
Άβαταρ μέλους
p_pan
Δημοσιεύσεις: 1248
Εγγραφή: 11 Φεβ 2007 20:45
Τοποθεσία: Άστεγος!

My Vote System

Δημοσίευση από p_pan » 13 Νοέμ 2007 22:26

Χαίρεται
Τον τελευταίο καιρό παρατηρώ ότι συνέχεια μπαίνουν σε όλα τα websites διάφορες ψηφοφορίες. Έτσι αποφάσισα να φτιάξω και εγώ μια έτσι για την φάση. Δεν είναι τίποτα τρελό απλά πράγματα.

Το project αποτελείται από 3 σελίδες.

Connection_variables.php
Σε αυτή την σελίδα θα βρίσκονται σε μορφή μεταβλητών το username, το password καθώς και το όνομα τις βάσης σας. Η σελίδα αυτή καλείτε από τις άλλες δυο στην αρχή τους για να παρέχει τους κωδικούς για την σύνδεση στην βάση σας.

Κώδικας: Επιλογή όλων

<?php
/*Gracte to username sas!*/
$username = "myname"; 
 /*Gracte to password sas!*/
$password = "mycode";
/*Gracte to onoma tis baseis sas!*/
$db = "my_db"; 
?>

Poll.php
Η σελίδα αυτή περιέχει τον κώδικα για την φόρμα ψηφοφορίας και τον κώδικα για την προβολή τον αποτελεσμάτων όταν κάποιος έχει ξανά ψηφήσει.

Κώδικας: Επιλογή όλων

<?php 
/*Kaloume tis metablites pou periexoun tous kodikou gia tin sundesi me tin basei mas.*/
include&#40;"connection_variables.php"&#41;;

/*Kanoume tsek an uparxi to cookie gia na doume an exoume jana cifisei!*/
if &#40;isset&#40;$_COOKIE&#91;vote&#93;&#41;&#41; &#123;
/*An nai tote kanoume login stin basi mas*/
$conn = mysql_connect&#40;"localhost", "$username", "$password"&#41;;
mysql_select_db&#40;"$db",$conn&#41;;

$sql_total = "SELECT * FROM my_poll"; 
$result_total = mysql_query&#40;$sql_total&#41; or die&#40;mysql_error&#40;&#41;&#41;; 
$num_total = mysql_num_rows&#40;$result_total&#41;; 
$votes_total = "$num_total"; 

/*Antloume tis plirofories apo to table mas gia autous poy exoun cifisi 1!*/
$sql1 = "SELECT * FROM my_poll WHERE vote='1'"; 
$result1 = mysql_query&#40;$sql1&#41; or die&#40;mysql_error&#40;&#41;&#41;; 
$num1 = mysql_num_rows&#40;$result1&#41;; 
$votes1 = "$num1"; 


/*Antloume tis plirofories apo to table mas gia autous poy exoun cifisi 2!*/
$sql2 = "SELECT * FROM my_poll WHERE vote='2'"; 
$result2 = mysql_query&#40;$sql2&#41; or die&#40;mysql_error&#40;&#41;&#41;; 
$num2 = mysql_num_rows&#40;$result2&#41;; 
$votes2 =  "$num2"; 

/*Antloume tis plirofories apo to table mas gia autous poy exoun cifisi 3!*/
$sql3 = "SELECT * FROM my_poll WHERE vote='3'"; 
$result3 = mysql_query&#40;$sql3&#41; or die&#40;mysql_error&#40;&#41;&#41;; 
$num3 = mysql_num_rows&#40;$result3&#41;; 
$votes3 = "$num3"; 

/*Antloume tis plirofories apo to table mas gia autous poy exoun cifisi 4!*/
$sql4 = "SELECT * FROM my_poll WHERE vote='4'"; 
$result4 = mysql_query&#40;$sql4&#41; or die&#40;mysql_error&#40;&#41;&#41;; 
$num4 = mysql_num_rows&#40;$result4&#41;; 
$votes4 = "$num4"; 


/*Antloume tis plirofories apo to table mas gia autous poy exoun cifisi 5!*/
$sql5 = "SELECT * FROM my_poll WHERE vote='5'"; 
$result5 = mysql_query&#40;$sql5&#41; or die&#40;mysql_error&#40;&#41;&#41;; 
$num5 = mysql_num_rows&#40;$result5&#41;; 
$votes5 = "$num5"; 


/*Tora emfanizoume ta apotelesmata stin o8oni tou xristi...*/
echo "
<html>
<head>
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\" />
<title>View result</title>
<style type=\"text/css\">
.basic &#123;
	font-family&#58; Verdana;
	font-size&#58; 12px;&#125;
.basic a&#123;
color&#58;#333333;
text-decoration&#58;none;
font-weight&#58;bold;&#125;
.basic a&#58;hover&#123;
text-decoration&#58;none;
font-weight&#58;bold;
color&#58;996699;&#125;
</style>
</head>

<body>
<table width=\"200\" border=\"0\" cellspacing=\"2\" cellpadding=\"2\">
  <tr>
    <td colspan=\"2\"><p align=\"center\" class=\"basic\">&Psi;&Eta;&Phi;&Eta;&Sigma;&Alpha;&Nu;</p></td>
  </tr>
    <tr>
    <td width=\"100\"><p align=\"center\" class=\"basic\">&Beta;&Alpha;&Theta;&Mu;&Omicron;&Sigma;</p></td>
    <td width=\"100\"><p align=\"center\" class=\"basic\"><span class=\"style1\">&Chi;&Rho;&Eta;&Sigma;&Tau;&Epsilon;&Sigma;</span></p>      </td>
  </tr>
  <tr>
    <td class=\"basic\"><div align=\"center\">1</div></td>
    <td class=\"basic\"><div align=\"center\">$votes1</div></td>
  </tr>
  <tr>
    <td class=\"basic\"><div align=\"center\">2</div></td>
    <td class=\"basic\"><div align=\"center\">$votes2</div></td>
  </tr>
  <tr>
    <td class=\"basic\"><div align=\"center\">3</div></td>
    <td class=\"basic\"><div align=\"center\">$votes3</div></td>
  </tr>
  <tr>
    <td class=\"basic\"><p align=\"center\">4</p>    </td>
    <td class=\"basic\"><div align=\"center\">$votes4</div></td>
  </tr>
  <tr>
    <td class=\"basic\"><div align=\"center\">5</div></td>
    <td class=\"basic\"><div align=\"center\">$votes5</div></td>
  </tr>
    <tr>
    <td class=\"basic\"><div align=\"center\"><b>Total</b></div></td>
    <td class=\"basic\"><div align=\"center\"><b>$votes_total</b></div></td>
  </tr>
</table>
</body>
</html>
";&#125;

/*An omos o xristis cifizei gia proti fora tote amesos erxete se auto to kommati tou kodika.*/
else&#123;
/*dimiourgoume to cookie gia na min cifizei pano apo mia fora.*/
setcookie&#40;"vote", "poll", time&#40;&#41;+86400, "/", "olyplant.gr", 0&#41;; 
/*Kanoume tin sundesi me tin basi mas.*/
$conn = mysql_connect&#40;"localhost", "$username", "$password"&#41;;
mysql_select_db&#40;"$db",$conn&#41;;
/*Metrame posoi xristes exoun cifisi mexri stigmis.*/
$query = "SELECT * FROM my_poll"; 
$result = mysql_query&#40;$query&#41; or die&#40;mysql_error&#40;&#41;&#41;; 
$num = mysql_num_rows&#40;$result&#41;; 
if &#40;$num < 1&#41; &#123; 
$total_votes = "0"; 
&#125; else &#123; 
$total_votes = "$num"; 
&#125; 
/*Kai telos probaloume ton kodika me tin forma pou o xristis mporei na cifisei.*/
echo "
<html>
<head>
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-7\" />
<title>ΨΗΦΟΦΟΡΙΑ</title>
<style type=\"text/css\">
.top &#123;
	font-size&#58; 14px;
	font-family&#58; Verdana;&#125;
.view &#123;
	font-family&#58; Verdana;
	font-size&#58; 10px;&#125;
.view a&#123;
font-weight&#58;bold;
text-decoration&#58;none;
color&#58;#333333;&#125;
.view a&#58;hover&#123;
font-weight&#58;bold;
text-decoration&#58;none;
color&#58;#996699;
&#125;
</style>
</head>
<body>
<p class=\"top\">ΠΩΣ ΣΑΣ ΦΑΝΗΚΕ ΤΟ SCRIPT ΜΟΥ;</p>
<form id=\"form3\" name=\"vote\" method=\"post\" action=\"insert_vote.php\">
      <p>
        <label>
        <input type=\"radio\" name=\"my_vote\" value=\"1\" />
1 Χάλια</label>
        <br />
        <label>
        <input type=\"radio\" name=\"my_vote\" value=\"2\" />
2</label>
        <br />
        <label>
        <input type=\"radio\" name=\"my_vote\" value=\"3\" />
3 Μέτριο</label>
        <br />
        <label>
        <input type=\"radio\" name=\"my_vote\" value=\"4\" />
4</label>
        <br />
        <label>
        <input type=\"radio\" name=\"my_vote\" value=\"5\" />
5 Τέλειο</label>
        <br />
      </p>
  <input type=\"submit\" name=\"Vote\" value=\"Vote\" />
</form>
<p class=\"view\">Συνολικοί ψήφοι $total_votes </p>
</body>
</html>";&#125;
?>

Insert_vote.php
Από το όνομα αυτής της σελίδας είναι προφανές ποια ακριβώς είναι η δουλειά τις. Έχει μέσα τις τον κώδικα για την καταχώριση τον ψήφων στην βάση σας.

Κώδικας: Επιλογή όλων

<?php
/*Kaloume tis metablites pou periexoun tous kodikou gia tin sundesi me tin basei mas.*/
include&#40;"connection_variables.php"&#41;;

/*An oxi tote kanoume login stin basi mas*/
$conn = mysql_connect&#40;"localhost", "$username", "$password"&#41;;
mysql_select_db&#40;"$db",$conn&#41;;

/*Bazoume se metablites ola ta stoixia*/
$myip = $_SERVER&#91;'REMOTE_ADDR'&#93;;
$mydate = date&#40;"Y-m-d"&#41;;
$mytime = gmstrftime&#40;"%X",time&#40;&#41;+7200&#41;;
$myvote = $_POST&#91;my_vote&#93;;

/*Eisagoume tin cifo sto table mas.*/
$sql = "insert into my_poll values &#40;'', '$myip', '$mydate', '$mytime', '$myvote'&#41;"; 
if &#40;mysql_query&#40;$sql, $conn&#41;&#41; &#123;
	/*An h eggrafi petixei.*/
     echo "<html><head><meta http-equiv=\"refresh\" content=\"5;URL=poll.php\"></head><body>Record added!</body></html>";
&#125; else &#123;
	/*An h eggrafi apotixi.*/
    echo "Something went wrong";
&#125;

?>

Το table της βαση μας:

Στο table που θα φτιάξουμε δεν θα καταχωρούνται μόνο η ψήφοι αλλά και στοιχεία για τον χρήστη που ψήφισε.
Στοιχεία όπως:
- Η IP του
- Η ημέρα που ψήφησε
- Και τέλος η ώρα που ψήφησε

Όνομα: my_poll

Κώδικας: Επιλογή όλων

CREATE TABLE `my_poll` &#40;
`id` INT NOT NULL AUTO_INCREMENT ,
`ip` TEXT NOT NULL ,
`date` DATE NOT NULL ,
`time` TIME NOT NULL ,
`vote` TEXT NOT NULL ,
PRIMARY KEY &#40; `id` &#41; 
&#41; TYPE = MYISAM ;


Υ.Γ: Σόρρυ για τυχόν ορθογραφικά!!!
Τελευταία επεξεργασία από το μέλος p_pan την 27 Απρ 2010 21:47, έχει επεξεργασθεί 4 φορές συνολικά.
Αγράματος...

Άβαταρ μέλους
Andreas_O
Honorary Member
Δημοσιεύσεις: 1621
Εγγραφή: 14 Σεπ 2007 17:22
Τοποθεσία: Aθήνα
Επικοινωνία:

My Vote System

Δημοσίευση από Andreas_O » 13 Νοέμ 2007 22:29

Πάρα πολύ χρήσιμο. Θα το βάλω και online, απλα δεν έχω το phpmyadmin, βασικά το 'χω και επειδή είμαι άσχετος δεν ξέρω πως να "ανοίξω το panel :S "
;]

Άβαταρ μέλους
vassilism
Δημοσιεύσεις: 1950
Εγγραφή: 17 Μαρ 2007 14:47
Επικοινωνία:

My Vote System

Δημοσίευση από vassilism » 14 Νοέμ 2007 14:40

Μπράβο, πολύ καλό.
Πιστεύω οτι αν έβγαζες τα αποτελέσματα σε διάγραμα, θα ήταν ακόμη καλύτερο.

Άβαταρ μέλους
AAT
Δημοσιεύσεις: 379
Εγγραφή: 23 Αύγ 2007 16:31
Τοποθεσία: Lemesos, Limassol
Επικοινωνία:

My Vote System

Δημοσίευση από AAT » 14 Νοέμ 2007 15:43

Oraio, poly oraio.

Άβαταρ μέλους
p_pan
Δημοσιεύσεις: 1248
Εγγραφή: 11 Φεβ 2007 20:45
Τοποθεσία: Άστεγος!

My Vote System

Δημοσίευση από p_pan » 15 Νοέμ 2007 03:26

vassilism έγραψε: Πιστεύω οτι αν έβγαζες τα αποτελέσματα σε διάγραμα, θα ήταν ακόμη καλύτερο.
euxaristo...!!!! :D :D :D
ti diagrama???
an den kano la8os les auto p emfanizonte me tis eikones?!??!?! to tsekara an les gia auto kai brika kati se javascript alla den polu asxoli8ika... alla ama breis kati kai to teriajeis gt oxi na to pros8eso...
Αγράματος...

Άβαταρ μέλους
vassilism
Δημοσιεύσεις: 1950
Εγγραφή: 17 Μαρ 2007 14:47
Επικοινωνία:

My Vote System

Δημοσίευση από vassilism » 15 Νοέμ 2007 15:38

Ναι αυτό, αν έχω χρόνο κάποια στιγμή θα κάτσω να ασχοληθώ.

Άβαταρ μέλους
p_pan
Δημοσιεύσεις: 1248
Εγγραφή: 11 Φεβ 2007 20:45
Τοποθεσία: Άστεγος!

My Vote System

Δημοσίευση από p_pan » 15 Νοέμ 2007 19:18

egite arxige...
perimeno.............. :D
Αγράματος...

Απάντηση

Επιστροφή στο “PHP τα δικά μας scripts”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες