Schachspiel
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
aufstellung
auswahl
datei
dsen
farbe
fehler
figur
folgende fehler
globale variable
null
schach
schachspiel
schwarz
send
session
setting
spa
variable
verbesserungsvorschlag
warnung
-
Hi Leute hab mich mal drangemacht ein Schachspiel zu programieren. Bin zwar noch am Anfang, jedoch tritt schon ein Fehler wegen Sessions aus und ich weiss net wieso.
script:
<?php
$figur = $_GET['figur'];
if($figur!=""){
echo "Auswahl: ".$_GET['figur']."<br>";
$x = $_GET['x'];
$y = $_GET['y'];
session_start();
$aufstellung = $_SESSION['aufstellung'];
echo $aufstellung[1][1];
echo "blub";
//echo $HTTP_SERVER_VARS[$i];
}
else {
session_start();
$_SESSION['aufstellung'] = $array;
$aufstellung[1][1]="s_turm_1";
$aufstellung[1][2]="s_pferd_1";
$aufstellung[1][3]="s_laeufer_1";
$aufstellung[1][4]="s_dame";
$aufstellung[1][5]="s_koenig";
$aufstellung[1][6]="s_laeufer_2";
$aufstellung[1][7]="s_pferd_2";
$aufstellung[1][8]="s_turm_2";
$aufstellung[2][1]="s_bauer_1";
$aufstellung[2][2]="s_bauer_2";
$aufstellung[2][3]="s_bauer_3";
$aufstellung[2][4]="s_bauer_4";
$aufstellung[2][5]="s_bauer_5";
$aufstellung[2][6]="s_bauer_6";
$aufstellung[2][7]="s_bauer_7";
$aufstellung[2][8]="s_bauer_8";
$aufstellung[7][1]="w_bauer_1";
$aufstellung[7][2]="w_bauer_2";
$aufstellung[7][3]="w_bauer_3";
$aufstellung[7][4]="w_bauer_4";
$aufstellung[7][5]="w_bauer_5";
$aufstellung[7][6]="w_bauer_6";
$aufstellung[7][7]="w_bauer_7";
$aufstellung[7][8]="w_bauer_8";
$aufstellung[8][1]="w_turm_1";
$aufstellung[8][2]="w_pferd_1";
$aufstellung[8][3]="w_laeufer_1";
$aufstellung[8][4]="w_dame";
$aufstellung[8][5]="w_koenig";
$aufstellung[8][6]="w_laeufer_2";
$aufstellung[8][7]="w_pferd_2";
$aufstellung[8][8]="w_turm_2";
}
$farbe = -1; //1=schwarz, -1=weiß
$feldgroeße = 50;
echo "<table border=1 cellspacing=2>";
for($y=0;$y<=8;$y++){
echo "<tr>";
for($x=0;$x<=8;$x++){
if($y==0 && $x!=0){
echo "<td width=$feldgroeße height=$feldgroeße bgcolor=white align=center valign=center><font size=5>$x</font></td>";}
elseif($x==0 && $y!=0){
echo "<td width=$feldgroeße height=$feldgroeße bgcolor=white align=center valign=center><font size=5>$y</font></td>";}
else{
if($farbe==1){
echo "<td width=$feldgroeße height=$feldgroeße bgcolor=black>";}
else{
echo "<td width=$feldgroeße height=$feldgroeße bgcolor=white>";}
echo "<a href=$PHP_SELF ?figur=".$aufstellung[$y][$x]."&x=".$x."&y=".$y."><font color=green size=1>".$aufstellung[$y][$x]."</a></color></td>";
$farbe=$farbe*(-1);
}
}
echo "<tr>";
$farbe=$farbe*(-1);
}
echo "</table>";
?>
folgende Fehler treten auf:
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at C:\xampp\htdocs\schach\schach.php:11) in C:\xampp\htdocs\schach\schach.php on line 32
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\xampp\htdocs\schach\schach.php:11) in C:\xampp\htdocs\schach\schach.php on line 32
Bitte um Hilfe bei Lösung des Problems und um andere Verbesserungsvorschläge...wie gesagt bin noch am anfang :P
MFG Synapze -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
und wieso`?^^
-
vor einer Session darf nix ausgegeben werden, auch vor einem Header nicht.
also Code einfügen und Spaß haben. -
mhh also ich kann dir jetzt nicht helfen
aber mich würde brennend interessieren wie du das ganze vom prinzip her programmieren möchtest -
klappt immernoch net...wirklich an den anfang vom php code?
-
"session_start();" sollte die erste Zeile deines Codes sein. Aber der Fehler kommt eigentlich daher, dass du bevor du die Session startest schon eine Ausgabe machst. Um solche Fehler zu vermeiden setzt man dann "session_start()" einfach ganz an den Anfang.
-
sry kallpt net^^:
<!doctype html public "-//W3C//DTD HTML 4.0 //EN">
<html>
<head>
<title>Title here!</title>
</head>
<body>
<h2><u>Schach-Master; Beta</u></h2> <p>
<?php
session_start();
$figur = $_GET['figur'];
if($figur!=""){
echo "Auswahl: ".$_GET['figur']."<br>";
$x = $_GET['x'];
$y = $_GET['y'];
$aufstellung = $_SESSION['aufstellung'];
echo $aufstellung[1][1];
echo "blub";
//echo $HTTP_SERVER_VARS[$i];
}
else {
$_SESSION['aufstellung'] = $array;
$aufstellung[1][1]="s_turm_1";
$aufstellung[1][2]="s_pferd_1";
$aufstellung[1][3]="s_laeufer_1";
$aufstellung[1][4]="s_dame";
$aufstellung[1][5]="s_koenig";
$aufstellung[1][6]="s_laeufer_2";
$aufstellung[1][7]="s_pferd_2";
$aufstellung[1][8]="s_turm_2";
$aufstellung[2][1]="s_bauer_1";
$aufstellung[2][2]="s_bauer_2";
$aufstellung[2][3]="s_bauer_3";
$aufstellung[2][4]="s_bauer_4";
$aufstellung[2][5]="s_bauer_5";
$aufstellung[2][6]="s_bauer_6";
$aufstellung[2][7]="s_bauer_7";
$aufstellung[2][8]="s_bauer_8";
$aufstellung[7][1]="w_bauer_1";
$aufstellung[7][2]="w_bauer_2";
$aufstellung[7][3]="w_bauer_3";
$aufstellung[7][4]="w_bauer_4";
$aufstellung[7][5]="w_bauer_5";
$aufstellung[7][6]="w_bauer_6";
$aufstellung[7][7]="w_bauer_7";
$aufstellung[7][8]="w_bauer_8";
$aufstellung[8][1]="w_turm_1";
$aufstellung[8][2]="w_pferd_1";
$aufstellung[8][3]="w_laeufer_1";
$aufstellung[8][4]="w_dame";
$aufstellung[8][5]="w_koenig";
$aufstellung[8][6]="w_laeufer_2";
$aufstellung[8][7]="w_pferd_2";
$aufstellung[8][8]="w_turm_2";
}
$farbe = -1; //1=schwarz, -1=weiß
$feldgroeße = 50;
echo "<table border=1 cellspacing=2>";
for($y=0;$y<=8;$y++){
echo "<tr>";
for($x=0;$x<=8;$x++){
if($y==0 && $x!=0){
echo "<td width=$feldgroeße height=$feldgroeße bgcolor=white align=center valign=center><font size=5>$x</font></td>";}
elseif($x==0 && $y!=0){
echo "<td width=$feldgroeße height=$feldgroeße bgcolor=white align=center valign=center><font size=5>$y</font></td>";}
else{
if($farbe==1){
echo "<td width=$feldgroeße height=$feldgroeße bgcolor=black>";}
else{
echo "<td width=$feldgroeße height=$feldgroeße bgcolor=white>";}
echo "<a href=$PHP_SELF ?figur=".$aufstellung[$y][$x]."&x=".$x."&y=".$y."><font color=green size=1>".$aufstellung[$y][$x]."</a></color></td>";
$farbe=$farbe*(-1);
}
}
echo "<tr>";
$farbe=$farbe*(-1);
}
echo "</table>";
?>
</body>
</html>
Beitrag geändert: 20.11.2006 20:21:40 von synapze89 -
Dann hast du meinen Post nicht richtig gelesen. Ich sagte, dass der Fehler kommt, wenn vor "sesion_start();" eine Asugabe gemacht wird. Da du davor schon HTML ausgibst, dürfte der Fehler quasi logisch sein.
Du musst vor dem HTML-Teil am besten "<?php session_start(); ?>" schreiben. -
ok danke klappt jezz..super danke
trotzdem kommt noch ne fehlermeldung:
Warning: Unknown: Your script possibly relies on a session side-effect which existed until PHP 4.2.3. Please be advised that the session extension does not consider global variables as a source of data, unless register_globals is enabled. You can disable this functionality and this warning by setting session.bug_compat_42 or session.bug_compat_warn to off, respectively. in Unknown on line 0 -
Der Grund dafür ist, dass du eine Variable hast, die "_SESSION['aufstellung']" heißt und eine andere globale Variable, die "aufstellung" heißt. Da in der Session-Variable nichts bzw. NULL/0 drin ist, kommt diese Warnung. Damit die Warnung nicht kommt sollte entweder in der Session-Variable nicht NULL stehen oder du solltest die beiden Variablen verschieden benennen.
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage