-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathcreateTheQuestion.php
More file actions
120 lines (94 loc) · 4.33 KB
/
createTheQuestion.php
File metadata and controls
120 lines (94 loc) · 4.33 KB
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
<?php
include_once 'db_configuration.php';
if (isset($_POST['topic'])){
$topic = mysqli_real_escape_string($db, $_POST['topic']);
$question = mysqli_real_escape_string($db,$_POST['question']);
$choice1 = mysqli_real_escape_string($db,$_POST['choice_1']);
$choice2 = mysqli_real_escape_string($db,$_POST['choice_2']);
$choice3 = mysqli_real_escape_string($db,$_POST['choice_3']);
$choice4 = mysqli_real_escape_string($db,$_POST['choice_4']);
$answer = mysqli_real_escape_string($db,$_POST['answer']);
$imageName = basename($_FILES["fileToUpload"]["name"]);
// check for empty file
if(empty($_FILES['fileToUpload']['name'])) {
header('Location: createQuestion.php?createQuestion=noFileSelected');
exit();
}
$imageName = basename($_FILES["fileToUpload"]["name"]);
// Create keyword array
$keywords = array();
if(isset($_POST['keyword']) && is_array($_POST['keyword'])){
foreach($_POST['keyword'] as $selectedKeyword){
$keyword = mysqli_real_escape_string($db, $selectedKeyword);
$keywords[] = $keyword;
}
}
$validate = true;
$validate = emailValidate($answer);
if($validate){
$target_dir = "Images/$topic/";
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
$uploadOk = 1;
$imageFileType = strtolower(pathinfo($target_file,PATHINFO_EXTENSION));
// Check if image file is a actual image or fake image
if(isset($_POST["submit"])) {
$check = getimagesize($_FILES["fileToUpload"]["tmp_name"]);
if($check !== false) {
$uploadOk = 1;
} else {
header('location: createQuestion.php?createQuestion=fileRealFailed');
$uploadOk = 0;
}
}
// Check if file already exists
if (file_exists($target_file)) {
header('location: createQuestion.php?createQuestion=fileExistFailed');
$uploadOk = 0;
}
// Allow certain file formats
if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg"
&& $imageFileType != "gif" ) {
header('location: createQuestion.php?createQuestion=fileTypeFailed');
$uploadOk = 0;
}
if(!is_dir($target_dir)){
mkdir($target_dir, 0777, true);
}
// Check if $uploadOk is set to 0 by an error
if ($uploadOk == 0) {
// if everything is ok, try to upload file
} else {
if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
$sql = "INSERT INTO questions(topic,question,choice_1,choice_2,choice_3,choice_4,answer,image_name)
VALUES ('$topic','$question','$choice1','$choice2','$choice3','$choice4','$answer','$target_file')
";
mysqli_query($db, $sql);
$question_id = mysqli_insert_id($db);
foreach($keywords as $keyword){
$keyword = mysqli_real_escape_string($db, $keyword);
$keywordID_Query = "SELECT id FROM keywords WHERE keyword = '$keyword'";
$keywordID_Query_Result = mysqli_query($db, $keywordID_Query);
if($keywordID_Query_Result && mysqli_num_rows($keywordID_Query_Result) > 0){
$keywordIDRow = mysqli_fetch_assoc($keywordID_Query_Result);
$keywordID = $keywordIDRow['id'];
// Mapping question and keyword
$mapKeywordQuery = "INSERT INTO question_keywords(question_id, keyword_id) VALUES ('$question_id', '$keywordID')";
mysqli_query($db, $mapKeywordQuery);
}
}
header('location: questions_list.php?createQuestion=Success');
}
}
}else{
header('location: createQuestion.php?createQuestion=answerFailed');
}
}//end if
function emailValidate($answer){
global $choice1,$choice2,$choice3,$choice4;
if($answer == $choice1 or $answer == $choice2 or $answer == $choice3 or $answer == $choice4){
return true;
}else{
return false;
}
}
?>