Fehler in PHP...WARUM ???
Didi
- php
Hallo,
ich verstehe es einfach nicht! Ich nutze folgenden Code:
<?
include "../config.inc.php";
$cont_A = "<table border='0' cellpadding='0' cellspacing='0' width='500'><tr><td width='150'>";
$cont_B = "</td><td width='150'>";
$cont_C = "</td><td width='50'><p align=right>";
$cont_D = "</td></tr></table>";
$tinow = time();
$tiout = $tinow - (60*60*24*30);
$logstats_er = mysql_query ("SELECT * FROM 'logstats' WHERE 'logtime' > '".$tiout."' AND 'logstatus' = '0'");
$logsum_er = mysql_num_rows($logstats_er);
$logstats_ok = mysql_query ("SELECT * FROM 'logstats' WHERE 'logtime' > '".$tiout."' AND 'logstatus' = '1'");
$logsum_ok = mysql_num_rows($logstats_ok);
$loglist = mysql_query ("SELECT 'logtime', 'logip', 'loghost', 'logstatus' FROM 'logstats' WHERE 'logtime' > '".$tiout."');
while ($fields = mysql_fetch_row($loglist)) {
$zco=0;
for ($i=0, $max=sizeof($fields); $i < $max; $i++) {
$zco++;
if ($zco==1) { $logti = $fields[$i]; }
if ($zco==2) { $logip = $fields[$i]; }
if ($zco==3) { $loghost = $fields[$i]; }
if ($zco==4) { $logstatus = $fields[$i]; $lognow = $logti; $listcont = $listcont.=$cont_A.=$lognow.=$cont_B.=$logip.=$cont_B.=$loghost.=$cont_C.=$logstatus.=$cont_D; $zco=0; }
}
}
?>
und erhalte immer ein "Parse error: syntax error, unexpected $end in C:\Programme\xampp\htdocs\picload\admin\logtrack.php on line 24"...
Warum dieses ?
Ich habe mittlerweile alles durch, mit und ohne escapen, andere Schreibweisen - nix funzt!
In der Config stelle ich einen DB-Connect her.
Sieht jemand einen Fehler ??
Gruss
der verzweifelte Didi
echo $begrüßung;
Ich habe mittlerweile alles durch, mit und ohne escapen, andere Schreibweisen - nix funzt!
Verwende einen Editor mit Syntax-Highlightung für PHP.
Sieht jemand einen Fehler ??
Kurz vor while ist er.
echo "$verabschiedung $name";
Hallo und danke !
Man bin ich dämlich !
Sollte wirklich auf einen Editor mit vernünftiger Darstellung setzten und nicht auf den ollen MS Editor...
Gruss
Didi
Hallo Didi.
Sollte wirklich auf einen Editor mit vernünftiger Darstellung setzten und nicht auf den ollen MS Editor...
Einen schönen Mittwoch noch.
Gruß, Ashura
Moin,
$loglist = mysql_query ("SELECT 'logtime', 'logip', 'loghost', 'logstatus' FROM 'logstats' WHERE 'logtime' > '".$tiout."');
hier ist dein Fehler.
Du fängst dein Query mit einem " an, willst es aber mit einem ' beenden. Das haut nicht hin. PHP denkt also, dass alles was danach noch kommt zu deinem Query-String gehört und deswegen fehlt das Ende.
Du musst deinen Query-String einfach nur vernünftig abschliessen.
Sowas sollte allerdings bei einem Editor mit Syntax-Highlighting schnell auffallen.
MfG,
Juan
Hello,
Sowas sollte allerdings bei einem Editor mit Syntax-Highlighting schnell auffallen.
vielleicht liegt es auch an dieser "all in one"-Schreibweise?
Die ist ohnehin sehr fehlerträchtig.
Eine (Leer-)Zeile mehr, etwas ausfühlichere Klammerung, ein Kommentar extra, Select-Statements vorher separat zuweisen, das wirkt manchmal Wunder.
Harzliche Grüße vom Berg
http://www.annerschbarrich.de
Tom
moin!
for ($i=0, $max=sizeof($fields); $i < $max; $i++) {
die zeile sticht mir als erstes ins auge. ich wüsste nicht, dass man im ersten ausdruck irgend ein komma setzen könnte...
gruß.
roger.
hi,
for ($i=0, $max=sizeof($fields); $i < $max; $i++) {
die zeile sticht mir als erstes ins auge. ich wüsste nicht, dass man im ersten ausdruck irgend ein komma setzen könnte...
Doch, kann man.
Vor dem Einsteig in die Schleife wird hier $i auf 0 und $max auf sizeof(...) gesetzt - damit muss man die Obergrenze nicht immer wieder in der Bedingung neu ermitteln.
gruß,
wahsaga
moin!
Vor dem Einsteig in die Schleife wird hier $i auf 0 und $max auf sizeof(...) gesetzt - damit muss man die Obergrenze nicht immer wieder in der Bedingung neu ermitteln.
danke. man lernt halt nicht aus. ich hab mir nebenbei nochmal die referenz angesehen, konnte aber hier nix genaues dazu finden...
gruß.
roger.
echo $begrüßung;
ich hab mir nebenbei nochmal die referenz angesehen, konnte aber hier nix genaues dazu finden...
Es gibt einige Benutzerkommentare zu dem Thema.
echo "$verabschiedung $name";
moin!
Es gibt einige Benutzerkommentare zu dem Thema.
ja, hatte ich gesehen. die sind aber nicht wirklich erklärend. und bei einer referenz erwartet man doch schließlich auch, dass eben alles genannt wird, welche parameter bei einem befehl/funktion eingesetzt werden können. nicht?
gruß.
roger.
hi,
und bei einer referenz erwartet man doch schließlich auch, dass eben alles genannt wird, welche parameter bei einem befehl/funktion eingesetzt werden können. nicht?
Und? Da steht doch eindeutig, dass die einzelnen "Parameter" für for "expressions", also Ausdrücke, sein sollen.
gruß,
wahsaga
moin!
gereizt?
"for (ausdr1; ausdr2; ausdr3) Anweisung"
das steht da. wie so ein ausdruck auszusehen hat, wird aber nirgends beschrieben. nur eben mit den standardformen ($i=0 oder eben leer lassen).
gruß.
roger.
Hi,
das steht da. wie so ein ausdruck auszusehen hat, wird aber nirgends beschrieben. nur eben mit den standardformen ($i=0 oder eben leer lassen).
Zitaz: Sie funktionieren wie ihr Gegenstück in C.
Wenn es dich interessiert, wieso liest du dann nicht die entsprechende Manpage? Da steht genau drin was du wissen willst. Wieso soll denn alles nochmnal da stehn, wenn es an aderer Stelle bereit niedergeschrieben ist? Ich denke, die Aussage, wo eine Info zu finden ist, ist völlig ausreichend.
echo $begrüßung;
Ich denke, die Aussage, wo eine Info zu finden ist, ist völlig ausreichend.
Ja, sicher. Das "Problem" hier ist nur, dass weder im Fließtext zu for, noch unter Expressions und auch nicht unter Operators ein Hinweis dazu zu finden ist. Auf letzter Seite ist er zwar enthalten aber nur mit "many uses" beschrieben. (User-Kommentare zählen nicht, da das Handbuch auch ohne diese erhältlich ist und verständlich sein sollte.)
Wie also soll man zu oben erwähnter Aussage kommen, wenn man nicht zufällig drüber stolpert?
echo "$verabschiedung $name";
moin!
Wie also soll man zu oben erwähnter Aussage kommen, wenn man nicht zufällig drüber stolpert?
danke. ich dachte schon, ich bin allein mit meiner meinung.
gruß.
roger.
Hi,
Wie also soll man zu oben erwähnter Aussage kommen, wenn man nicht zufällig drüber stolpert?
Naja, diese Aussage steht in der ersten Zeile ;)
Ok, vielleicht tu ich mich leichter, weil ich seit jahren in C Programmiere und auch weiss, wo ich nachschaun muss. Asu dem Grund hab ich auch keine Ahnung, wo man im Internet die Doku zu C findet, da ich die Manpages auf der Platte hab ;) Und ich muss zu meiner Schande gestehen, das ich im Netz jetzt auf die Schnelle nix finde, das dieses Kontrukt komplett erklärt.
echo $begrüßung;
Wie also soll man zu oben erwähnter Aussage kommen, wenn man nicht zufällig drüber stolpert?
Naja, diese Aussage steht in der ersten Zeile ;)
Meinst du: "They behave like their C counterparts." und wenn ja, dass man zwischen dieser Aussage und den Kommas einen Zusammenhang herstellt? Sehr, sehr unwahrscheinlich, würde ich meinen.
echo "$verabschiedung $name";
Hi,
Meinst du: "They behave like their C counterparts." und wenn ja, dass man zwischen dieser Aussage und den Kommas einen Zusammenhang herstellt? Sehr, sehr unwahrscheinlich, würde ich meinen.
Nein, ich meine den Satz "Sie funktionieren wie ihr Gegenstück in C" (wie bereits genauso zitiert) in der ersten Zeile auf der Seite zu for()
moin!
Meinst du: "They behave like their C counterparts."
Nein, ich meine den Satz "Sie funktionieren wie ihr Gegenstück in C"
ähm..., englisch vielleicht?
gruß.
roger.
ähm..., englisch vielleicht?
Mir ist klar, das es der gleiche Satz in Englisch ist, aber trotzdem hab ich nicht diesen Zitiert, sondern den in deutsch. Mag erbsenzählerisch erscheinen, aber wenn ich deutsch zitiere, sag ich nicht hinterher, das es der englische Satz war ;)
Nachtrag:
und da in C die "Sache" mit dem Komma funktioniert, ist es logisch, das es auch unter PHP funktioniert, wenn es so dasteht. Somit ist der Zusammenhang hergestellt.
Hi,
und auch nicht unter Operators ein Hinweis dazu zu finden ist.
Nicht ganz - letzte Zeile der Tabelle mit den Precedences: der , Operator.
Daß da statt eines Links zur Beschreibung lediglich "Many uses" steht und noch nichtmal der Name des Operators (ich kenn ihn als "sequence operator"), ist allerdings schwach. Auch bei der Suche nach sequence oder sequential findet sich nichts brauchbares ...
cu,
Andreas
echo $begrüßung;
und auch nicht unter Operators ein Hinweis dazu zu finden ist.
Nicht ganz - letzte Zeile der Tabelle mit den Precedences: der , Operator.
"Ich hätte gern einen Sack Sägespäne, 3 Nägel und ein Brett 100x200x5. Für Letzteres soll Eichenholz verwendet werden."
Nun die Frage: Welches Holz verwendest du für das Brett?
Zusatzfrage: Was passiert, wenn man den Zusammenhang zweier aufeinanderfolgender Sätze nicht beachtet?
:-)
echo "$verabschiedung $name";
Hi,
"Ich hätte gern einen Sack Sägespäne, 3 Nägel und ein Brett 100x200x5. Für Letzteres soll Eichenholz verwendet werden."
Zusatzfrage: Was passiert, wenn man den Zusammenhang zweier aufeinanderfolgender Sätze nicht beachtet?
Versucht man dann, die Nägel für die Sägespäne zu verwenden?
:-)
;-)
Viele Grüße
Jörg
Hallo.
"Ich hätte gern einen Sack Sägespäne, 3 Nägel und ein Brett 100x200x5. Für Letzteres soll Eichenholz verwendet werden."
Zusatzfrage: Was passiert, wenn man den Zusammenhang zweier aufeinanderfolgender Sätze nicht beachtet?
Versucht man dann, die Nägel für die Sägespäne zu verwenden?
Klar, mit den Nägeln verbindet man die Sägespäne zu einem weiteren Brett -- für den Fall dass das Eichenholzbrett zu hart ist, um es zu Spänen zu zersägen.
MfG, at
Moin,
Versucht man dann, die Nägel für die Sägespäne zu verwenden?
Klar, mit den Nägeln verbindet man die Sägespäne zu einem weiteren Brett -- für den Fall dass das Eichenholzbrett zu hart ist, um es zu Spänen zu zersägen.
Ist das jetzt rekursiv? :-)
Viele Grüße
Jörg
Hallo.
Ist das jetzt rekursiv? :-)
:-)-:-(-:-)-:-(-:
MfG, at
moin!
Zitaz: Sie funktionieren wie ihr Gegenstück in C.
das setzt wohl voraus, dass ich "C" kenne. und als hobbyprogrammierer kenne ich höchstens das "hohe C". ;)
gruß.
roger.
Moin Roger.
for ($i=0, $max=sizeof($fields); $i < $max; $i++) {
die zeile sticht mir als erstes ins auge. ich wüsste nicht, dass man im ersten ausdruck irgend ein komma setzen könnte...
Kann man aber, wie in C auch.