kostenloser Webspace werbefrei: lima-city


Quiz Problem

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    x*****k

    Hey Leude.. Ich habe ein Problem und ich hoffe ihr könnt mir dabei helfen.

    Ich möchte ein kleines Quiz programmieren in PHP. :cool:

    Hier schonmal der Quellcode:

    $zahl = rand(1,10);
    if ($zahl == 1)
    {
    print "Frage 3";
    }
    if ($zahl == 2)
    {
    print "Frage 2";
    }
    if ($zahl == 3)
    {
    print "Frage 3";
    }
    if ($zahl == 4)
    {
    print "Frage 4";
    }
    if ($zahl == 5)
    {
    print "Frage 5";
    }
    if ($zahl == 6)
    {
    print "Frage 6";
    }
    if ($zahl == 7)
    {
    print "Frage 7";
    }
    if ($zahl == 8)
    {
    print "Frage 8";
    }
    if ($zahl == 9)
    {
    print "Frage 9";
    }
    if ($zahl == 10)
    {
    print "Frage 10";
    }

    // bis hierhin funktioniert alles einwandfrei :P

    if ($ok)
    {

    if ($eg == "Antwort 1" && $zahl == 1)
    {
    print "Wow! Richtig!";
    }
    if ($eg == "Antwort 2" && $zahl == 2)
    {
    print "Wow! Richtig!";
    }
    if ($eg == "Antwort 3" && $zahl == 3)
    {
    print "Wow! Richtig!";
    }
    if ($eg == "Antwort 4" && $zahl == 4)
    {
    print "Wow! Richtig!";
    }
    if ($eg == "Antwort 5" && $zahl == 5)
    {
    print "Wow! Richtig!";
    }
    if ($eg == "Antwort 6" && $zahl == 6)
    {
    print "Wow! Richtig!";
    }
    if ($eg == "Antwort 7" && $zahl == 7)
    {
    print "Wow! Richtig!";
    }
    if ($eg == "Antwort 8" && $zahl == 8)
    {
    print "Wow! Richtig!";
    }
    if ($eg == "Antwort 9 && $zahl == 9)
    {
    print "Wow! Richtig!";
    }
    if ($eg == "Antwort 10" && $zahl == 10)
    {
    print "Wow! Richtig!";
    }
    else
    {
    print "<br> Pech gehabt. Leider falsch!";
    }
    }

    Leider kommt wenn ich die RICHTIGE Antwort eingebe, ebenfalls Pech gehabt.
    Also ein Problem ist mir schon bekannt: VARIABLENÜBERGABE
    Hab das mit dieses Sessions probiert, bin aber nicht ganz nachgekommen.

    Hier noch das Formular:

    <form name="form1" method="post" action="">
    <p>
    <input name="eg" type="text" value="">
    </p>
    <p>
    <input type="submit" name="ok" value="-----&gt; OK &lt;-----">
    </p>
    </form>


    Ich hoffe ihr habt eine Idee (bitte nicht MySQL)!

    Mfg X-Black :)

    Edit:
    Ach ja... Das soll so ablaufen:
    Jemand kommt ins Quiz. Es wird eine Zufallszahl zwischen 1 und 10 generiert.
    Auf jeder Zahl ist eine Frage.
    Der User soll dann die Antwort schreiben und auf Ok drücken. :lol:
    Danach:
    Anzeige ob richtig oder falsch.
    Nächste Frage... Ohne Fehlerstatistik nichts, es geht nur um das Skript prinzip. (Ausbauen kann ich später noch)


    Beitrag geändert: 13.11.2006 20:24:25 von x-black
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. so als erstes... ähm wie wärs wennst das in ein Array schreibst um Quellcode zu sparen... bzw. mit einem switch () und sonst naja GLOBAL_VARS_OFF würd $_POST['eg'] verweden ... dann entweder das ist nur in dem Script falsch oder deine values gehen nie wieder zu...

    ähm und miener ansicht nach liegt der fehler da:
    du definierst $zahl und dann wirds ausgegeben du gibst die Frage ein ... und das formular wird reloaded und da wird $zahl auf 0 gesetzt... dh.: du musst $zahl auch mitgeben ich würds mit nem <input type="hidden" name="zahl" value="'.$zahl.'"> machen!

    mfg
  4. Autor dieses Themas

    x*****k

    Der erste Teil kenn ich irgendwie aus andern Programmiersprachen (Switch, Case etc.) Möchte dies in meinem Skript aber lieber nicht benutzen. Interessant ist für mich der 2. Teil :D

    Hehe Danke :D
  5. k**********k

    Warscheinlich liegt es daran :

    if ($ok)
    { <--Diese Klammer musst du

    if ($eg == 'Antwort 1' && $zahl == 1)
    {
    print 'Wow! Richtig!';
    }
    .
    .
    .
    if ($eg == 'Antwort 10' && $zahl == 10)
    {
    print 'Wow! Richtig!';
    }
    <-- hier schließen und
    else
    {
    print '<br> Pech gehabt. Leider falsch!';
    }
    } <-- nicht erst hier

  6. Warscheinlich liegt es daran :

    if ($ok)
    { <--Diese Klammer musst du

    if ($eg == 'Antwort 1' && $zahl == 1)
    {
    print 'Wow! Richtig!';
    }
    .
    .
    .
    if ($eg == 'Antwort 10' && $zahl == 10)
    {
    print 'Wow! Richtig!';
    }
    <-- hier schließen und
    else
    {
    print '<br> Pech gehabt. Leider falsch!';
    }
    } <-- nicht erst hier


    Lol, also das ist falsch... absolut...
    weil dann kommt ein absoluter unsinn raus.
    Überleg dir das nochmal außerdem ist es eh schon geklärt.
    Wenn noch fragen auftreten wird er sich schon melden.
    Zuerst durchlesen was dort steht wäre positiv
  7. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!