我有一个问题是让我的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>
答案 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);
}
这很普遍,但你应该能够自定义它以满足你的需求。