kostenloser Webspace werbefrei: lima-city


PHP Script einem zufälligem Text zuweisen?

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    schinkenmedia

    Kostenloser Webspace von schinkenmedia

    schinkenmedia hat kostenlosen Webspace.

    Guten Abend liebe Community,

    ich bin gerade dabei ein kleines Ratespiel zu schreiben.
    Es wird immer zufällig eine Frage ausgewählt mit entsprechenden Antworten.

    Allerdings wird sowohl bei Frage 1 als auch bei Frage 2 die Antwortmöglichkeit 1 genommen, da das die erste im Quelltext ist.
    Ich weis, das klingt jetzt verwirrend, daher würde ich eucht bitten, es einmal selbst zu testen:
    http://schinkenmedia.de/punktekoenig/code.php

    Im Quellcode ist es so angegeben, dass, wenn 1 eingegeben wurde, die Meldung kommt, dass man gewonnen hat.
    Wenn man 2, 3 oder 4 eingibt, hat man verloren. Das ganze habe ich dann auf Frage 2 übertragen. Aber wenn jetzt
    zufällig die Frage 2 auftaucht, wo die Lösung 2 ist, bekomme ich die "Verloren-Meldung". Ich gehe davon aus, das der Server den Code von oben nach unten (logisch :smile: ) abklappert und nicht erkennt, das der Script zu der Random-Frage Nr. 1 gehört.
    Dann nimmt er automatisch den Script, der für die erste Frage vorgesehen ist.

    Hier der Code von dem Spiel:

    <?php
    
    
    session_set_cookie_params(10800);
    session_start();
    ?>
    
    
    
    
    
    
    
    
    
    
    
    <center>
    <b>
    <h4>
    Wer wird Punktekönig?
    </h4>
    </b>
    <br />
    <br />
    <br />
    Tippe die Zahl vor der deiner Meinung richtigen Antwort ein und klicke auf "Daten absenden".
    <br />
    <br />
    <br />
    <br />
    
    <?php
    
    
    
    
    
    
    $a=$_GET['eingabefeld1'];
    
    
    //Frage1
    
    $text[1]='Wie heisst Obama mit Vornamen? 
    
    
    
    <br />
    <br />
    1: Barack
    <br />
    2: Klaus
    <br />
    3: Hubertus
    <br />
    4: Ole
    <br />
    <br />
    <form action="code.php" method="get">
    			<input type="text" name="eingabefeld1">
    
    			</input>
    
    			<input type="submit">
    
    			</input>
    
    		</form>';
    
    
    
    
    
    if($a==1)
    {
    echo 'Gewonnen! <a href="http://schinkenmedia.de/punktekoenig/code.php">Klicke hier für die nächste Frage!</a>';
    }
    if($a==2)
    {
    echo 'Verloren! <a href="http://schinkenmedia.de/punktekoenig/code.php">Klicke hier für die nächste Frage!</a>';
    }
    if($a==3)
    {
    echo 'Verloren! <a href="http://schinkenmedia.de/punktekoenig/code.php">Klicke hier für die nächste Frage!</a>';
    }
    if($a==4)
    {
    echo 'Verloren! <a href="http://schinkenmedia.de/punktekoenig/code.php">Klicke hier für die nächste Frage!</a>';
    }
    
    
    $datei = fopen("counter.txt","r+");
    $counterstand = fgets($datei, 10);
    
    if($counterstand == "")
       {
       $counterstand = 0;
       }
    
    if($a==1)
       {
       $counterstand++;
       rewind($datei);
       fwrite($datei, $counterstand);
       $_SESSION['counter_ip'] = true;
       }
    
    if($a==2)
    {
    file_put_contents('counter.txt', '');
    }
    if($a==3)
    {
    file_put_contents('counter.txt', '');
    }
    if($a==4)
    {
    file_put_contents('counter.txt', '');
    }
    
    
    fclose($datei);
    
    
    
    if($a==1)
    {
    exit;
    }
    if($a==2)
    {
    exit;
    }
    if($a==3)
    {
    exit;
    }
    if($a==4)
    {
    exit;
    }
    
    
    
    
    
    
    //Frage2
    
    $text[2]='Wie oft atmet ein Murmeltier im Winterschlaf? 
    <br />
    <br />
    1: 20 mal
    <br />
    2: 2 mal
    <br />
    3: 1 mal
    <br />
    4: 10 mal
    <br />
    <br />
    <form action="code.php" method="get">
    			<input type="text" name="eingabefeld1">
    
    			</input>
    
    			<input type="submit">
    
    			</input>
    
    		</form>';
    
    
    
    
    
    if($a==1)
    {
    echo 'Verloren! <a href="http://schinkenmedia.de/punktekoenig/code.php">Klicke hier für die nächste Frage!</a>';
    }
    if($a==2)
    {
    echo 'Gewonnen! <a href="http://schinkenmedia.de/punktekoenig/code.php">Klicke hier für die nächste Frage!</a>';
    }
    if($a==3)
    {
    echo 'Verloren! <a href="http://schinkenmedia.de/punktekoenig/code.php">Klicke hier für die nächste Frage!</a>';
    }
    if($a==4)
    {
    echo 'Verloren! <a href="http://schinkenmedia.de/punktekoenig/code.php">Klicke hier für die nächste Frage!</a>';
    }
    
    
    $datei = fopen("counter.txt","r+");
    $counterstand = fgets($datei, 10);
    
    if($counterstand == "")
       {
       $counterstand = 0;
       }
    
    if($a==2)
       {
       $counterstand++;
       rewind($datei);
       fwrite($datei, $counterstand);
       $_SESSION['counter_ip'] = true;
       }
    
    if($a==1)
    {
    file_put_contents('counter.txt', '');
    }
    if($a==3)
    {
    file_put_contents('counter.txt', '');
    }
    if($a==4)
    {
    file_put_contents('counter.txt', '');
    }
    
    
    fclose($datei);
    
    
    
    if($a==1)
    {
    exit;
    }
    if($a==2)
    {
    exit;
    }
    if($a==3)
    {
    exit;
    }
    if($a==4)
    {
    exit;
    }
    
    
    //Frage3
    
    
    
    
    
    //Zufallsausgabe
    
    $key = rand(1,2);
    
    echo $text[$key];
    
    
    
    ?>
    
    <br />
    <br />
    <br />
    <br />
    <br />
    <b>
    <p>
    Dein Punktestand:
    </p>
    </b>
    <?php
    echo $counterstand;
    ?>
    
    </center>



    Ich freue mich über hilfreiche Antworten.

    MfG
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

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

  3. Du musst $a vor jeder Antwortüberprüfung neu definieren. Und zwar mit der aktuellen Antwort.
  4. Autor dieses Themas

    schinkenmedia

    Kostenloser Webspace von schinkenmedia

    schinkenmedia hat kostenlosen Webspace.

    drafed-map schrieb:
    Du musst $a vor jeder Antwortüberprüfung neu definieren. Und zwar mit der aktuellen Antwort.



    Bei mir sieht jetzt eine Frage so aus:

    $text[1]='Wie heisst Obama mit Vornamen? 
    
    <br />
    <br />
    1: Barack
    <br />
    2: Klaus
    <br />
    3: Hubertus
    <br />
    4: Ole
    <br />
    <br />
    <form action="code.php" method="get">
    			<input type="text" name="eingabefeld1">
    
    			</input>
    
    			<input type="submit">
    
    			</input>
    
    		</form>';
    
    
    
    
    $a=$_GET['eingabefeld1'];
    
    if($a==1)
    {
    echo 'Gewonnen! <a href="http://schinkenmedia.de/punktekoenig/code.php">Klicke hier für die nächste Frage!</a>';
    }
    if($a==2)
    {
    echo 'Verloren! <a href="http://schinkenmedia.de/punktekoenig/code.php">Klicke hier für die nächste Frage!</a>';
    }
    if($a==3)
    {
    echo 'Verloren! <a href="http://schinkenmedia.de/punktekoenig/code.php">Klicke hier für die nächste Frage!</a>';
    }
    if($a==4)
    {
    echo 'Verloren! <a href="http://schinkenmedia.de/punktekoenig/code.php">Klicke hier für die nächste Frage!</a>';
    }
    
    
    $datei = fopen("counter.txt","r+");
    $counterstand = fgets($datei, 10);
    
    if($counterstand == "")
       {
       $counterstand = 0;
       }
    
    if($a==1)
       {
       $counterstand++;
       rewind($datei);
       fwrite($datei, $counterstand);
       $_SESSION['counter_ip'] = true;
       }
    
    if($a==2)
    {
    file_put_contents('counter.txt', '');
    }
    if($a==3)
    {
    file_put_contents('counter.txt', '');
    }
    if($a==4)
    {
    file_put_contents('counter.txt', '');
    }
    
    
    fclose($datei);
    
    
    
    if($a==1)
    {
    exit;
    }
    if($a==2)
    {
    exit;
    }
    if($a==3)
    {
    exit;
    }
    if($a==4)
    {
    exit;
    }



    HAt aber bisher nichts gebracht.
  5. Vor der Überprüfung der ersten Antwort definierst du $a, aber vor den anderen füllst du $a nicht wieder mit neuen Werten. Deswegen ist $a immer das, das im ersten Eingabefeld eingetragen wurde.
  6. Autor dieses Themas

    schinkenmedia

    Kostenloser Webspace von schinkenmedia

    schinkenmedia hat kostenlosen Webspace.

    drafed-map schrieb:
    Vor der Überprüfung der ersten Antwort definierst du $a, aber vor den anderen füllst du $a nicht wieder mit neuen Werten. Deswegen ist $a immer das, das im ersten Eingabefeld eingetragen wurde.



    Ich habe nun für die 2. Frage eine Variable b festgelegt, jetzt sieht es so aus:

    <?php
    
    
    session_set_cookie_params(10800);
    session_start();
    ?>
    
    
    
    
    
    
    
    
    
    
    
    <center>
    <b>
    <h4>
    Wer wird Punktekönig?
    </h4>
    </b>
    <br />
    <br />
    <br />
    Tippe die Zahl vor der deiner Meinung richtigen Antwort ein und klicke auf "Daten absenden".
    <br />
    <br />
    <br />
    <br />
    
    <?php
    
    
    
    
    
    
    
    
    
    //Frage1
    
    $text[1]='Wie heisst Obama mit Vornamen? 
    
    <br />
    <br />
    1: Barack
    <br />
    2: Klaus
    <br />
    3: Hubertus
    <br />
    4: Ole
    <br />
    <br />
    <form action="code.php" method="get">
    			<input type="text" name="eingabefeld1">
    
    			</input>
    
    			<input type="submit">
    
    			</input>
    
    		</form>';
    
    
    
    
    $a=$_GET['eingabefeld1'];
    
    if($a==1)
    {
    echo 'Gewonnen! <a href="http://schinkenmedia.de/punktekoenig/code.php">Klicke hier für die nächste Frage!</a>';
    }
    if($a==2)
    {
    echo 'Verloren! <a href="http://schinkenmedia.de/punktekoenig/code.php">Klicke hier für die nächste Frage!</a>';
    }
    if($a==3)
    {
    echo 'Verloren! <a href="http://schinkenmedia.de/punktekoenig/code.php">Klicke hier für die nächste Frage!</a>';
    }
    if($a==4)
    {
    echo 'Verloren! <a href="http://schinkenmedia.de/punktekoenig/code.php">Klicke hier für die nächste Frage!</a>';
    }
    
    
    $datei = fopen("counter.txt","r+");
    $counterstand = fgets($datei, 10);
    
    if($counterstand == "")
       {
       $counterstand = 0;
       }
    
    if($a==1)
       {
       $counterstand++;
       rewind($datei);
       fwrite($datei, $counterstand);
       $_SESSION['counter_ip'] = true;
       }
    
    if($a==2)
    {
    file_put_contents('counter.txt', '');
    }
    if($a==3)
    {
    file_put_contents('counter.txt', '');
    }
    if($a==4)
    {
    file_put_contents('counter.txt', '');
    }
    
    
    fclose($datei);
    
    
    
    if($a==1)
    {
    exit;
    }
    if($a==2)
    {
    exit;
    }
    if($a==3)
    {
    exit;
    }
    if($a==4)
    {
    exit;
    }
    
    ?>
    
    
    
    
    //Frage2
    
    <?php
    
    $text[2]='Wie oft atmet ein Murmeltier im Winterschlaf? 
    
    
    <br />
    <br />
    1: 20 mal
    <br />
    2: 2 mal
    <br />
    3: 1 mal
    <br />
    4: 10 mal
    <br />
    <br />
    <form action="code.php" method="get">
    			<input type="text" name="eingabefeld1">
    
    			</input>
    
    			<input type="submit">
    
    			</input>
    
    		</form>';
    
    
    
    
    $b=$_GET['eingabefeld1'];
    
    if($b==1)
    {
    echo 'Verloren! <a href="http://schinkenmedia.de/punktekoenig/code.php">Klicke hier für die nächste Frage!</a>';
    }
    if($b==2)
    {
    echo 'Gewonnen! <a href="http://schinkenmedia.de/punktekoenig/code.php">Klicke hier für die nächste Frage!</a>';
    }
    if($b==3)
    {
    echo 'Verloren! <a href="http://schinkenmedia.de/punktekoenig/code.php">Klicke hier für die nächste Frage!</a>';
    }
    if($b==4)
    {
    echo 'Verloren! <a href="http://schinkenmedia.de/punktekoenig/code.php">Klicke hier für die nächste Frage!</a>';
    }
    
    
    $datei = fopen("counter.txt","r+");
    $counterstand = fgets($datei, 10);
    
    if($counterstand == "")
       {
       $counterstand = 0;
       }
    
    if($b==2)
       {
       $counterstand++;
       rewind($datei);
       fwrite($datei, $counterstand);
       $_SESSION['counter_ip'] = true;
       }
    
    if($b==1)
    {
    file_put_contents('counter.txt', '');
    }
    if($b==3)
    {
    file_put_contents('counter.txt', '');
    }
    if($b==4)
    {
    file_put_contents('counter.txt', '');
    }
    
    
    fclose($datei);
    
    
    
    if($b==1)
    {
    exit;
    }
    if($b==2)
    {
    exit;
    }
    if($b==3)
    {
    exit;
    }
    if($b==4)
    {
    exit;
    }
    
    
    //Frage3
    
    
    
    
    
    //Zufallsausgabe
    
    $key = rand(1,2);
    
    echo $text[$key];
    
    
    
    ?>
    
    <br />
    <br />
    <br />
    <br />
    <br />
    <b>
    <p>
    Dein Punktestand:
    </p>
    </b>
    <?php
    echo $counterstand;
    ?>
    
    </center>



    Irgendwie klappt es trotzdem nicht...

    EDIT: Ich habe nun auch ein neues Eingabefeld definiert. Nun klappt es. Danke für deine Hilfe :smile:.

    Beitrag zuletzt geändert: 14.1.2012 22:45:22 von schinkenmedia
  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!