register_globals=off Probleme

Erna_Huppelberg

Grünschnabel
Hallo

Als mein Provider umgestellt hat von register_globals=on auf register_globals_off funktionierte leider dieser script nicht mehr . da ich leider absoluter newbie in sachen php programmierung bin , hoffe ich das ihr mir helfen könnt . Was muss ich bei diesem script umstellen damit er auch bei register_globals_off läuft
PHP:
<?php
#########################
##   S V E D I T O R   ##
#########################

$imgpath = './img/'; 					// Imagepfad für die Feldbilder

$filename ="./game/battleship.txt";			// Textdatei mit Spielfeldinfos



echo "<?xml version=\"1.0\" encoding=\"windows-1252\"?>
<!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\" dir=\"ltr\" lang=\"de\" xml:lang=\"de\">
<style type=\"text/css\">
form { background-image:url(bg.gif); padding:20px; border:6px solid #ddd;background-color:#b96;}
td, input, select, textarea { font-size:13px; font-family:Verdana,sans-serif; font-weight:bold; }
input, select, textarea { color:#00c; }
.Bereich, .Feld { background-color:#ffa; width:100px; }
.Auswahl { background-color:#dff; width:300px; border:6px solid #ddd; }
.Button { background-color:#aaa; color:#fff; width:100px; border:6px solid #ddd; }
.Text { background-color:#aaa; color:#fff; width:150px; border:6px solid #ddd; }
</style><head>";
echo "<script type=\"text/javascript\">
<!--
function EintragHinzufuegen()
{
    var text = \"\";
    NeuerEintrag = new Option(document.Players.NewPlayer.value, document.Players.NewPlayer.value, false, true);
    document.Players.PlayerListe.options[document.Players.PlayerListe.options.length] = NeuerEintrag;
    document.Players.NewPlayer.value = \"\";
    for (var i=0;i<document.Players.PlayerListe.options.length;i++) text += document.Players.PlayerListe.options[i].value + \",\";
    document.getElementById(\"allplayers\").value= text;
    document.getElementById(\"nextplayer\").value= document.Players.PlayerListe.options[document.Players.PlayerListe.selectedIndex].value;
}

function Loeschen () { 
	var tempvar = 0;
	var text = \"\";
	tempvar = document.Players.PlayerListe.selectedIndex -1;
	document.Players.PlayerListe.options[document.Players.PlayerListe.selectedIndex] = null;
	for (var i=0;i<document.Players.PlayerListe.options.length;i++)	text += document.Players.PlayerListe.options[i].value + \",\" ;
	document.getElementById(\"allplayers\").value= text;
	if (tempvar >= 0) 
		{
		document.Players.PlayerListe.options[tempvar].selected = true;
		document.getElementById(\"nextplayer\").value= document.Players.PlayerListe.options[document.Players.PlayerListe.selectedIndex].value;
		}
}

function EditBoard (fieldid){
var copyvar = \"\";
var text=\"\";
 copyvar = document.getElementById(\"oldboard\").value;

if (copyvar[fieldid] == \".\") copyvar = changefunc(fieldid, \"X\");

else if (copyvar[fieldid]== 'X') copyvar = changefunc(fieldid, \"B\");
else if (copyvar[fieldid]== 'B') copyvar = changefunc(fieldid, \"-\");
else if (copyvar[fieldid]== '-') copyvar = changefunc(fieldid, \"I\");
else if (copyvar[fieldid]== 'I') copyvar = changefunc(fieldid, \"A\");
else if (copyvar[fieldid]== 'A') copyvar = changefunc(fieldid, \"V\");
else if (copyvar[fieldid]== 'V') copyvar = changefunc(fieldid, \"C\");
else if (copyvar[fieldid]== 'C') copyvar = changefunc(fieldid, \"D\");
else if (copyvar[fieldid]== 'D') copyvar = changefunc(fieldid, \".\");

document.getElementById(\"oldboard\").value = copyvar;

text = \"" . $imgpath . "\" ;
if (copyvar[fieldid] == '.') text = text + \"U\";
else if (copyvar[fieldid] == '-')  text = text + \"H\";
else text = text + copyvar[fieldid];
text = text + \"G.gif\";
document.getElementById(fieldid).src=text;
}

function changefunc(fieldid, newchar){
var text='';
var copyvar = '';
copyvar = document.getElementById(\"oldboard\").value;
for(var i=0;i<=99;i++){
if (fieldid != i)text += copyvar[i];
else text += newchar;
}
return text;
}

function selectplayer(){
document.getElementById(\"nextplayer\").value= document.Players.PlayerListe.options[document.Players.PlayerListe.selectedIndex].value;
}

//-->";
echo "</script><title>l&eacute;gion-&eacute;trang&egrave;re  | Schiffeversenkeneditor </title><meta http-equiv=\"Content-Type\" content=\"text/html; charset=windows-1252\" />";

$field ="";
$test = $_POST[ 'oldboard'];
$playerpost = $_POST[ 'allplayers'];
$nextplayer = $_POST[ 'nextplayer'];
$action = $_POST[ 'action'];
$master = $_POST[ 'master'];


if (strlen($test) == 0)$oldboard='....................................................................................................'; // Rohling wenn neustart!
else if( ereg('\"', $oldboard) == true ){
	$tempor = explode('\"', $oldboard);
	$oldboard = $tempor[1];
$field= $_GET[ 'field'];

if( ereg("\"", $field) == true ){
	$tempor = explode( '\"', $field);
	$field = $tempor[1];

}


if ($oldboard[$field]== '.') $oldboard[$field]= 'X';
else if ($oldboard[$field]== 'X') $oldboard[$field]= 'B';
else if ($oldboard[$field]== 'B') $oldboard[$field]= '-';
else if ($oldboard[$field]== '-') $oldboard[$field]= 'I';
else if ($oldboard[$field]== 'I') $oldboard[$field]= 'A';
else if ($oldboard[$field]== 'A') $oldboard[$field]= 'V';
else if ($oldboard[$field]== 'V') $oldboard[$field]= 'C';
else if ($oldboard[$field]== 'C') $oldboard[$field]= 'D';
else if ($oldboard[$field]== 'D') $oldboard[$field]= '.';

}
if(isset($_POST['action']))
{$action = $_POST[ 'action'];
if (ereg('Spielstand Upload', $action) == true ){ 					// ab hier wird das Spiel gespeichert!

$fp = fopen($filename, "w");
$buffer = "[gamemaster]" . $master . "\n";
$buffer = $buffer . "[nextplayer]" . $nextplayer . "\n";
$buffer = $buffer . "[board]\n";

for ($cnt=0;$cnt <= 9;$cnt++){
for ($tmp=0;$tmp<=9;$tmp++){
$buffer = $buffer . $oldboard[$cnt*10+$tmp];
}
$buffer = $buffer . "\n";
}
fwrite($fp,$buffer);
fclose($fp);
}
else if (ereg('Spiel l', $action) == true ){ 						// ab hier wird das Spiel gelöscht!
unlink ( $filename );
}
}

/*************************************************Optionliste wieder fuellen*****************************************************************/
$optionlist = "";
$spielerarray = explode(",", $playerpost);								// zeile wortweise zerlegen
reset ($spielerarray);
for ($cnt=0;$cnt < (count($spielerarray) -1);$cnt++){
if($spielerarray[$cnt] == $nextplayer)$optionlist = $optionlist . "<option selected>" . $spielerarray[$cnt]. "</option>";
else $optionlist = $optionlist . "<option>" . $spielerarray[$cnt]. "</option>";
}

/********************************************************************************************************************************************/


echo "<form method=\"post\" action=\"interface.php\" name=\"Players\" id=\"Players\">";
echo '<input type="hidden" name="oldboard" id="oldboard" value="' . $oldboard . '"><input type="hidden" name="allplayers" id="allplayers" value="' . $allplayers . '">';
battleship_board($oldboard);		

echo '<table><tr><th></th><th>
Momentane Mitspieler<br />
<select class="Auswahl" name="PlayerListe" size="6" onClick="selectplayer()">' . $optionlist . '</select></th><th>

<input name="NewPlayer" type="text" class="Text"><br />
<input onClick="EintragHinzufuegen()" type="button" value="&nbsp;Spieler hinzuf&uuml;gen&nbsp;"><br /><br /><input type="button" value="&nbsp;&nbsp;Selektion l&ouml;schen&nbsp;&nbsp;" onclick="Loeschen()"><br /></th></tr><tr><th colspan="3"><br />
<input type="hidden" name="nextplayer" id="nextplayer" value="' . $nextplayer .'"><input type="submit" value="Spielstand Upload" name="action">
 <input type="submit" name="action" value="Spielstand Download" disabled> <input type="submit" name="action" value="&nbsp;&nbsp;Spiel l&ouml;schen&nbsp;&nbsp;"></th></tr></table>
<script type="text/javascript">
<br /></form>';


/**********************************************************************************************************************************************************/
/***********************************************************************Verwendete Funktionen**************************************************************/
/**********************************************************************************************************************************************************/
function battleship_board($board)
{
global $imgpath;
global $master;

if( $board ) {		

  unset($temp);
  $temp = "";

// Reihenfolge der Feldwerte: . X B - I A V < >

  $rtn = "<table><tr><th><table style=\"font-size:1em\" border=\"1\" cellspacing=\"0\" cellpadding=\"0\"><tr><th colspan=\"11\">Spielfeld</th></tr><tr>";  
  $rtn = $rtn . "<td></td><td align=\"center\">A</td><td align=\"center\">B</td><td align=\"center\">C</td><td align=\"center\">D</td><td align=\"center\">E</td><td align=\"center\">F</td><td align=\"center\">G</td><td align=\"center\">H</td><td align=\"center\">I</td><td align=\"center\">J</td>";
  $rtn = $rtn . "</tr><tr><td>1</td>";
  for($i = 0; $i < strlen($board); $i++)
	{
    switch($board[$i])
	{
	case 'X': $rtn = $rtn . "<td><img src=\"" . $imgpath . "XG.gif\" title=\"\" id = \"" . $i . "\" onclick=\"EditBoard(" . $i . ")\" /></td>"; break;
	case 'B': $rtn = $rtn . "<td><img src=\"" . $imgpath . "BG.gif\" title=\"\" id = \"" . $i . "\" onclick=\"EditBoard(" . $i . ")\" /></td>"; break;
	case '<': $rtn = $rtn . "<td><img src=\"" . $imgpath . "CG.gif\" title=\"\" id = \"" . $i . "\" onclick=\"EditBoard(" . $i . ")\" /></td>"; break;
	case '>': $rtn = $rtn . "<td><img src=\"" . $imgpath . "DG.gif\" title=\"\" id = \"" . $i . "\" onclick=\"EditBoard(" . $i . ")\" /></td>"; break;
	case '-': $rtn = $rtn . "<td><img src=\"" . $imgpath . "HG.gif\" title=\"\" id = \"" . $i . "\" onclick=\"EditBoard(" . $i . ")\" /></td>"; break;
	case 'I': $rtn = $rtn . "<td><img src=\"" . $imgpath . "IG.gif\" title=\"\" id = \"" . $i . "\" onclick=\"EditBoard(" . $i . ")\" /></td>"; break;
	case 'A': $rtn = $rtn . "<td><img src=\"" . $imgpath . "AG.gif\" title=\"\" id = \"" . $i . "\" onclick=\"EditBoard(" . $i . ")\" /></td>"; break;
	case 'V': $rtn = $rtn . "<td><img src=\"" . $imgpath . "VG.gif\" title=\"\" id = \"" . $i . "\" onclick=\"EditBoard(" . $i . ")\" /></td>"; break;
	case 'C': $rtn = $rtn . "<td><img src=\"" . $imgpath . "CG.gif\" title=\"\" id = \"" . $i . "\" onclick=\"EditBoard(" . $i . ")\" /></td>"; break;
	case 'D': $rtn = $rtn . "<td><img src=\"" . $imgpath . "DG.gif\" title=\"\" id = \"" . $i . "\" onclick=\"EditBoard(" . $i . ")\" /></td>"; break;
	default : $rtn = $rtn . "<td><img src=\"" . $imgpath . "UG.gif\" title=\"\" id = \"" . $i . "\" onclick=\"EditBoard(" . $i . ")\" /></td>"; break;
	}
 
    if (0 == ($i + 1 ) % 10)											// Sind 10 Felder des Brettes voll
	{
	$fieldval = (($i +11) / 10);
	if ($fieldval < 11) $rtn = $rtn ."</tr><tr><td>". $fieldval . "</td>";					// dann Zeilenumbruch einfügen
	else $rtn = $rtn ."</tr><tr>";										// dann Zeilenumbruch einfügen
	}
}

$temp = $rtn . "</tr></table></th><th>"; 									// Tabelle abschliessen

echo $temp;
echo '<table style="font-size:0.5em" border="1" cellspacing="0" cellpadding="0"><tr><th colspan="6">Verf&uuml;gbare Schiffe</th></tr>
<tr><td>Pinasse</td><td><image src="' . $imgpath . 'C.gif" title="Pinasse" /></td><td><image src="' . $imgpath . 'D.gif" title="Pinasse" /></td></tr>
<tr><td>Schaluppe</td><td><image src="' . $imgpath . 'C.gif" title="Schaluppe" /></td><td><image src="' . $imgpath . 'D.gif" title="Schaluppe" /></td></tr>
<tr><td>Brigg</td><td><image src="' . $imgpath . 'C.gif" title="Brigg" /></td><td><image src="' . $imgpath . 'H.gif" title="Brigg" /></td><td><image src="' . $imgpath . 'D.gif" title="Brigg" /></tr><tr><td>Barke</td><td><image src="' . $imgpath . 'C.gif" title="Barke" /></td><td><image src="' . $imgpath . 'H.gif" title="Barke" /></td><td><image src="' . $imgpath . 'D.gif" title="Barke" </td></tr><tr><td>Fleute</td><td><image src="' . $imgpath . 'C.gif" title="Fleute" /></td><td><image src="' . $imgpath . 'H.gif" title="Fleute" /></td><td><image src="' . $imgpath . 'D.gif" title="Fleute" </td></tr><tr><td>Fregatte</td><td><image src="' . $imgpath . 'C.gif" title="Fregatte" /></td><td><image src="' . $imgpath . 'H.gif" title="Fregatte" /></td><td><image src="' . $imgpath . 'H.gif" title="Fregatte" /></td><td><image src="' . $imgpath . 'D.gif" title="Fregatte" </td></tr><tr><td>Linienschiff</td><td><image src="' . $imgpath . 'C.gif" title="Linienschiff" /></td><td><image src="' . $imgpath . 'H.gif" title="Linienschiff" /></td><td><image src="' . $imgpath . 'H.gif" title="Linienschiff" /></td><td><image src="' . $imgpath . 'D.gif" title="Linienschiff" </td></tr><tr><td>Man-O-War</td><td><image src="' . $imgpath . 'C.gif" title="Man-O-War" /></td><td><image src="' . $imgpath . 'H.gif" title="Man-O-War" /></td><td><image src="' . $imgpath . 'H.gif" title="Man-O-War" /></td><td><image src="' . $imgpath . 'D.gif" title="Man-O-War" </td></tr><tr><td>Galeone</td><td><image src="' . $imgpath . 'C.gif" title="Galeone" /></td><td><image src="' . $imgpath . 'H.gif" title="Galeone" /></td><td><image src="' . $imgpath . 'H.gif" title="Galeone" /></td><td><image src="' . $imgpath . 'H.gif" title="Galeone" /></td><td><image src="' . $imgpath . 'D.gif" title="Galeone" </td></tr><tr><th colspan="6">Spielleiter:<br /><input name="master" type="text" class="Text" value="' . $master .'"><br /></th></tr></table></th></tr></table>';
echo '<br />';

}
}

?>

Vielen dank schon mal im voraus für eure Hilfe .

mfg
Erna_Huppelberg
 
Du müsstest konsequent mit den vordefinierten Variablen arbeiten. Setze dazu den Fehlermeldungslevel auf den höchsten Wert (error_reporting(E_ALL);), damit alle Fehler gemeldet werden. Nun musst du nur noch die einzelnen Fehlermeldungen durchgehen.
 
also hab mal das error reporting eingestellt .

und siehe da 5 fehler tauchen auf !!

Notice: Undefined index: oldboard in /home/www/web156/html/battel/interface.php on line 97


Notice: Undefined index: allplayers in /home/www/web156/html/battel/interface.php on line 98

Notice: Undefined index: nextplayer in /home/www/web156/html/battel/interface.php on line 99

Notice: Undefined index: action in /home/www/web156/html/battel/interface.php on line 100

Notice: Undefined index: master in /home/www/web156/html/battel/interface.php on line 101

Dort steht das drin :

PHP:
$test = $_POST[ 'oldboard'];
$playerpost = $_POST[ 'allplayers'];
$nextplayer = $_POST[ 'nextplayer'];
$action = $_POST[ 'action'];
$master = $_POST[ 'master'];
und dann noch 1 Fehler :
Notice: Undefined variable: allplayers in /home/www/web156/html/battel/interface.php on line 164
dort steht das drin :
PHP:
echo '<input type="hidden" name="oldboard" id="oldboard" value="' . $oldboard . '"><input type="hidden" name="allplayers" id="allplayers" value="' . $allplayers . '">';

mfg
Erna_Huppelberg
 
Wenn das Skript auch per GET-Methode aufgerufen wirst, müsstest du eine Unterscheidung der jeweiligen Methode vornehmen, beispielsweise:
PHP:
if( $_SERVER['REQUEST_METHOD'] == 'POST' ) {
	// …
}
if( $_SERVER['REQUEST_METHOD'] == 'GET' ) {
	// …
}
Zusätzlich solltest du prüfen, ob Variablen, die durch von außen kommende Argumente registriert werden (also sämtliche GET- und POST-Argumente), überhaupt existieren. In deinem Fall also:
PHP:
if( isset($_POST['oldboard'], $_POST['allplayers'], $_POST['nextplayer'], $_POST['action'], $_POST['master']) ) {
	// …
}
 
so habe oben genanntes mal eingebaut .

nun haben sich die fehlermeldung edwas geändert .

Notice: Undefined index: master in C:\www\htdocs\battel\interface.php on line 109

dort steht folgendes :
PHP:
$master = $_POST[ 'master'];

Notice: Undefined variable: allplayers in C:\www\htdocs\battel\interface.php on line 172

dort steht folgendes :

PHP:
echo '<input type="hidden" name="oldboard" id="oldboard" value="' . $oldboard . '"><input type="hidden" name="allplayers" id="allplayers" value="' . $allplayers . '">';
 

Neue Beiträge

Zurück