0

これが私のメインのphpファイルです。関連するコードのみを含めています:-

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"          "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en-AU">

 <head>
 <title>OSTA - Take Test</title>

 <meta http-equiv="content-type" content="application/xhtml+xml; charset=UTF-8" />

 <link href="css.css" rel="stylesheet" type="text/css" />  

 <script language="javascript" type="text/javascript" src="editarea/edit_area/edit_area_full.js"></script>

</head>

<body>

<div class="wrapper">
<div class="header">
<h1> OSTA - Take Test</h1>
</div><!-- end header -->

<div class="nav">
<ul>
<li>Hello <?php echo htmlentities($_SESSION['user']['username'], ENT_QUOTES, 'UTF- 8');    ?></li>
<li><a href="s_assignments.php">Assignments</a></li>
<li><a href="s_edit_account.php">Edit Account</a></li>
<li><a href="s_logout.php">Logout</a></li>
</ul>
</div><!-- end nav -->

<div class="content">   
<?php   
echo "<form id='code' action='take_test.php' method='post'>";
$con=mysqli_connect($host,$username,$password,$dbname);
// Check connection
if (mysqli_connect_errno($con))
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}


if(isset($_POST['next']))
{

$aa = $_POST['source'];
    $query = "INSERT INTO student_test(status,user_name,aaid,qqid,answer,submit_time)
VALUES('1','{$_SESSION['user']     ['username']}','{$_POST['edit']}','{$_POST['qid']}','{$aa}',NOW())";
  $rest5=mysqli_query($con,$query);

$qry="SELECT qid FROM questions where aid={$_POST['edit']}
ORDER BY qid DESC
LIMIT 1";
$restfinal=mysqli_query($con,$qry);
$rowfinal = mysqli_fetch_array($restfinal);
$qidfinal = $rowfinal['qid'];
if ($qidfinal==$_POST['qid'])
{   
echo "Test Submitted Successfully.";
sleep( 3 );
header("Location: s_assignments.php");
echo "Test Submitted Successfully.";
}
}
echo "<input type='hidden' value='$a' name='a'>";

 echo "<td>"."<input type='submit' class='button' name='compile' id='compile'   value='Compile Code'>"."</td>";
 echo "<td>"."<input type ='submit' class='button' name ='next' value='Next   Question'>"."</td>";

 echo"</form>";

?>
<div id="response">
    <div class="meta"></div>
    <div class="output"></div>
</div>
</div><!-- end content -->

<div class="footer">
 <p>designed by  |  &copy;  </p>
 </div><!-- end footer -->
 </div><!-- end wrapper -->
  <script language="javascript" type="text/javascript">
  editAreaLoader.init({
  id : "source"       // textarea id
  ,syntax: "css"          // syntax to be uses for highgliting
  ,start_highlight: true      // to display with highlight mode on start-up
 });
</script>

<script type="text/javascript" src="jquery.min.js"></script>
<script src="script.js"></script>     
 </body>
 </html>

上記のコードは、ユーザーがテキスト領域に入力したコードを [コンパイル] ボタンをクリックしてコンパイルし、[次の問題] ボタンをクリックして次の問題に移動する役割を果たします。はい、これは php のクイズ プログラムです。ユーザーがコンパイル ボタンをクリックすると、script.js ファイルが応答し、div id="response" タグに出力が表示されます。

script.js コードは次のとおりです。

jQuery(document).ready(function($) {
var buttonpressed;

$('.button').click(function() {
  buttonpressed = $(this).attr('name');
});

$('#code').submit(function() {
  //alert('Button Pressed is:' + buttonpressed);
  if(buttonpressed=="compile"){
    buttonpressed='';
    var data = $(this).serialize();
    var source = $('textarea#source').val();

    if( source == '' ) {
        alert( 'No source code provided');
        return false;
    }
    $(this).append('<div class="loading">Processing...</div>');
    $.ajax({
        type: 'post',
        url: 'process.php',
        dataType: 'json',
        data: data + '&process=1',
        cache: false,
        success: function(response){
            $('.loading').remove();
            $('.cmpinfo').remove();
            $('#response').show();
            //alert(response);
            console.log(response.raw);
            if( response.status == 'success' ) {
                $('.meta').text( response.meta );
                $('.output').html('<strong>Output</strong>: <br><br><pre>' + response.output + '</pre>');
                if( response.cmpinfo ) {
                    $('.cmpinfo').remove();
                    $('.meta').after('<div class="cmpinfo"></div>');
                    $('.cmpinfo').html('<strong>Compiler Info: </strong> <br><br>' + response.cmpinfo );
                }
            } else {
                //$('.output').html('<pre>' + response + '</pre>');
                alert( response.output );
            }
        }
    });
 return false;
 }
 else {
     return true;
 }
   });
 });// jquery ends

問題は、コンパイル ボタンを押すと未定義のエラーが表示されることです。

4

0 に答える 0