Hi,
mehr code bringt da leider garnichts. Ich selber hab den Fehler noch nicht hinbekommen, hab nur durch den debugglog gemerkt das es nen paar spieler geschafft haben das die variable leer ist.
und ich wüsste nun gerne warum die leer ist, wenn ich es nicht mal absichtlich hinbekomme.
ich erklärs aber noch mal bissel ausführlicher
<?php
$a = $_POST[a];
if ($a =< 1 or $a == '')
{
$b = 1;
}
elseif ($a >= 499)
{
$b = 499;
}
else
{
$b = $a;
}
show_function ($x, $b);
echo $page;
?>
In der function kommt es dann direkt zum fehler, da $b eben leer ist.
Sorry ich bin gewohnt mit ' zu schreiben, inerhalb von "" wird in nem String ja immer nach ner variablen gesucht und das hab ich mir abgewönt schreibe eig nur noch alles mit ' außer:
$op = '<font color="lime">'.$text.'</font>';
also jemand noch ne idee wie es sein kann das $b inerhalb der function leer ist? da steht dann im sql fehler:
... WHERE galaxy = '' AND system = '' ...
$b füllt dann z.b. system
ich weiß das der fehler da auftritt und die function wird auch nur an der stelle genutzt.
Ist übrigens nen kleines Game mit 800 Spielern, ich weiß also schon was ich mache. Ich mein PHP arbeitet manchmal ja echt dreckig.
$a = 0.3;
$b = 0.2;
if ($a - 0.1 == $b)
die if wird anscheind nicht true, da $a nicht 0.3 sondern 0.29999999999 ist. Das Problem hatte ich auch schon mal und ist auch im inet mehrfach dokumentiert.
Ebenso ist mathe ja auch nicht immer die richtige stärke von php (punkt vor strich kennt der ja nicht).
Daher denk ich das auch irgendwelche zeichen als zahl gewertet werden, aber in sql dann als leer gelten!?
MFG TronKiller
P.S.: Der code macht sinn, da er die zahl zwischen 1 und 499 beschränken soll. mitlerweile ist es auch noch ne prüfung auf numeric drinne, aber ich mag den fehler ja kappieren und ihn nicht einfach nur abfangen! Ohne ihn zu kennen, kann man so was nie verhindern!
Zuletzt modifiziert von TronKiller am 26.08.2008 - 21:47:57