29. april 2013 - 12:05
Der er
3 kommentarer
omskrivning fra ASP til PHP
<%
dim Quiz(10) ' change number to num of questions you want to show
'Regler for opbygning af spørgsmål: Quiz(X) = "Spørgsmålets ordlyd|Det rigtige svar|Svar mulighed 1|Svar mulighed 2|Svar mulighed 3|Svar mulighed 4"
Quiz(0) = "Må man køre over for rødt?|Nej|vælg|Nej|Ja"
Quiz(1) = "I Danmark kører man i venstre side|Nej|vælg|Nej|Ja"
Quiz(2) = "I bymæssig bebyggelse må man køre ..|50 km/t|vælg|60 km/t|70 km/t|50 km/t"
Quiz(3) = "Må man overhale ved fuld optrukket linjer?|Nej|vælg|Ja|Nej"
Quiz(4) = "Skal du holde tilbage ved hajtænder?|Ja|vælg|Nej|Ja"
Quiz(5) = "Er det lov, at man skal have sele på?|Ja|vælg|Nej|Ja"
Quiz(6) = "Sidder rattet i højre side i danske biler?|Nej|vælg|Nej|Ja"
Quiz(7) = "Er baglygterne blå?|Nej|vælg|Nej|Ja"
Quiz(8) = "Sidder sidespejlene på begge sider af bilen?|Ja|vælg|Nej|Ja"
Quiz(9) = "Er der under 10 tal/bogstaver på en alm. dansk nummerplade?|Ja|vælg|Nej|Ja"
public Sub ShowQuiz()
response.write("<form action='quiz.asp' method='post'>")
for i = 0 to ubound(Quiz) - 1
Bits = split(Quiz(i) , "|")
response.write("<p>• " & Bits(0) & "<br>")
response.write("<select name='question" & i + 1 & "' class='tb'>")
for x = 2 to ubound(Bits)
response.write("<option value='" & Bits(x) & "'>" & Bits(x) & "</option>")
next
response.write("</select></p>")
next
response.write("<p><input type='submit' name='ProcessQuiz' value='Check answers' class='tb'></p></form>")
End sub
public sub ProcessQuiz()
for i = 0 to ubound(Quiz) - 1
Bits = split(Quiz(i) , "|")
if Bits(1) = request.form("Question"&i+1) then
Result = "<font color='#009900'>Correct</font>"
else
Result = "<font color='#ff0000'>Incorrect</font> - The correct answer was " & Bits(1)
end if
response.write("<p>• " & Bits(0) & "<br>")
response.write("You answered: " & request.form("Question"&i+1) & ". This was " & Result)
response.write("</p>")
next
end sub
%>
29. april 2013 - 12:38
#1
Hej og velkommen til. Det er ikke tilladt at oprette mere end ét spørgsmål, indeholdende samme emne, ad gangen. Så luk venligst dette spørgsmål.
29. april 2013 - 20:58
#2
Her er en fortolkning af dit script
<?php
/*
* Regler for opbygning af spørgsmål:
* $Quiz[X] = 'Spørgsmålets ordlyd","Det rigtige svar","Svar mulighed 1","Svar mulighed 2","Svar mulighed 3","Svar mulighed 4"
*/
$Quiz = array();
$Quiz[0] = array('Må man køre over for rødt?','Nej','Nej','Ja');
$Quiz[1] = array('I Danmark kører man i venstre side','Nej','Nej','Ja');
$Quiz[2] = array('I bymæssig bebyggelse må man køre ..','50 km/t','50 km/t','60 km/t','70 km/t');
$Quiz[3] = array('Må man overhale ved fuld optrukket linjer?','Nej','Nej','Ja');
$Quiz[4] = array('Skal du holde tilbage ved hajtænder?','Ja','Nej','Ja');
$Quiz[5] = array('Er det lov, at man skal have sele på?','Ja','Nej','Ja');
$Quiz[6] = array('Sidder rattet i højre side i danske biler?','Nej','Nej','Ja');
$Quiz[7] = array('Er baglygterne blå?','Nej','Nej','Ja');
$Quiz[8] = array('Sidder sidespejlene på begge sider af bilen?','Ja','Nej','Ja');
$Quiz[9] = array('Er der under 10 tal/bogstaver på en alm. dansk nummerplade?','Ja','Nej','Ja');
function ShowQuiz($Quiz)
{
?>
<form action='quiz.php' method='post'>
<?php
foreach($Quiz as $key => $value)
{
$svaret = count($value);
echo "<p>• " . $value[0] . "<br>";
echo "<select name='question" . $key . "' class='tb'>";
for ($i = 2; $i < $svaret; $i ++)
{
echo '<option value="'.$value[1].'">'.$value[$i].'</option>';
}
echo "</select><br>";
}
?>
</p>
<p>
<input type='submit' value='Check answers' class='tb'>
</p>
</form>
<?php
}
function ProcessQuiz($res,$Quiz,$i)
{
foreach($res as $value)
{
if (strcmp($value,$Quiz[$i][2]) === 0)
$Result = "<font color='#009900'>Correct</font>";
else
$Result = "<font color='#ff0000'>Incorrect</font> - The correct answer was ". $Quiz[$i][2];
echo "<p>• " . $Quiz[$i][0] . "<br>";
echo "You answered: " . $value . ". This was " . $Quiz[$i][2];
echo "</p>";
$i++;
}
}
/*
*
*/
if(isset($_POST['question0']))
ProcessQuiz($_POST,$Quiz,0);
else
ShowQuiz($Quiz);
?>