-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsubmit.php
43 lines (39 loc) · 1.42 KB
/
submit.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
<?php
#DATABASE CREDENTIALS#
$servername = "serverlocation";
$dbname = "spartavote";
$username = "root";
$password = "12345";
if(isset($_POST["choice"]) && isset($_POST["nim"]) && isset($_POST["ticket"])){
$choice = $_POST["choice"];
$nim = $_POST["nim"];
$ticket = $_POST["ticket"];
#CONNECT TO DATABASE WITH PDO#
try {
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch(PDOException $e){
echo "Connection failed: " . $e->getMessage();
}
#ASSUMING VOTE DATABASE EXISTED WITH ROW#
#ID (AutoInc), DATETIME (CurrDate), NIM, SSOTICKET, VOTE#
$insquery = "INSERT INTO votetable(nim,ssoticket,vote) VALUE (:nim,:ssoticket,:vote)";
$ins = $conn -> prepare($insquery);
$chkquery = "SELECT * FROM votetable WHERE nim = :nim";
$chk = $conn->prepare($chkquery);
$chk->bindValue(":nim", $nim, PDO::PARAM_STR);
$chk->execute();
if (($chk->rowCount()) === 0) {
$ins->bindValue(":nim", $nim,PDO::PARAM_STR);
$ins->bindValue(":ssoticket", $ticket,PDO::PARAM_STR);
$ins->bindValue(":vote", $choice,PDO::PARAM_INT);
$ins->execute();
echo "Vote from ".$nim." has been recorded succesfully";
}else{
die("You have voted before. Only one vote per person");
}
}else{
die("Submission failed! Please try again in a few moments");
}
?>