Erweiterbares Array

  • In einem Forum ist Support per PN eher kontraproduktiv... andere Nutzer haben vielleicht ein ähnliches Problem und können dann nicht von eventuellen Antworten profitieren.

    Teile deine Datei... vielleicht geht's dann mit dem Hochladen.

  • Okay...

    Zahlenbasteln:



    Ergebnis soll werden:


    Aktuell ist es möglich eine Zahl doppelt zu raten, das soll verhindert werden.


    Durch $_SESSION, $_POST, $_GET sind arraya bereits bearbeitet worden. Speichere nun die zahl, die der User eingibt in einem Array ab. Das Array soll bei jeder weiteren Eingabe erweitert werden.


    Lass Dir anschließend die Zahlen auf dem bildschirm ausgeben.

    Überprüfe nun, ob der user eine zahl doppelt eingibt. Ist das der fall, so gib dementsprechend eine meldung am screen aus.


    Zähle außerdem die versuche hoch, die der user braucht, um die gesuchte zahl zu finden. wurde die zahl bereits eingegeben, dann zähle die versuche nicht.


    Die Aufgabe sollte in den bestehenden Code integriert werden...


    HILFE :(





    <html>

    <title>Numbers</title>

    <head><center><font color="#ECB90E"><b><br><div class="ueberschrift"><h1><u>Number's</u></h1></br></b></font></center>

    </head>


    <body style="background-color:#990000;">



    <?php


    session_start();


    function starteSpiel()

    {

    $_SESSION['zahl'] = rand(1, 10);

    echo "<center><img src=\"NumbersNew.jpg\" alt=\"NumbersNew\" />

    <h1><font color=\"#ECB90E\"><center><small>How 2 Play</center></small></font></h1>

    </center><p><div><br><center><i>Numbers wird nach dem Zufallsprinzip gespielt,

    probier Dein Glueck und versuche die richtige Zahl zu finden.</i></center></br></div></p>";

    }

    function Eingabeanzeige()

    {

    echo "<form action=\"\" method=\"post\">

    <p><center><input name=\"geraten\" /></center></p>

    <p><center><input type=\"submit\" value=\"Go\"></center></p>

    </form>";

    }

    if (!isset($_SESSION['zahl'])) {

    starteSpiel();

    Eingabeanzeige();


    }

    else

    {

    if (isset($_POST['geraten']) && is_numeric($_POST['geraten'])) {

    if($_SESSION['zahl'] == $_POST['geraten']) {

    echo "<center><img src=\"Gewonnen.jpg\" alt=\"Gewonnen\" /></center>

    <p><div><br><center><i>Gratulation! Sie haben die Zahl erraten.</p>";

    echo "<form action=\"\" method=\"post\">

    <p><center><input type=\"submit\" value=\"New\"></center></p>

    </form>";

    session_destroy();

    }

    elseif ($_SESSION['zahl'] < $_POST['geraten']) {

    echo "<center><img src=\"runter.jpg\" alt=\"runter\" /></center>

    <p><div><br><center><i>Leider falsch! Die gesuchte Zahl ist kleiner.<br />",

    "Versuchen Sie es erneut.</i></center></br></div></p>";

    Eingabeanzeige();

    }

    else {

    echo "<center><img src=\"hoch.jpg\" alt=\"hoch\" /></center>

    <p><div><br><center><i>Leider falsch! Die gesuchte Zahl ist größer.<br />

    Versuchen Sie es erneut.</i></center></br></div></p>";

    Eingabeanzeige();


    }

    }

    else

    {

    echo "<p><div><br><center><i>Zahlen eingeben</i></center></br></div></p>";

    Eingabeanzeige();

    }

    }

    ?>


    </body>

    <form method="post"action="Zahlensuchspiel.php">

    </form>

    </body></html>

  • Uhhhh... da sind so viele HTML Fehler drin, dass ich gar nicht weiß, wo ich anfangen soll - schau dir bitte die Grundlagen (HTML / CSS) nochmal an.

    Insbesondere solltest du dir das 'Grundgerüst' einer HTML Seite anschauen... welche Dinge gehören zum Grundgerüst... <!DOCTYPE... sagt dir das was?

    Was gehört in den <head></head>... und was nicht.

    Verschachtelung von HTML Elementen... veraltete Elemente (<center>...<font color...>... und noch einiges mehr.

    .. und was ist das...

    </body>

    <form method="post"action="Zahlensuchspiel.php">

    </form>

    </body></html>

    nach </body> darf keine HTML Code stehen.. auch nicht, wenn du danach nochmal </body> schreibst. Und dein dein <form> hat überhaupt keine Funktion... was soll das erreichen.


    Zu deinem PHP Problem - definiere ein weiteres array (zB $_SESSION['antworten']) und füge die Nutzereingaben mit

    Code
    $_SESSION['antworten'][] = $_POST['geraten'];

    hinzu.

    Vorher kannst/musst du mit in_array http://php.net/manual/de/function.in-array.php prüfen, ob 'geraten' schon in 'antworten' vorhanden ist.

    Der Rest sollte dann einfach sein.... if(!in_array(....)) {...} else {...}

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!