Skip to content
This repository was archived by the owner on Mar 28, 2019. It is now read-only.

Commit cb458eb

Browse files
committed
Fixed empty entry submission problem
1 parent 94f6278 commit cb458eb

File tree

9 files changed

+165
-109
lines changed

9 files changed

+165
-109
lines changed

account.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@
2323
echo("<div class=\"alert alert-success\">\nAccount settings updated!\n</div>");
2424
else if(isset($_GET['passerror']))
2525
echo("<div class=\"alert alert-error\">\nThe old password you entered is wrong. Please enter the correct password and try again.\n</div>");
26+
else if(isset($_GET['derror']))
27+
echo("<div class=\"alert alert-error\">\nPlease enter all the details asked before you can continue!\n</div>");
2628
?>
2729
Account settings for <?php echo($_SESSION['username']);?><hr/>
2830
<form method="post" action="update.php">

admin/index.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@
2424
echo("<div class=\"alert alert-success\">\nSettings Saved!\n</div>");
2525
else if(isset($_GET['passerror']))
2626
echo("<div class=\"alert alert-error\">\nThe old password is incorrect!\n</div>");
27+
else if(isset($_GET['derror']))
28+
echo("<div class=\"alert alert-error\">\nPlease enter all the details asked before you can continue!\n</div>");
2729
?>
2830
<ul class="nav nav-tabs">
2931
<li class="active"><a href="#">General</a></li>

admin/login.php

Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,21 @@
33
if(loggedin() and $_SESSION['username'] == 'admin')
44
header("Location: index.php");
55
else if(isset($_POST['password'])) {
6-
connectdb();
7-
$query = "SELECT salt,hash FROM users WHERE username='admin'";
8-
$result = mysql_query($query);
9-
$fields = mysql_fetch_array($result);
10-
$currhash = crypt($_POST['password'], $fields['salt']);
11-
if($currhash == $fields['hash']) {
12-
$_SESSION['username'] = "admin";
13-
header("Location: index.php");
14-
} else
15-
header("Location: login.php?error=1");
16-
} else
6+
if(trim($_POST['password']) == "")
7+
header("Location: login.php?derror=1");
8+
else {
9+
connectdb();
10+
$query = "SELECT salt,hash FROM users WHERE username='admin'";
11+
$result = mysql_query($query);
12+
$fields = mysql_fetch_array($result);
13+
$currhash = crypt($_POST['password'], $fields['salt']);
14+
if($currhash == $fields['hash']) {
15+
$_SESSION['username'] = "admin";
16+
header("Location: index.php");
17+
} else
18+
header("Location: login.php?error=1");
19+
}
20+
}
1721
?>
1822
<!DOCTYPE html>
1923
<html lang="en"><head>
@@ -73,6 +77,8 @@
7377
echo("<div class=\"alert alert-info\">\nYou have logged out successfully!\n</div>");
7478
else if(isset($_GET['error']))
7579
echo("<div class=\"alert alert-error\">\nIncorrect Password!\n</div>");
80+
else if(isset($_GET['derror']))
81+
echo("<div class=\"alert alert-error\">\nPlease enter all the details asked before you can continue!\n</div>");
7682
?>
7783
<h1><small>Login</small></h1>
7884
<p>Please login to use the admin panel.</p><br/>

admin/problems.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@
2525
echo("<div class=\"alert alert-error\">\nProblem deleted!\n</div>");
2626
else if(isset($_GET['updated']))
2727
echo("<div class=\"alert alert-success\">\nProblem updated!\n</div>");
28+
else if(isset($_GET['derror']))
29+
echo("<div class=\"alert alert-error\">\nPlease enter all the details asked before you can continue!\n</div>");
2830
?>
2931
<ul class="nav nav-tabs">
3032
<li><a href="index.php">General</a></li>

admin/update.php

Lines changed: 46 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -3,36 +3,56 @@
33
connectdb();
44
if(isset($_POST['action'])){
55
if($_POST['action']=='email') {
6-
mysql_query("UPDATE users SET email='".mysql_real_escape_string($_POST['email'])."' WHERE username='".$_SESSION['username']."'");
7-
header("Location: index.php?changed=1");
8-
} else if($_POST['action']=='password') {
9-
$query = "SELECT salt,hash FROM users WHERE username='admin'";
10-
$result = mysql_query($query);
11-
$fields = mysql_fetch_array($result);
12-
$currhash = crypt($_POST['oldpass'], $fields['salt']);
13-
if($currhash == $fields['hash']) {
14-
$salt = randomAlphaNum(5);
15-
$newhash = crypt($_POST['newpass'], $salt);
16-
mysql_query("UPDATE users SET hash='$newhash', salt='$salt' WHERE username='".$_SESSION['username']."'");
6+
if(trim($_POST['email']) == "")
7+
header("Location: index.php?derror=1");
8+
else {
9+
mysql_query("UPDATE users SET email='".mysql_real_escape_string($_POST['email'])."' WHERE username='".$_SESSION['username']."'");
1710
header("Location: index.php?changed=1");
18-
} else
19-
header("Location: index.php?passerror=1");
11+
}
12+
} else if($_POST['action']=='password') {
13+
if(trim($_POST['oldpass']) == "" or trim($_POST['newpass']) == "")
14+
header("Location: index.php?derror=1");
15+
else {
16+
$query = "SELECT salt,hash FROM users WHERE username='admin'";
17+
$result = mysql_query($query);
18+
$fields = mysql_fetch_array($result);
19+
$currhash = crypt($_POST['oldpass'], $fields['salt']);
20+
if($currhash == $fields['hash']) {
21+
$salt = randomAlphaNum(5);
22+
$newhash = crypt($_POST['newpass'], $salt);
23+
mysql_query("UPDATE users SET hash='$newhash', salt='$salt' WHERE username='".$_SESSION['username']."'");
24+
header("Location: index.php?changed=1");
25+
} else
26+
header("Location: index.php?passerror=1");
27+
}
2028
} else if($_POST['action']=='settings') {
21-
if($_POST['accept']=='on') $accept=1; else $accept=0;
22-
if($_POST['c']=='on') $c=1; else $c=0;
23-
if($_POST['cpp']=='on') $cpp=1; else $cpp=0;
24-
if($_POST['java']=='on') $java=1; else $java=0;
25-
if($_POST['python']=='on') $python=1; else $python=0;
26-
mysql_query("UPDATE prefs SET name='".mysql_real_escape_string($_POST['name'])."', accept=$accept, c=$c, cpp=$cpp, java=$java, python=$python");
27-
header("Location: index.php?changed=1");
29+
if(trim($_POST['name']) == "")
30+
header("Location: index.php?derror=1");
31+
else {
32+
if($_POST['accept']=='on') $accept=1; else $accept=0;
33+
if($_POST['c']=='on') $c=1; else $c=0;
34+
if($_POST['cpp']=='on') $cpp=1; else $cpp=0;
35+
if($_POST['java']=='on') $java=1; else $java=0;
36+
if($_POST['python']=='on') $python=1; else $python=0;
37+
mysql_query("UPDATE prefs SET name='".mysql_real_escape_string($_POST['name'])."', accept=$accept, c=$c, cpp=$cpp, java=$java, python=$python");
38+
header("Location: index.php?changed=1");
39+
}
2840
} else if($_POST['action']=='addproblem') {
29-
$query="INSERT INTO `problems` ( `name` , `text`, `input`, `output`) VALUES ('".mysql_real_escape_string($_POST['title'])."', '".mysql_real_escape_string($_POST['problem'])."', '".mysql_real_escape_string($_POST['input'])."', '".mysql_real_escape_string($_POST['output'])."')";
30-
mysql_query($query);
31-
header("Location: problems.php?added=1");
41+
if(trim($_POST['title']) == "" or trim($_POST['problem']) == "")
42+
header("Location: problems.php?derror=1");
43+
else {
44+
$query="INSERT INTO `problems` ( `name` , `text`, `input`, `output`) VALUES ('".mysql_real_escape_string($_POST['title'])."', '".mysql_real_escape_string($_POST['problem'])."', '".mysql_real_escape_string($_POST['input'])."', '".mysql_real_escape_string($_POST['output'])."')";
45+
mysql_query($query);
46+
header("Location: problems.php?added=1");
47+
}
3248
} else if($_POST['action']=='editproblem' and is_numeric($_POST['id'])) {
33-
mysql_query("UPDATE problems SET input='".mysql_real_escape_string($_POST['input'])."', output='".mysql_real_escape_string($_POST['output'])."', name='".mysql_real_escape_string($_POST['title'])."', text='".mysql_real_escape_string($_POST['problem'])."' WHERE sl='".$_POST['id']."'");
34-
mysql_query($query);
35-
header("Location: problems.php?updated=1&action=edit&id=".$_POST['id']);
49+
if(trim($_POST['title']) == "" or trim($_POST['problem']) == "")
50+
header("Location: problems.php?derror=1&action=edit&id=".$_POST['id']);
51+
else {
52+
mysql_query("UPDATE problems SET input='".mysql_real_escape_string($_POST['input'])."', output='".mysql_real_escape_string($_POST['output'])."', name='".mysql_real_escape_string($_POST['title'])."', text='".mysql_real_escape_string($_POST['problem'])."' WHERE sl='".$_POST['id']."'");
53+
mysql_query($query);
54+
header("Location: problems.php?updated=1&action=edit&id=".$_POST['id']);
55+
}
3656
}
3757
}
3858
else if(isset($_GET['action'])){

eval.php

Lines changed: 43 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -12,47 +12,51 @@
1212
$soln = mysql_real_escape_string($_POST['soln']);
1313
$filename = mysql_real_escape_string($_POST['filename']);
1414
$lang = mysql_real_escape_string($_POST['lang']);
15-
if($_POST['ctype']=='new')
16-
$query = "INSERT INTO `solve` ( `problem_id` , `username`, `soln`, `filename`, `lang`) VALUES ('".$_POST['id']."', '".$_SESSION['username']."', '".$soln."', '".$filename."', '".$lang."')";
17-
else {
18-
$tmp = "SELECT attempts FROM solve WHERE (problem_id='".$_POST['id']."' AND username='".$_SESSION['username']."')";
19-
$result = mysql_query($tmp);
20-
$fields = mysql_fetch_array($result);
21-
$query = "UPDATE solve SET lang='".$lang."', attempts='".($fields['attempts']+1)."', soln='".$soln."', filename='".$filename."' WHERE (username='".$_SESSION['username']."' AND problem_id='".$_POST['id']."')";
22-
}
23-
mysql_query($query);
24-
$socket = fsockopen($compilerhost, $compilerport);
25-
if($socket) {
26-
fwrite($socket, $_POST['filename']."\n");
27-
$soln = str_replace("\n", '$_n_$', treat($_POST['soln']));
28-
fwrite($socket, $soln."\n");
29-
$query = "SELECT input, output FROM problems WHERE sl='".$_POST['id']."'";
30-
$result = mysql_query($query);
31-
$fields = mysql_fetch_array($result);
32-
$input = str_replace("\n", '$_n_$', treat($fields['input']));
33-
fwrite($socket, $input."\n");
34-
fwrite($socket, $lang."\n");
35-
$status = fgets($socket);
36-
$contents = "";
37-
while(!feof($socket))
38-
$contents = $contents."\n".fgets($socket);
39-
if($status == 0) {
40-
$query = "UPDATE solve SET status=1 WHERE (username='".$_SESSION['username']."' AND problem_id='".$_POST['id']."')";
41-
mysql_query($query);
42-
$_SESSION['cerror'] = trim($contents);
43-
header("Location: solve.php?cerror=1&id=".$_POST['id']);
44-
} else if($status == 1) {
45-
if(trim($contents) == trim(treat($fields['output']))) {
46-
$query = "UPDATE solve SET status=2 WHERE (username='".$_SESSION['username']."' AND problem_id='".$_POST['id']."')";
47-
mysql_query($query);
48-
header("Location: index.php?success=1");
49-
} else {
15+
if(trim($soln) == "" or trim($filename) == "" or trim($lang) == "")
16+
header("Location: solve.php?derror=1&id=".$_POST['id']);
17+
else {
18+
if($_POST['ctype']=='new')
19+
$query = "INSERT INTO `solve` ( `problem_id` , `username`, `soln`, `filename`, `lang`) VALUES ('".$_POST['id']."', '".$_SESSION['username']."', '".$soln."', '".$filename."', '".$lang."')";
20+
else {
21+
$tmp = "SELECT attempts FROM solve WHERE (problem_id='".$_POST['id']."' AND username='".$_SESSION['username']."')";
22+
$result = mysql_query($tmp);
23+
$fields = mysql_fetch_array($result);
24+
$query = "UPDATE solve SET lang='".$lang."', attempts='".($fields['attempts']+1)."', soln='".$soln."', filename='".$filename."' WHERE (username='".$_SESSION['username']."' AND problem_id='".$_POST['id']."')";
25+
}
26+
mysql_query($query);
27+
$socket = fsockopen($compilerhost, $compilerport);
28+
if($socket) {
29+
fwrite($socket, $_POST['filename']."\n");
30+
$soln = str_replace("\n", '$_n_$', treat($_POST['soln']));
31+
fwrite($socket, $soln."\n");
32+
$query = "SELECT input, output FROM problems WHERE sl='".$_POST['id']."'";
33+
$result = mysql_query($query);
34+
$fields = mysql_fetch_array($result);
35+
$input = str_replace("\n", '$_n_$', treat($fields['input']));
36+
fwrite($socket, $input."\n");
37+
fwrite($socket, $lang."\n");
38+
$status = fgets($socket);
39+
$contents = "";
40+
while(!feof($socket))
41+
$contents = $contents."\n".fgets($socket);
42+
if($status == 0) {
5043
$query = "UPDATE solve SET status=1 WHERE (username='".$_SESSION['username']."' AND problem_id='".$_POST['id']."')";
5144
mysql_query($query);
52-
header("Location: solve.php?oerror=1&id=".$_POST['id']);
45+
$_SESSION['cerror'] = trim($contents);
46+
header("Location: solve.php?cerror=1&id=".$_POST['id']);
47+
} else if($status == 1) {
48+
if(trim($contents) == trim(treat($fields['output']))) {
49+
$query = "UPDATE solve SET status=2 WHERE (username='".$_SESSION['username']."' AND problem_id='".$_POST['id']."')";
50+
mysql_query($query);
51+
header("Location: index.php?success=1");
52+
} else {
53+
$query = "UPDATE solve SET status=1 WHERE (username='".$_SESSION['username']."' AND problem_id='".$_POST['id']."')";
54+
mysql_query($query);
55+
header("Location: solve.php?oerror=1&id=".$_POST['id']);
56+
}
5357
}
54-
}
55-
} else
56-
header("Location: solve.php?serror=1&id=".$_POST['id']);
58+
} else
59+
header("Location: solve.php?serror=1&id=".$_POST['id']);
60+
}
5761
}
5862
?>

login.php

Lines changed: 30 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -5,29 +5,37 @@
55
else if(isset($_POST['action'])) {
66
$username = mysql_real_escape_string($_POST['username']);
77
if($_POST['action']=='login') {
8-
connectdb();
9-
$query = "SELECT salt,hash FROM users WHERE username='".$username."'";
10-
$result = mysql_query($query);
11-
$fields = mysql_fetch_array($result);
12-
$currhash = crypt($_POST['password'], $fields['salt']);
13-
if($currhash == $fields['hash']) {
14-
$_SESSION['username'] = $username;
15-
header("Location: index.php");
16-
} else
17-
header("Location: login.php?error=1");
8+
if(trim($username) == "" or trim($_POST['password']) == "")
9+
header("Location: login.php?derror=1");
10+
else {
11+
connectdb();
12+
$query = "SELECT salt,hash FROM users WHERE username='".$username."'";
13+
$result = mysql_query($query);
14+
$fields = mysql_fetch_array($result);
15+
$currhash = crypt($_POST['password'], $fields['salt']);
16+
if($currhash == $fields['hash']) {
17+
$_SESSION['username'] = $username;
18+
header("Location: index.php");
19+
} else
20+
header("Location: login.php?error=1");
21+
}
1822
} else if($_POST['action']=='register') {
1923
$email = mysql_real_escape_string($_POST['email']);
20-
connectdb();
21-
$query = "SELECT salt,hash FROM users WHERE username='".$username."'";
22-
$result = mysql_query($query);
23-
if(mysql_num_rows($result)!=0)
24-
header("Location: login.php?exists=1");
24+
if(trim($username) == "" or trim($_POST['password']) == "" or trim($email) == "")
25+
header("Location: login.php?derror=1");
2526
else {
26-
$salt = randomAlphaNum(5);
27-
$hash = crypt($_POST['password'], $salt);
28-
$sql="INSERT INTO `users` ( `username` , `salt` , `hash` , `email` ) VALUES ('".$username."', '$salt', '$hash', '".$email."')";
29-
mysql_query($sql);
30-
header("Location: login.php?registered=1");
27+
connectdb();
28+
$query = "SELECT salt,hash FROM users WHERE username='".$username."'";
29+
$result = mysql_query($query);
30+
if(mysql_num_rows($result)!=0)
31+
header("Location: login.php?exists=1");
32+
else {
33+
$salt = randomAlphaNum(5);
34+
$hash = crypt($_POST['password'], $salt);
35+
$sql="INSERT INTO `users` ( `username` , `salt` , `hash` , `email` ) VALUES ('".$username."', '$salt', '$hash', '".$email."')";
36+
mysql_query($sql);
37+
header("Location: login.php?registered=1");
38+
}
3139
}
3240
}
3341
}
@@ -94,6 +102,8 @@
94102
echo("<div class=\"alert alert-success\">\nYou have been registered successfully! Login to continue.\n</div>");
95103
else if(isset($_GET['exists']))
96104
echo("<div class=\"alert alert-error\">\nUser already exists! Please select a different username.\n</div>");
105+
else if(isset($_GET['derror']))
106+
echo("<div class=\"alert alert-error\">\nPlease enter all the details asked before you can continue!\n</div>");
97107
?>
98108
<h1><small>Login</small></h1>
99109
<p>Please login to continue.</p><br/>

solve.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,8 @@
2727
echo("<div class=\"alert alert-error\">\nYou did not use one of the allowed languages. Please use a language that is allowed.\n</div>");
2828
else if(isset($_GET['serror']))
2929
echo("<div class=\"alert alert-error\">\nCould not connect to the compiler server. Please contact the admin to solve the problem.\n</div>");
30+
else if(isset($_GET['derror']))
31+
echo("<div class=\"alert alert-error\">\nPlease enter all the details asked before you can continue!\n</div>");
3032

3133
$query = "SELECT * FROM prefs";
3234
$result = mysql_query($query);

update.php

Lines changed: 21 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,19 +2,27 @@
22
include('functions.php');
33
connectdb();
44
if($_POST['action']=='email') {
5-
mysql_query("UPDATE users SET email='".mysql_real_escape_string($_POST['email'])."' WHERE username='".$_SESSION['username']."'");
6-
header("Location: account.php?changed=1");
7-
} else if($_POST['action']=='password') {
8-
$query = "SELECT salt,hash FROM users WHERE username='".$_SESSION['username']."'";
9-
$result = mysql_query($query);
10-
$fields = mysql_fetch_array($result);
11-
$currhash = crypt($_POST['oldpass'], $fields['salt']);
12-
if($currhash == $fields['hash']) {
13-
$salt = randomAlphaNum(5);
14-
$newhash = crypt($_POST['newpass'], $salt);
15-
mysql_query("UPDATE users SET hash='$newhash', salt='$salt' WHERE username='".$_SESSION['username']."'");
5+
if(trim($_POST['email']) == "")
6+
header("Location: account.php?derror=1");
7+
else {
8+
mysql_query("UPDATE users SET email='".mysql_real_escape_string($_POST['email'])."' WHERE username='".$_SESSION['username']."'");
169
header("Location: account.php?changed=1");
17-
} else
18-
header("Location: account.php?passerror=1");
10+
}
11+
} else if($_POST['action']=='password') {
12+
if(trim($_POST['oldpass']) == "" or trim($_POST['newpass']) == "")
13+
header("Location: account.php?derror=1");
14+
else {
15+
$query = "SELECT salt,hash FROM users WHERE username='".$_SESSION['username']."'";
16+
$result = mysql_query($query);
17+
$fields = mysql_fetch_array($result);
18+
$currhash = crypt($_POST['oldpass'], $fields['salt']);
19+
if($currhash == $fields['hash']) {
20+
$salt = randomAlphaNum(5);
21+
$newhash = crypt($_POST['newpass'], $salt);
22+
mysql_query("UPDATE users SET hash='$newhash', salt='$salt' WHERE username='".$_SESSION['username']."'");
23+
header("Location: account.php?changed=1");
24+
} else
25+
header("Location: account.php?passerror=1");
26+
}
1927
}
2028
?>

0 commit comments

Comments
 (0)