我的php测验不是将用户的成绩写入单独的文件。我不确定我是否正确行事

时间:2015-03-17 07:04:20

标签: php fwrite

我有一个问题是让我的php测验将用户的成绩写入单独的文件。它显示了他们有多少是正确/错误但它没有写入文件。我的代码在这里有什么问题可以防止这种情况,或者我错过了什么?一些有建设性的意见会有所帮助。

<?php
session_start();
#error_reporting(E_ALL); ini_set('display_errors', 1);
require_once('connect.php');
require_once "lib.php";
require_once "utils.php";
$quiz_done = true;
if(isset($_SESSION['active']))
{
    $EmailAddress = $_SESSION['EmailAddress'];
    $sql="SELECT * FROM users WHERE EmailAddress='$EmailAddress'";

    if($Results = mysqli_query($link, $sql))
    {
        while($row = mysqli_fetch_array($Results, MYSQLI_ASSOC))
        {
            $UserID = $row['UserID'];
            $_SESSION['UserID'] = $UserID;
        }
    }
    echo $UserID;
    $sql1="SELECT * FROM Quiz WHERE UserID='$UserID'";
    $result1 = mysqli_query($link, $sql1);
    if($result1)
    {
        while($record = mysqli_fetch_row($result1))
        {
            if($record == $UserID)
            {
                $quiz_done=true;                    
                $sql="DELETE FROM Quiz WHERE UserID='$UserID'";
                $Results = mysqli_query($link, $sql);
            }
            else
            {
                $quiz_done=false;                   
            }
     }
    }
}
else
{
    header("Location: login.php");
}
?>
<html>
   <head>
      <title>Quiz</title>
   </head>
   <br></br>
   <br></br>
   <body class="body">
      <div id='wrapper'>
      <div id="header">
         <br>
         <h1> PHP Learning Course! </h1>
         </br>
         <?php include_once "left.php" ?>
      </div>
      <div id="quiz">
      <div id="quiz_name">
         <h3>PHP Learning Quiz</h3>
      </div>
      <p>
      <div id='quiz1_form'>
<?php
#function func($quiz_done)
#{
#    if($quiz_done == true && $SESSION['q_No'] > 0)
#    {
#        header("Location: results.php");
#    }
#}
    echo <<<EOT
   <FORM name="quiz" id="myQuiz" method="post" action="results.php">
   <input type="hidden" name="quiz_no">
   Firstname:<input type="text" name="fname">
   Lastname:<input type="text" name="lname">
   <br>
   <pre>
   01. PHP is a closed source software.
   </pre>
   True<INPUT type="radio" name="Q1" value="True">
   False<INPUT type="radio" name="Q1" value="False">
   </br>

   <br>
   <pre>
   02. PHP is a sever-side scription language?
   </pre>
   True<INPUT type="radio" name="Q2" value="True">
   False<INPUT type="radio" name="Q2" value="False">
   </br>

   <br>
   <pre>
   03. PHP does not support databases?
   </pre>
   True<INPUT type="radio" name="Q3" value="True">
   False<INPUT type="radio" name="Q3" value="False">
   </br>

   <br>
   <pre>
   04. PHP can run on different platforms ( Ex, Windows, Linux, and Unix)?
   </pre>
   True<INPUT type="radio" name="Q4" value="True">
   False<INPUT type="radio" name="Q4" value="False">
   </br>

   <br>
   <pre>
   05. You can use forms to take input from the user and store that information in a database or file?
   </pre>
   True<INPUT type="radio" name="Q5" value="True">
   False<INPUT type="radio" name="Q5" value="False">
   </br>

   <p>
   <input id="subbut" type="submit" value="Submit FORM">
   <INPUT ID="subbut" TYPE="reset" VALUE="Clear FORM">
   </p>
   </form>
EOT;
?>
</p>
</div>
</div>  <!-- end main div -->
</div>  <!-- end wrapper div -->
</body>
</html>

1 个答案:

答案 0 :(得分:0)

在那里甚至没有写文件。我会调查

public function writeGrade(){
        $content  = "".$userid." Results";
        $content .= "".$YourGradeVariable."";
        $content .="\r\n";
        $fp = fopen($_SERVER['DOCUMENT_ROOT'] . "/".$userid.".txt","wb");
        fwrite($fp,$content);
        fclose($fp);
    }

这很普遍,但你应该能够自定义它以满足你的需求。