kostenloser Webspace werbefrei: lima-city


Bräuchte Hilfe bei meinem php-code

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    whiteninja92

    Kostenloser Webspace von whiteninja92, auf Homepage erstellen warten

    whiteninja92 hat kostenlosen Webspace.

    Hi :)

    ich wollt mich mal an php versuchen und zum üben hab ich mir ein Kartenspiel als Ziel gesetzt.
    Im moment versuch ich erst nur ein Kartenstapel zu erstellen und von diesem, durch einen Button, die Karten zu ziehen.

    Dazu wollte ich das "karten ziehen" als funktion definieren, hat auch so weit geklappt.
    Jetzt wollte ich dass die funktion ausgeführt wird, wenn der button geklickt wird.
    Und da gehts bei mir nicht weiter. Ich hoffe mir kann jemand helfen...

    <html>
    <head></head>
    <body>
    <?
    $suits = array ("s", "h", "c", "d");
    
    $nrs = array ("2", "3", "4", "5", "6", "7", "8","9", "10", "j", "q", "k", "a");
    $deck = array();
    
    foreach ($suits as $suit) {
        foreach ($nrs as $nr) {
            $deck[] = array ("nr" => $nr, "suit" => $suit);
        }
    };
    shuffle($deck);
    
    function drawcard(){
    $card = array_shift($deck);?>
    <img src='cards/<? 
    echo $card['suit'] . '.' . $card['nr'];
    ?>.png'><?
    }?>
    
    <div>
    <?
    if (isset($_POST["drawcard"]))
    {
    	drawcard();
    }
    ?>
    </div>
    <div>
    <input type='button' name='drawcard' value='Draw Card' style="width: 170px; height: 50px">
    </div>
    </body>
    </html>


    Achja, als Ergebnis kommt halt nur der Button, bei dem aber nichts passiert wenn man drauf drückt...
    Hier der link: http://www.arthur.de.tc/bj.php
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

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

  3. Also da sind ein paar kleine Fehler im Formular.

    1. Der Sendebutton muss zwischen die folgenden Tags:
    <form method="post" action="dieseSeite.php">
    //Button
    </form>


    2. Wenn du den type des inputs auf Button setzt, dann weiß dein Browser nicht automatisch, was er damit anfangen soll. Er erhält damit nur eine Information über die Darstellung.
    Lösung: Entweder schreibst du ein JavaScript, welches die Funktion des Buttons festlegt, oder (und das ist deutlich einfacher) du setzt den type auf submit:
    <form method="post" action="dieseSeite.php">
    <input type="submit" name="..." value="..."  style=".." />
    </form>
  4. Autor dieses Themas

    whiteninja92

    Kostenloser Webspace von whiteninja92, auf Homepage erstellen warten

    whiteninja92 hat kostenlosen Webspace.

    schonmal danke für die Hilfe, :)
    jedoch funktionierts leider immer noch nicht...
    der code sieht nun so aus:
    <html>
    <head></head>
    <body>
    <?
    $suits = array ("s", "h", "c", "d");
    
    $nrs = array ("2", "3", "4", "5", "6", "7", "8","9", "10", "j", "q", "k", "a");
    $deck = array();
    
    foreach ($suits as $suit) {
        foreach ($nrs as $nr) {
            $deck[] = array ("nr" => $nr, "suit" => $suit);
        }
    };
    shuffle($deck);
    
    function drawcard(){
    $card = array_shift($deck);?>
    <img src='cards/<? 
    echo $card['suit'] . '.' . $card['nr'];
    ?>.png'><?
    }?>
    
    <div>
    <?
    if (isset($_POST["drawcard"]))
    {
    	drawcard();
    }
    ?>
    </div>
    <div>
    <form method="post" action="bj.php">
    <input type='submit' name='drawcard' value='Draw Card' style="width: 170px; height: 50px">
    </form>
    </div>
    </body>
    </html>


    und das ergebnis ist immer noch gleich:
    http://www.arthur.de.tc/bj.php

    :(
  5. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
      "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
        <head>
            <title>Draw a card</title>
            
            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
            <meta http-equiv="Content-Language" content="de" />
            <meta http-equiv="Content-Script-Type" content="text/javascript" />
            <meta http-equiv="Content-Style-Type" content="text/css" />
            <meta http-equiv="Pragma" content="no-cache" />
            <meta http-equiv="Expires" content="-1" />
            <meta http-equiv="Cache-Control" content="no-cache" />        
    </head>
    <body>
        <div>
            <?
            if (isset($_POST["drawcard"])) {
                $suits = array('s', 'h', 'c', 'd');
                $nrs = array('2', '3', '4', '5', '6', '7', '8', '9', '10', 'j', 'q', 'k', 'a');
                $deck = array();
    
                foreach ($suits as $suit) {
                    foreach ($nrs as $nr) {
                        $deck[] = array ("nr" => $nr, "suit" => $suit);
                    }
                };
    
                shuffle($deck);
                
                $card = array_shift($deck);
                echo '<img src="cards/'.$card['suit'].'.'.$card['nr'].'.png" alt="" title="" />';
            }
            ?>
        </div>
        <div>
            <form method="post" action="index.php">
                <input type="submit" name="drawcard" value="Draw Card" style="width: 170px; height: 50px" />
            </form>
        </div>
    </body>
    </html>
  6. Autor dieses Themas

    whiteninja92

    Kostenloser Webspace von whiteninja92, auf Homepage erstellen warten

    whiteninja92 hat kostenlosen Webspace.

    dein code, Fabo, funktioniert zwar, jedoch führt er nicht mehr das aus was ich im Sinn hatte.
    Also ich wollte, das Anfangs nur ein Button ist.
    Wenn dieser gedrückt wird, wird eine Karte vom "Deck" gezogen und angezeigt.
    Wenn der Button wieder gedrückt wird, wird eine weitere Karte gezogen und erscheint neben der/den bereits gezogenen Karten.

    Das heißt es sollten sich Karten nebeneinander anhäufen durch mehrmaliges drücken und der array deck,müsste irgendwann leer werden.

    danke :)
  7. Dazu muss das Script wissen, welche Karten bereits gezogen wurden d.h. du musst die gezogenen Karten in einer Session, in einem Cookie oder in einem hidden field speichern und diese Karten dann aus dem Array entfernen.

    Beitrag zuletzt geändert: 9.11.2011 18:48:16 von fabo
  8. Autor dieses Themas

    whiteninja92

    Kostenloser Webspace von whiteninja92, auf Homepage erstellen warten

    whiteninja92 hat kostenlosen Webspace.

    hab mir sessions angeguckt, gab zwar erstmal einige probleme.
    Aber letztendlich funktioniert das script jetzt so, wie es haben wollte :D

    wollt nur nochma danke für die hilfe sagn :)
  9. 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!