Unerklärlicher fehler
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
beitrag
counter
editor
email
ergebnis
error
fehler
geschwungene klammer
kat
kategorie
klammern
klaren fehler
konstant
konvention
letzte zeile
result
variable
volltreffer
zeile
zuviel
-
Hallo liebe PHP freunde, ich habe mal was ganz nettes f?r euch, ein fehler, den es nicht geben d?rfet, vieleicht k?nn ihr mir ja helfen...
der Fehler leutet :Parse error: parse error, unexpected $ in /home/webpages/lima-city/sirseven/html/nachrichten/logedin/administration/useradmin/search.php on line 64
line 64 is das ?> am ende der datei...
An derm include liegt es auch ned, das mann man rausstreichen und der fehler beleibt...
und das script sieht so aus:
<?php
include('../file_permission.php');
echo '<FORM action="'.$PHP_SELF.'" method=post>
<TABLE>
<TR>
<TD>Suchen nach: </TD>
<TD><INPUT type=text name="key" value="'.$key.'" size=20></TD></TR>
<TD>In den Kategorien: </TD>
<TD><SELECT name="kat" size=1>';
echo'<OPTION>ID</OPTION>';
echo'<OPTION>IP</OPTION>';
echo'<OPTION>Name</OPTION>';
echo'<OPTION>EMail</OPTION>';
echo'<OPTION>Online</OPTION>';
echo'<OPTION>Counter</OPTION>';
echo'<OPTION>VName</OPTION>';
echo'<OPTION>NName</OPTION>';
echo'<OPTION>MSGCount</OPTION>';
echo '</SELECT></TD></TR>';
echo '<TR><TD></TD><TD><INPUT name="search" type=submit value="Suchen"></TD><TR></TABLE></FORM>';
if($search && $key)
{
echo '<TABLE width=100%><TR>
<TD width=5% bgcolor=#D7D7D7>ID: </TD>
<TD width=5% bgcolor=#D7D7D7>IP: </TD>
<TD width=20% bgcolor=#D7D7D7>Nick: </TD>
<TD width=20% bgcolor=#D7D7D7>E-Mail: </TD>
<TD width=10% bgcolor=#D7D7D7>Online: </TD>
<TD width=5% bgcolor=#D7D7D7>Online <BR> Counter: </TD>
<TD width=25% bgcolor=#D7D7D7>Name: </TD>
<TD width=10% bgcolor=#D7D7D7>Geschriebene <BR> Nachrichten: </TD>
</TR>';
$sql = "SELECT * FROM $tab_user WHERE $kat LIKE '%$key%'";
$result = mysql_query($sql) OR die(mysql_error());
echo '<style type="text/css">td.'.$kat.' { border:1px #00FF00 solid; }</style>';
while($row = mysql_fetch_array($result))
{
if($row['Online'] == 1)$online = '<FONT COLOR=#00FF00>Ja</FONT>'; else $online = '<FONT COLOR=#FF0000>Ja</FONT>';
echo '<TR>
<TD class="ID" bgcolor=#F0F0F0>'.$row['ID'].'</TD>
<TD class="IP" bgcolor=#F0F0F0>'.$row['IP'].'</TD>
<TD class="Name" bgcolor=#F0F0F0>'.$row['Name'].'</TD>
<TD class="EMail" bgcolor=#F0F0F0>'.$row['EMail'].'</TD>
<TD class="Online" bgcolor=#F0F0F0>'.$online.'</TD>
<TD class="Counter" bgcolor=#F0F0F0>'.$row['Counter'].'</TD>
<TD class="message" bgcolor=#F0F0F0>'.$row['VName'].' '.$row['NName'].'</TD>
<TD class="MSGCount" bgcolor=#F0F0F0>'.$row['MSGCount'].'</TD>
</TR>';
echo '</TABLE>';
}
?>
wenn man durch auskomentiren den fehler eingrenzt kommt man zu dem ergebnis das man nach if($search && $key) die geschwungene klammer l?schen muss und es finktioniert...
Beitrag ge?ndert am 23.12.04 20:09 von theuntouchables -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
wenn man durch auskomentiren den fehler eingrenzt kommt man zu dem ergebnis das man nach if($search && $key) die geschwungene klammer l?schen muss und es finktioniert...
Ist auch nur logisch, oder?
Du hast n?hmlich vergessen die { durch } zu schlie?en.
Daher, wird kein richtiges Ende gefunden, was f?r PHP nat?rlich auf einen klaren Fehler aussieht.
Einfach am Ende noch ein } einf?gen, dann kannst du auch die erste Klammer stehen lassen.
H2O -
is oben nicht drinnen, aber im script... ?ndert nix...
-
<?php
include('../file_permission.php');
echo '<FORM action="'.$PHP_SELF.'" method=post>
<TABLE>
<TR>
<TD>Suchen nach: </TD>
<TD><INPUT type=text name="key" value="'.$key.'" size=20></TD></TR>
<TD>In den Kategorien: </TD>
<TD><SELECT name="kat" size=1>';
echo'<OPTION>ID</OPTION>';
echo'<OPTION>IP</OPTION>';
echo'<OPTION>Name</OPTION>';
echo'<OPTION>EMail</OPTION>';
echo'<OPTION>Online</OPTION>';
echo'<OPTION>Counter</OPTION>';
echo'<OPTION>VName</OPTION>';
echo'<OPTION>NName</OPTION>';
echo'<OPTION>MSGCount</OPTION>';
echo '</SELECT></TD></TR>';
echo '<TR><TD></TD><TD><INPUT name="search" type=submit value="Suchen"></TD><TR></TABLE></FORM>';
if($search && $key)
{
echo '<TABLE width=100%><TR>
<TD width=5% bgcolor=#D7D7D7>ID: </TD>
<TD width=5% bgcolor=#D7D7D7>IP: </TD>
<TD width=20% bgcolor=#D7D7D7>Nick: </TD>
<TD width=20% bgcolor=#D7D7D7>E-Mail: </TD>
<TD width=10% bgcolor=#D7D7D7>Online: </TD>
<TD width=5% bgcolor=#D7D7D7>Online <BR> Counter: </TD>
<TD width=25% bgcolor=#D7D7D7>Name: </TD>
<TD width=10% bgcolor=#D7D7D7>Geschriebene <BR> Nachrichten: </TD>
</TR>';
$sql = "SELECT * FROM $tab_user WHERE $kat LIKE '%$key%'";
$result = mysql_query($sql) OR die(mysql_error());
echo '<style type="text/css">td.'.$kat.' { border:1px #00FF00 solid; }</style>';
while($row = mysql_fetch_array($result))
{
if($row['Online'] == 1)$online = '<FONT COLOR=#00FF00>Ja</FONT>'; else $online = '<FONT COLOR=#FF0000>Ja</FONT>';
echo '<TR>
<TD class="ID" bgcolor=#F0F0F0>'.$row['ID'].'</TD>
<TD class="IP" bgcolor=#F0F0F0>'.$row['IP'].'</TD>
<TD class="Name" bgcolor=#F0F0F0>'.$row['Name'].'</TD>
<TD class="EMail" bgcolor=#F0F0F0>'.$row['EMail'].'</TD>
<TD class="Online" bgcolor=#F0F0F0>'.$online.'</TD>
<TD class="Counter" bgcolor=#F0F0F0>'.$row['Counter'].'</TD>
<TD class="message" bgcolor=#F0F0F0>'.$row['VName'].' '.$row['NName'].'</TD>
<TD class="MSGCount" bgcolor=#F0F0F0>'.$row['MSGCount'].'</TD>
</TR>';
echo '</TABLE>';
}
}
?>
ganz easy :p
genau das prob hatte ich auch heute :D
noch nen typ, hol dir nen editor mit Syntaxhighlight
Beitrag ge?ndert am 23.12 20:55 von lucas9991 -
im Quelltext (unterer Tel) ?ffnest du zwei { und schlie?t aber nur eine }. Aber wenns daran nicht liegt kannst du's ja mal mit
if (isset($search) && isset($key))
statt
if($search && $key)
versuchen!
Edit: da war ich wohl zu langsam!
Beitrag ge?ndert am 23.12 20:57 von phattek -
hab ich oben schon geschrieben das ich das zweite } schon drinne habe aber nix ?ndert...
-
Liegt's vielleicht daran:
if($row['Online'] == 1)$online = '<FONT COLOR=#00FF00>Ja</FONT>'; else $online = '<FONT COLOR=#FF0000>Ja</FONT>';
Setze mal { und } ein und mache Leerzeichen.
Vielleicht geht's ja dann.
H2O -
Volltreffer das is ne konstante variable
also genau das gegenteil von deiner auffasung :D
*hoffdasichrechthab* -
Ich hab garnich gesagt, was es ist! Ich hab nur gesagt, dass das nach nem Fehler aussieht! Je nachdem - isses ne Konstante, dann is das $ zuviel.
Und wenns ne Variable sein soll, dann darf es soweit ich wei? net gro?geschrieben werden...
Zmaster -
Ich hab garnich gesagt, was es ist! Ich hab nur gesagt, dass das nach nem Fehler aussieht! Je nachdem - isses ne Konstante, dann is das $ zuviel.
Und wenns ne Variable sein soll, dann darf es soweit ich wei? net gro?geschrieben werden...
Zmaster
Zmaster das soll jetzt nichts gegen dich sein. Aber das muss jetzt sein.
looooooooooooooooooooooooool
Schau mal unter http://jacr.de/php.php. Und dann wird dir vielleicht klar (wenn du unter PHP Variables schaust) was f?r eine Variable es ist.
Also man muss die sogar gro? schreiben.
Und ob man Variablen gro? oder klein schreibt ist sowas von egal.
Allerdings gibt es Konventionen, an die sich die meinst Programiere halten.
Wo werden z.B. Konstanten GROSS geschreiben. Muss man zwar nicht macht man aber als netter Programiere.
Jens -
Najut, dann hab ich wohl die falsche "Herleitung"...
Aber was is jez mit dem Fehler? Isser nu gefunden? Wo isser denn? ^^
edit: ach, jez seh ich das "edit", dass der fehler gefunden is... is ja gut versteckt! *g*... Sorry!
Zmaster
Beitrag ge?ndert am 24.12 23:58 von zmaster -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage