Bräuchte Hilfe bei meinem php-code
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
array
button
card
code
dank
darstellung
deck
entfernen
ergebnis
formular
funktion
gezogenen karten
hilfe
http
karte
shuffle
speichern
type
versuchen
ziehen
-
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 -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
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>
-
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
:( -
<!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>
-
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 :) -
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 :) -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage