Avatar billede badeflue Nybegynder
27. oktober 2004 - 10:37 Der er 13 kommentarer

hjælp til php-quiz

hejsa. Jeg er igang med at lave en quiz i php. Selve quizzen ser ud til at virke fint nok, men det jeg nu mangler er en metode til at lade bruger indtaste sit navn, og derefter bruge den videre hen i quizzen. Jeg tænker jeg vil lave en seperat side hvor bruger skal skrive sit navn. Nu vil jeg så gerne have sendt den brugernavns data til min fil quiz.php, og hvorefter den så skal gå videre til selve quiz siden quiz.html. Jeg vil så herefter bruge det navn som brugeren har indtastet i starten når han er færdig med quizen. Jeg kan godt finde ud af at bruge den navnedata som brugeren har tilføjet i starten hvis den bliver sendt til quiz.php, men det der med at få den til at skifte til quiz.html. Jeg er helt ny til php, og det kan godt være det er volapyk, men håber på i kan hjælpe mig =)
Avatar billede Slettet bruger
27. oktober 2004 - 11:03 #1
du kan benytte dig af sessions.
På første side indtaster brugeren sit navn:

<form id="form1" action="quiz.php" method="post">
  <div>
  <input type="text" id="navn">
  <input type="submt" id="submit">
  </div>
</form>
--------------------


På næste side (quiz.php) har du så din quiz. men før koden i din quiz skrive du:

<?php
session_start();
$_SESSION[navn] = $_POST[navn];
?>

--------------------

På din "afslutningsside" altså derhvor man får resultatet her du så:

<?php
session_start();
$navn = $_SESSION[navn];
echo $navn.", du fik dette resultat:";
?>

--------------------
var det noget du kunne bruge?
Avatar billede drbean Nybegynder
27. oktober 2004 - 13:08 #2
Hvorfor quiz.html?? Det kan du ikke. Kald den istedet quiz.php, du kan nemlig godt have html i dine php filer
Avatar billede badeflue Nybegynder
27. oktober 2004 - 14:46 #3
jeg har egentlig lavet seperate sider lidt for overskuelighedens skyld, da jeg lige er begyndt på php.. Kan godt være det var bedre at lave det hele i en fil.. Men prøver lige at sætte det kode ind og se hvad der sker
Avatar billede Slettet bruger
27. oktober 2004 - 17:10 #4
drbean -> jo han kan da sagtens have selve quizzen, som sikkerte består af en masse forms, i et htm...
Avatar billede badeflue Nybegynder
27. oktober 2004 - 17:58 #5
jeg har lidt forgæves prøvet at få skidtet til at virke.. så nu prøver jeg at ligge kildekoden ud og ser om det kan hjælpe

index.html:


<html>
<head>
<title>Jonas hardware quiz</title>
</head>
<font size='10' face='impact'>
<b>Jonas hardware quiz</b><br>
<br>
<body>
<font size='3' face='arial black'>

<form name="quiz" action="quiz.php" method="post">
<b>Spørgsmål 1: Hvad står RAM for? </b><br>
<font size='2' face='arial'>
<input type="radio" name="one" value="1">Right Amplitude Frequency<br>
<input type="radio" name="one" value="2">Ret Alle Mediefejl<br>
<input type="radio" name="one" value="3">Random Access Memory<br>
<input type="radio" name="one" value="4">Running At Max<br>

<br>

<img src="grafikkort.jpg"> <br>
<font size='3' face='arial black'>
<b>Spørgsmål 2: Hvad kan man se på ovenstående billede?</b><br>
<font size='2' face='arial'>
<input type="radio" name="two" value="1">Netkort<br>
<input type="radio" name="two" value="2">Grafikkort<br>
<input type="radio" name="two" value="3">Lydkort<br>
<input type="radio" name="two" value="4">Bundkort<br>

<br>
<font size='3' face='arial black'>
<b>Spørgsmål 3: Hvad står FSB for?</b><br>
<font size='2' face='arial'>
<input type="radio" name="three" value="1">Full Screen Bundle<br>
<input type="radio" name="three" value="2">Front Side Bus<br>
<input type="radio" name="three" value="3">Flash Service Bigger<br>
<input type="radio" name="three" value="4">Frede Sko Bager<br>

<br>
<font size='3' face='arial black'>
<b>Spørgsmål 4: Hvad står CPU for?</b><br>
<font size='2' face='arial'>

<input type="radio" name="four" value="1">Central Processing Unit<br>
<input type="radio" name="four" value="2">Controlling Parallel Unit<br>
<input type="radio" name="four" value="3">Coston Programmers United<br>
<input type="radio" name="four" value="4">Cisco Pro-Servers Unleashed<br>

<br>

<font size='3' face='arial black'>
<b>Spørgsmål 5: Hvad står I/O for?</b><br>
<font size='2' face='arial'>

<input type="radio" name="five" value="1">Inverse/Optical<br>
<input type="radio" name="five" value="2">Initial/Optional<br>
<input type="radio" name="five" value="3">Impossible/Overwrite<br>
<input type="radio" name="five" value="4">Input/Output<br>

<br>
<img src="dvdburner.jpg"> <br>
<font size='3' face='arial black'>
<b>Spørgsmål 5: Her overfor ses en DVD+R Brænder.. Men hvad er den egentlige forskel på DVD-R og DVD+R brændere?</b><br>
<font size='2' face='arial'>

<input type="radio" name="six" value="1">En DVD-R brænder kan kun brænde DVD-R skiver og omvendt<br>
<input type="radio" name="six" value="2">DVD-R og DVD+R er bare noget de forskellige firmaer kalder deres brænder for at skille sig ud.. Der er ingen reel forskel<br>
<input type="radio" name="six" value="3">DVD+R brændere bruger en teknik så man kan skrive i dobbelt lag på DVD skiven<br>
<input type="radio" name="six" value="4">DVD+R er kun til lyd og musik, hvorimod DVD-R kun er til film<br>



<input type="submit" name="submit" value="submit">
</form>
</font>
</body>
</html>


quiz.php:

<?php

 

$one = $_POST['one'];
$two = $_POST['two'];
$three = $_POST['three'];
$four = $_POST['four'];
$five = $_POST['five'];
$six = $_POST['six'];
$antalkorrekte = '0';

if ($one == 3) {
$antalkorrekte++;
}

if ($two == 2) {
$antalkorrekte++;
}

if ($three == 2) {
$antalkorrekte++;
}

if ($four == 1) {
$antalkorrekte++;
}

if ($five == 4) {
$antalkorrekte++;
}

if ($six == 1) {
$antalkorrekte++;
}


if ($antalkorrekte == '0') {

$besked = "du er ikke ligefrem den skarpeste kniv i skuffen når det gælder computere.. Men okay, der er også andet i livet ;)";
}

if ($antalkorrekte == '1') {
$besked = "En ud af seks rigtige er altså slet ikke godt nok.. En gang til ";
}

if ($antalkorrekte == '2') {
$besked = "hmm.. ikke godt nok.. prøv lige om du ikke kan gøre det bedre";
}

if ($antalkorrekte == '3') {
$besked = "50/50.. Det er ok, men du kan gøre det bedre.. Prøv igen!";
}

if ($antalkorrekte == '4') {
$besked = "nu begynder du da og nærme dig.. prøv om du ikke kan få dem alle rigtige";
}

if ($antalkorrekte == '5') {
$besked = "nu mangler du kun EN rigtig.. Godt forsøg";
}

if ($antalkorrekte == '6') {
$besked = "Rigtig godt klaret.. alle rigtige";
}



echo "<font size='3' face='verdana'><center><h1>$antalkorrekte/6!</h1><br/>";
echo "$besked</center></font>";

?>
Avatar billede Slettet bruger
27. oktober 2004 - 21:29 #6
fjern '' rundt om dine talværdier, fx:
$antalkorrekte = 0
$antalkorrekte == 5

og lav
echo "<font size='3' face='verdana'><center><h1>$antalkorrekte/6!</h1><br/>";
om til
echo "<font size=\"3\" face=\"verdana\"><center><h1>".$antalkorrekte."/6!</h1><br>";

og også
echo "$besked</center></font>";
om til
echo $besked."</center></font>";
Avatar billede Slettet bruger
27. oktober 2004 - 21:30 #7
du skal også lige have lavet fx.
if ($one == 3)
om til fx.
if ($one == "3")
Avatar billede Slettet bruger
27. oktober 2004 - 21:36 #8
derudover kan jeg anbefale at du sætter dig ind i case strukturen, i forhold til at vælge hvilken besked du vi sende til $besked.. ex:

switch ($antalkorrekte) {
  case 0:
    $besked = "du er ikke ligefrem den skarpeste kniv i skuffen når det gælder computere.. Men okay, der er også andet i livet ;)";
    break;
case 1:
    $besked = "En ud af seks rigtige er altså slet ikke godt nok.. En gang til ";
    break;
case 2:
    $besked = "hmm.. ikke godt nok.. prøv lige om du ikke kan gøre det bedre";
    break;
case 3:
    $besked = "50/50.. Det er ok, men du kan gøre det bedre.. Prøv igen!";
    break;
case 4:
    $besked = "nu begynder du da og nærme dig.. prøv om du ikke kan få dem alle rigtige";
    break;
case 5:
    $besked = "nu mangler du kun EN rigtig.. Godt forsøg";
    break;
case 6:
    $besked = "Rigtig godt klaret.. alle rigtige";
    break;
}
Avatar billede drbean Nybegynder
28. oktober 2004 - 09:49 #9
Til badeflue-> han skrev han ville have vist personens navn i html filen. Det kan ikke lade sig gøre...
Avatar billede Slettet bruger
10. november 2004 - 21:44 #10
Er det ved at være lukketid for dette spm?
Avatar billede badeflue Nybegynder
11. november 2004 - 10:44 #11
jeps tror vidst den lukker.. jeg lavede quizzen på en helt anden måde til sidst
Avatar billede Slettet bruger
11. november 2004 - 11:10 #12
så skal du enten acceptere mit svar, lave et svar selv og acceptere det eller bede drbean om at lægge et svar..
Avatar billede badeflue Nybegynder
11. november 2004 - 17:16 #13
okay
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester