|
19 | 19 | }
|
20 | 20 | mysql_query($query);
|
21 | 21 | $socket = fsockopen($compilerhost, $compilerport);
|
22 |
| - fwrite($socket, $_POST['filename']."\n"); |
23 |
| - $soln = str_replace("\n", '$_n_$', treat($_POST['soln'])); |
24 |
| - fwrite($socket, $soln."\n"); |
25 |
| - $query = "SELECT input, output FROM problems WHERE sl='".$_POST['id']."'"; |
26 |
| - $result = mysql_query($query); |
27 |
| - $fields = mysql_fetch_array($result); |
28 |
| - $input = str_replace("\n", '$_n_$', treat($fields['input'])); |
29 |
| - fwrite($socket, $input."\n"); |
30 |
| - fwrite($socket, $_POST['lang']."\n"); |
31 |
| - $status = fgets($socket); |
32 |
| - $contents = ""; |
33 |
| - while(!feof($socket)) |
34 |
| - $contents = $contents."\n".fgets($socket); |
35 |
| - if($status == 0) { |
36 |
| - $query = "UPDATE solve SET status=1 WHERE (username='".$_SESSION['username']."' AND problem_id='".$_POST['id']."')"; |
37 |
| - mysql_query($query); |
38 |
| - $_SESSION['cerror'] = trim($contents); |
39 |
| - header("Location: solve.php?cerror=1&id=".$_POST['id']); |
40 |
| - } else if($status == 1) { |
41 |
| - if(trim($contents) == trim(treat($fields['output']))) { |
42 |
| - $query = "UPDATE solve SET status=2 WHERE (username='".$_SESSION['username']."' AND problem_id='".$_POST['id']."')"; |
43 |
| - mysql_query($query); |
44 |
| - header("Location: index.php?success=1"); |
45 |
| - } else { |
| 22 | + if($socket) { |
| 23 | + fwrite($socket, $_POST['filename']."\n"); |
| 24 | + $soln = str_replace("\n", '$_n_$', treat($_POST['soln'])); |
| 25 | + fwrite($socket, $soln."\n"); |
| 26 | + $query = "SELECT input, output FROM problems WHERE sl='".$_POST['id']."'"; |
| 27 | + $result = mysql_query($query); |
| 28 | + $fields = mysql_fetch_array($result); |
| 29 | + $input = str_replace("\n", '$_n_$', treat($fields['input'])); |
| 30 | + fwrite($socket, $input."\n"); |
| 31 | + fwrite($socket, $_POST['lang']."\n"); |
| 32 | + $status = fgets($socket); |
| 33 | + $contents = ""; |
| 34 | + while(!feof($socket)) |
| 35 | + $contents = $contents."\n".fgets($socket); |
| 36 | + if($status == 0) { |
46 | 37 | $query = "UPDATE solve SET status=1 WHERE (username='".$_SESSION['username']."' AND problem_id='".$_POST['id']."')";
|
47 | 38 | mysql_query($query);
|
48 |
| - header("Location: solve.php?oerror=1&id=".$_POST['id']); |
| 39 | + $_SESSION['cerror'] = trim($contents); |
| 40 | + header("Location: solve.php?cerror=1&id=".$_POST['id']); |
| 41 | + } else if($status == 1) { |
| 42 | + if(trim($contents) == trim(treat($fields['output']))) { |
| 43 | + $query = "UPDATE solve SET status=2 WHERE (username='".$_SESSION['username']."' AND problem_id='".$_POST['id']."')"; |
| 44 | + mysql_query($query); |
| 45 | + header("Location: index.php?success=1"); |
| 46 | + } else { |
| 47 | + $query = "UPDATE solve SET status=1 WHERE (username='".$_SESSION['username']."' AND problem_id='".$_POST['id']."')"; |
| 48 | + mysql_query($query); |
| 49 | + header("Location: solve.php?oerror=1&id=".$_POST['id']); |
| 50 | + } |
49 | 51 | }
|
50 |
| - } |
| 52 | + } else |
| 53 | + header("Location: solve.php?serror=1&id=".$_POST['id']); |
51 | 54 | }
|
52 | 55 | ?>
|
0 commit comments