Lies dir mal meine Kommentare durch, ansonsten hab ich das Script lediglich umformatiert um besserer lesbarkeit zu erreichen.
[php:1:27d9300533]<?php
/** Funktionen */
// Funktionen zum Entfernen von Absätzen aus der Statistik
/** Funktionen gehören eigentlich an den Anfang einer PHP Datei... */
function left($str, $howManyCharsFromLeft)
{
return substr($str, 0, $howManyCharsFromLeft);
}
function right($str, $howManyCharsFromRight)
{
$strLen = strlen($str);
return substr($str, $strLen - $howManyCharsFromRight, $strLen);
}
$date = date("m.d.Y H:i:s");
if (!isset($ausgefllt)){
?>
<form name="Account" method="post" action="account.php">
<table width="600" border="0" cellspacing="2" cellpadding="2">
<tr>
<td align="center" valign="top"><font size="2" face="Arial, Helvetica, sans-serif">Hier bitte die Account-Statistik eingeben:</font></td>
</tr>
<tr>
<td>
<textarea name="Statistik" cols="80" rows="25" class="inputtextarea"></textarea></td>
</tr>
<tr>
<td>
<input type="submit" class="inputbutton" value="Absenden">
<input name="ausgefllt" type="hidden" id="ausgefllt" value="1">
</td>
</tr>
</table>
</form>
<?php } else
{
//Die Statistik ins array schmeißen
/** Einen Array mit " " zu trennen ist wenig Sinnvoll, du solltest besser ";" o.ä. verwenden... */
$neu = array();
$array = explode(" ", $Statistik);
for($x = 0; $x < count($array); $x++)
{
$array[$x] = trim($array[$x]);
if( $array[$x] != NULL )
{
$neu[] = $array[$x];
}
}
// Vorgang zum Entfernen von Absätzen aus der Statistik
/** irgendwie verstehe ich nicht so ganz warum du hier nicht mit str_replace() arbeitest... */
for( $i = 1; $i <= strlen($Statistik); $i++ )
{
if( ord(right(left($Statistik, $i), 1)) == 9 ord(right(left($Statistik, $i), 1)) == 10 ord(right(left($Statistik, $i), 1)) == 13 )
{
$Statistik = left($Statistik, ($i - 1)) . " " . right($Statistik, (strlen($Statistik) - $i));
}
}
/** Dieser Codeausschnitt ist doppelt, warum? */
$neu = array();
$array = explode(" ", $Statistik);
for($x = 0; $x < count($array); $x++)
{
$array[$x] = trim($array[$x]);
if( $array[$x] != NULL )
{
$neu[] = $array[$x];
}
}
// Anzahl Städte Bestimmen
for( $i = 0 ; $i < count($neu); $i++ )
{
/** schaut nach nem ellen langen if Block aus, sowas solltest du mit switch() {} machen... */
if( $neu[$i] == "Iridium-Mine" )
{
$iri_mine = $i + 1;
/** Also die Art und weise wie du die Städte zählst musst mir mal erklären, irgendwie hab ich das Gefühl als sei dein Array ineffektiv... */
$anz_stadt = 0;
while( is_numeric($neu[$i + $anz_stadt + 1]) )
{
$anz_stadt++;
}
}
// Städte-Koordis auslesen
if ( $neu[$i] == "Verteidigungsanlagen" )
{
/** *kopfkratz* - ich bin immer mehr der überzeugung, du solltest deine Arraystruktur überarbeiten */
$stadt = array();
for ( $s = 0; $s < $anz_stadt ; $s++ )
{
$stadt[$s]=$neu[$i+1+$s];
}
}
// Punkte auslesen
if ( $neu[$i] == "Punkte" )
{
$punkte = array();
/** also spätestens jetzt müsst ich wissen wie dein $neu Array aufgebaut ist, bzw. wie dein $Statistik String aussachut... */
for ( $s = 0; $s < $anz_stadt ; $s++ )
{
$test=1;
$punkte[$s]=$neu[$i+(7*($s+1))];
}
}
}
/** die echo Anweisung kann man eleganter lösen, ich nehms mal raus und zeigs dir an nem beispiel... */
/* // Entfernen der komplizierten echo Anweisung |>
echo "
<table width=\"400\"><tr><td class=\"inputbutton\" width=\"400\">
<FONT face=arial size=2>
Tach du Memme,
danke für's eintragen deiner Statistik
".$punkte[0]."
<HR NOSHADE SIZE=\"1\" WIDTH=\"400\" ALIGN=\"LEFT\">
<a href=\"javascript:history.go(-1);\" class=\"inputbutton\">
«« zurück</A>
</td></tr></table></center>";
*/ // Entfernen der komplizierten echo Anweisung <|
echo <<< EOE
<!--
--><!-- zwei
in einem
? da nimm lieber nen neues
-->
</p>
<table width="400">
<tr>
<td class="inputbutton">
Tach du Memme,</p>
danke für's eintragen deiner Statistik
{$punkte[0]}
</p>
<hr noshade size="1" />
[b]
<a href="javascript:history.go(-1)" class="inputbutton">
«« zurück
</a>
</p>
</td>
</tr>
</table>
</p>
EOE;
}
?>[/php:1:27d9300533]
Meine Kommentare erkennst du an /** KOMMENTAR */ bzw.