php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2008

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 23.05.2008, 20:08  
Neuer Benutzer
 
Registriert seit: 23.05.2008
Beiträge: 5
Thorsten befindet sich auf einem aufstrebenden Ast
Standard [Erledigt] Variable wird nicht übergeben

Hallo zusammen!
Ich bin der Neue.

ich lerne gerade php, bin also noch totaler anfänger. Nun soll ich das sogenannte "Nim-Spiel" programmieren. Also das Teil wo x Streichhölzer auf dem Tisch liegen, abwechselnd welche weggenomen werden und wer das letzte nehmen muss hat verloren.

Das Ganze soll in 2 Dateien ablaufen.
Datei1: Eingabe des Spielernamens; Eingabe der Anzahl der Hölzer im Haufen; Eingabe der maximalen Hölzer/Zug.

Datei2: Computer zieht (natürlich so, dass er gewinnen wird);Spieler zieht;... bis einer verliert.

Mein Problem ist, daß in Datei 2 nach absenden des Spielerzuges die somit veränserte Variable dre Anzahl der Hölzer nicht übernommen wird.

Hier der Code:

Datei 1:

Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="XHTML namespace">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Nim Spiel</title>
</head>
<body>
<p><h1>Nim-Spiel</h1><br /><hr /><br /><br /></p>
<form method="REQUEST" action="spielen.php">
Name Spieler : 
<input type="text" name="name" value="<?php echo $_REQUEST["name"]; ?>" /><br />
Hölzer gesamt : 
<input type="text" name="anz_haufen" value="<?php echo $_REQUEST["anz_haufen"]; ?>" /><br />
Hölzer je Zug : 
<select name = "anz_zug" size="1"/>
<option value1="2">2</option>
<option value1="3">3</option>
<option value1="4">4</option>
<option value1="5">5</option>
</select><br /><br />
<input type="submit" name="absenden" value="Absenden" />
 
</form>
 
 
</body>
</html>


Datei2:
Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="XHTML namespace">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Nim Spiel</title>
</head>
<body>
<p><h1>Nim-Spiel spielen</h1><br /><hr /><br /><br /></p>
<?php
 
$name=$_REQUEST["name"];
$anz_haufen=$_REQUEST["anz_haufen"];
$anz_zug=$_REQUEST["anz_zug"];
$teiler=$anz_zug+1;
$spieler=$_REQUEST["spieler"];
 
//testausgabe
echo"$anz_haufen = Haufen <br>$anz_zug = anzahl Zug <br>$teiler = Teiler<br>$spieler = spieler<br>$pc_zug = pz-zug<br>";
//testausgabe ende
 
//Computer Zug und Haufen berechnen und ziehen
$anz_haufen=$anz_haufen-$spieler;
$pc_zug=$anz_haufen % $teiler;
if($pc_zug==0) $pc_zug=$anz_zug-1;
$anz_haufen=$anz_haufen-$pc_zug;
 
echo"Der Computer hat $pc_zug Hölzchen genommen.<br>";
 
//Computer gewinnt
if($anz_haufen==1)
{
echo"Sie müssen das letzte Holz nehmen. Sie haben das Spiel verloren!";
echo'<a href="nim-spiel.php" title="Nochmal spielen" target="_self">Nochmal spielen</a>';
}
else
{
//Spieler zieht
echo"Es verbleiben $anz_haufen Hölzchen im Haufen<br><br>";
echo"$name ist am Zug<br>";
 
echo'<form method="POST" action="">';$anz_haufen;
echo'Anzahl ziehen : <input type="text" name="spieler">';
echo'<input type="submit" name="absenden" value="Ziehen" />';
echo"</form>";
}
 
?>
</body>
</html>

Aber irgendwie wird in der Datei 2 die Variable $anz_haufen nicht mit dem neuen wert übergeben.
Kann mir jemand sagen wo mein -bestimmt offensichtlicher- Fehler liegt?

Danke
Thorsten
Thorsten ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 23.05.2008, 20:11  
Supermoderator HD
 
Benutzerbild von Manko10
 
Registriert seit: 16.03.2008
Beiträge: 8.709
PHP-Kenntnisse:
Fortgeschritten
Manko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende Zukunft
Standard

Hallo und herzlich willkommen bei php.de!

Du vergisst, dass PHP ein statusloses Protokoll ist, der Server weiß also nicht, ob dieser User die Seite schonmal angefragt hat. Damit die Variablen gespeichert werden, musst du sie in einer Datenbank oder Datei ablegen und beim nächsten Mal wieder auslesen.

Außerdem wäre es nett, wenn du die PHP-Tags für das Highlighting hier im Forum verwendetest.
Manko10 ist offline  
Alt 23.05.2008, 20:16  
Neuer Benutzer
 
Registriert seit: 23.05.2008
Beiträge: 5
Thorsten befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Manko10 Beitrag anzeigen
Hallo und herzlich willkommen bei php.de!
Außerdem wäre es nett, wenn du die PHP-Tags für das Highlighting hier im Forum verwendetest.
Sorry, dachte die Formatierung wird mit übernommen, werd ich mir dann aber noch mal den entsprechenden eintrag zu Gemüte führen.

ansonsten meinst du ich muss ein session cocie setzen?
Thorsten ist offline  
Alt 23.05.2008, 21:06  
Supermoderator HD
 
Benutzerbild von Manko10
 
Registriert seit: 16.03.2008
Beiträge: 8.709
PHP-Kenntnisse:
Fortgeschritten
Manko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende Zukunft
Standard

Eine Session wäre auch eine Möglichkeit, ja.
Manko10 ist offline  
Alt 24.05.2008, 01:57  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Quatsch, er benutzt doch nen Request Parameter. Da braucht er keine Session, keine DB oder dergl.

PHP-Code:
 echo'<form method="POST" action="">';$anz_haufen;
echo
'Anzahl ziehen : <input type="text" name="spieler">';
echo
'<input type="submit" name="absenden" value="Ziehen" />';
echo
"</form>"
- Was soll das? ;$anz_haufen; Auf ein ; reduzieren! Ich vermute, Du hast damit versucht, den neuen Wert zu übergeben. Ausgegeben wird aber nur eine Zahl vor dem Eingabefeld. Benutze einfach ein sogenanntes hidden field, ein Eingabefeld, das nicht angezeigt wird, dessen value Du mit dem Wert vorbelegst:
PHP-Code:
 echo '<input type="hidden" name="anz_haufen" value="' .$anz_haufen'">'
Nächstesmal bitte PHP Tags benutzen!
nikosch ist offline  
Alt 24.05.2008, 09:06  
Neuer Benutzer
 
Registriert seit: 23.05.2008
Beiträge: 5
Thorsten befindet sich auf einem aufstrebenden Ast
Standard

Danke!
genau daran hatte ich auch schon gedacht, dass das in das form mit rein muss, ich hatte nur nicht geschnallt wie. Man, wie einfach.

Was genau meinst du mit den php tags? ich hab zwar in die FAQ geschaut, ging aber davon aus dass damit "<?php?>" gemeint ist und das steht doch in meinem script?!?
Thorsten ist offline  
Alt 24.05.2008, 09:23  
Moderator
 
Benutzerbild von Chriz
 
Registriert seit: 11.05.2008
Beiträge: 6.268
Chriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von nikosch77-new Beitrag anzeigen
Ausgegeben wird aber nur eine Zahl vor dem Eingabefeld.
Ne nichtmal das

Und REQUEST als method-Attributwert gibt es auch nicht:
HTTP/1.1: Method Definitions

post und get machen fuer PHP Sinn, was in $_GET, $_POST und $_REQUEST landet, kannst du hier nachlesen:
PHP: Superglobals - Manual
__________________
"Nuschel ich?" - "Was?"
Chriz ist gerade online  
Alt 24.05.2008, 10:44  
Erfahrener Benutzer
 
Benutzerbild von David
 
Registriert seit: 05.09.2007
Beiträge: 5.044
David wird schon bald berühmt werden
Standard

Zitat:
Zitat von Chriz Beitrag anzeigen
post und get machen fuer PHP Sinn
Und vor allem erstmal für den Browser
David ist offline  
Alt 24.05.2008, 11:57  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

@Thorsten: Ich meinte die [php] BB-Tags...

@Zerg: Du hast natürlich recht. $variable; ist meine absolute Lieblingsfunktionalität von php.
nikosch ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Variable in Datenbankentrag asa PHP Tipps 2008 11 22.07.2008 09:51
[Erledigt] inhalt einer Datei in Variable Speichern mupilz PHP Tipps 2008 6 31.05.2008 13:28
[Erledigt] Variable Anzahl Parameter bie build-in-functions sqrt PHP Tipps 2008 16 25.05.2008 23:00
problem mit variable snatch-ic PHP Tipps 2007 5 13.12.2005 13:18
Variable durch 2. Variable bestimmen Quagga PHP Tipps 2005-2 11 26.10.2005 17:34
[Erledigt] Variable wird nicht erkannt bzw ausgegeben. PHP Tipps 2005-2 4 25.10.2005 18:54
Variable als Variable behandeln ohne den Wert zu verwenden Pain-maker PHP Tipps 2005-2 4 11.09.2005 17:28
[Erledigt] Variable in DB Datenbanken 1 17.04.2005 15:01
If variable $1 vorhanden dann nimm die, if variable $2 .... PHP Tipps 2005 8 13.02.2005 20:16
Variable in einer Variable Beatbox PHP Tipps 2005 7 15.01.2005 15:55
Warum wird Variable nicht übergeben??? Anuschka PHP Tipps 2005 2 06.01.2005 13:22
[Erledigt] $_SESSION verwandelt variable auf einem Server in ein Array PHP-Fortgeschrittene 2 16.12.2004 13:25
[Erledigt] Variable erst später definieren? PHP Tipps 2004-2 10 04.12.2004 20:23
[Erledigt] Datei einlesen -&gt; in Variable schreiben PHP Tipps 2004 2 22.07.2004 11:33
variable Variablen requesten PHP Tipps 2004 5 08.06.2004 20:34

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
nim spiel php, session variable zieht nicht, variable übergeben php.ini, von variabel teiler php, request method, nim spiel php quellcode, spiele vom typ nim, programmiercode für nim spiel mit php, nim spiel php code, php nim spiel, nim spiel php text, variable wird nicht übergeben, das nim spiel variablen, content-type wird nicht übergeben, \nim-spiel programmieren\, nimm spiel php, form verliert session variable

Alle Zeitangaben in WEZ +2. Es ist jetzt 16:02 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum