Unter umständen kann es als Fehler gewertet werden, wenn zwischen dem Funktionsnamen und den Parametern ein Leerzeichen steht.
Statt: COUNT (*)
Also: COUNT(*)
Allerdings empfehle ich statt * explizit den Namen einer Spalte anzugeben, das sollte performanter sein
...
Das mit dem Identifier statt * habe ich vorher schon versucht, hat aber eine wieder andere Fehlermeldung ausgegeben, mit der ich erst recht überfordert war, was mich dazu getrieben hat, durch Ersetzen mit '*' zu meiner altbekannten Fehlermeldung zurückzufliehen. <__<' Jetzt ist aber wieder ein Identifier drin. ^^
ist das was mir an quelltext angezeigt wird, auf der seite, und ebenfalls weiß mit opera.
edit:
ach so, das ist ja ne js weiterleitung. funtkioniert jedenfalls trotzdem nicht. liegt gar ned am active x. nimms trotzdem raus. wer den ie benutz, und es an hat, wird seinen pc ned lange genug sauber halten können, um deine seite zu besuchen :P
zum style:
so schlecht finde ich die farbgebung gar nicht. nur der header ist hässlich >
--
cats are not characteristically disposed toward voluntary aerobic exercise
Meinst du, wie ich COUNT (`content`) verwenden wollte? Da kam "FUNCTION user.COUNT does not exist", warum auch immer! o_O''
Ansonsten kam
"You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '*) FROM `posts`' at line 1",
was ja hinsichtlich dessen, das der Fehler schon vorher war, auch nicht wirklich als hilfreich bezeichnet werden kann. <_<
Zitat
Spaltennamen innerhalb von `x`, Spaltenwerte innerhalb von 'x'.
Nein, macht er nicht. Es sei den in einem IE-Tab, aber dann hat das ja nichts mehr mit Gecko zu tun.
Ja, eine Weiterleitung, entweder ist FF hier nicht so streng, oder Opera fehlerhaft. Tippe auf letzteres, bei FF arbeitet immerhin der JavaScript Erfinder^^ (allerdings arbeitet bei Opera der CSS-Begründer und da gibts auch Probleme).
Zitat
so schlecht finde ich die farbgebung gar nicht. nur der header ist hässlich >
...
Es ist aber doch sehr schlecht lesbar (mein Bildschirm ist nicht sehr hell eingestellt) und eine furchtbar kleine Schrift noch dazu. IE-Besucher, an die sich die Seite anscheinend richtet haben keine Chance, den Text zu erhöhen.
Zitat
Meinst du, wie ich COUNT (`content`) verwenden wollte? Da kam "FUNCTION user.COUNT does not exist", warum auch immer! o_O''
...
Hm, da hast du aber wieder ein Leerzeichen zwischen dem COUNT und der Klammer!
Hm, da hast du aber wieder ein Leerzeichen zwischen dem COUNT und der Klammer!
...
Ja, jetzt weiß ich das auch. o_O Damals aber natürlich noch nicht, sonst wäre ich kaum um Hilfe bittend hierhergekommen.
Und mit COUNT(`content`) gibt's jetzt natürlich auch keine Probleme.
Scheint als hätte ich den Faden verloren. Funktioniert die ganze Abfrage jetzt also mit unserer Hilfestellung oder gibts doch noch Probleme?
...
Ja, das kann gut sein, ich bemühe mich ja auch nicht gerade, kurze und prägnante Sätze zu schreiben, kann dir jedoch versichern, dass jetzt alles super klappt, was auch mein noobischer -Smiley ausdrücken hätte sollen, und dir zudem zum bessern Verständnis nochmal kurz den groben Ablauf skizzieren:
Ich habe das Skript, welches die erwähnte SQL-Query enthielt, ausprobiert und bekam die zweitgenannte Fehlermeldung ("You have an error in your SQL syntax; ...")
Ich habe, ahnungslos, was der Grund sein könnte, alle möglichen und unmöglichen Sachen durchprobiert.
Darunter auch die genannte Ersetzung von "COUNT (*)" durch "COUNT (`content`)" (beides mit dem von dir aufgedeckten Fehler).
Diese Variante produzierte aus Gründen, die mir selbst jetzt noch unklar sind, stattdessen die erstgenannte Fehlermeldung, sprich: "FUNCTION user.COUNT does not exist".
Geschockt davon, dass MySQL nun offensichtlich komplett durchdrehte, flüchtete ich durch Rücksubstitution von "`content`" durch "*" zurück zu meiner altbekannten Fehlermeldung.
Ich ging aufs Klo, um mich etwas zu beruhigen, möglicherweise habe ich auch ein oder zwei Schluck getrunken, was zwar korrekt, aber eigentlich komplett irrelevant ist.
Da sich das Problem auch auf diese Weise gestärkt nicht lösen ließ, ging ich mit meinem Problem eher widerwillig (weil ich's unnötig finde, mit jedem kleinen Problem gleich ins Forum zu rennen) an die Öffentlichkeit, wo mein MySQL-Wissen einmal mehr zwar minimal, aber dennoch entscheidend vermehrt wurde.
Nach der Anwendung dieses neugewonnenen Wissens gingen beide genannten Möglichkeiten komplett problemlos, wobei natürlich, wie schon von dir gesagt, "`content`" statt "*" die präferiernswertere ist.
Edit: So, meine Website ist jetzt fertiggestellt, dank mitaki. ^^ Die alten Gästebucheinträge sind leider futsch, was aber gleichzeitig bedeutet, dass ihr euch auch nochmal eintragen könnt. ^^'
Im Lauf der Ferien könnten aber noch ein paar Einträge im Projekte-Ordner dazukommen. ^^
--
A human is a system for converting dust billions of years ago into dust billions of years from now via a roundabout process which involves checking email a lot.
Geändert von drunken monkey (23.12.2006 um 20:43 Uhr)
Hier ist meine erste Page, dich ich selber gescriptet habe
Sie läuft schon fast, wie ich sie haben will, folgende Punkte will ich ändern:
1. Jeder User soll news "posten" können. Daran muss ich mich noch setzen.
2. My Question: Ich will natürlich ü, ä, ö richtig ausgeben. Nun, wenn man auf Webmaster klickt, kommen die Umlaute auch richtig, aber rechts wird das ü nie angezeigt. Ich habe sowohl
wie auch
eingefügt. Was mach ich nun falsch?
Code für die Hauptseite:
2. My Question: Ich will natürlich ü, ä, ö richtig ausgeben. Nun, wenn man auf Webmaster klickt, kommen die Umlaute auch richtig, aber rechts wird das ü nie angezeigt. Ich habe sowohl
wie auch
eingefügt. Was mach ich nun falsch?
...
Das Problem hatte ich auch schon. Am besten ist, du verwendest ü, etc., da geht's auf jeden Fall. ^^ Und wenn du php verwendest geht das eh ganz einfach mit $output = htmlentities ($output);
Aber heißt es nicht ohnehin "Benutzername"? o_O
Zum Design: Hm, nicht schlecht. ^^ Sogar valide, toll! Ich würde allerdings vielleicht noch dünne Ränder an die ganzen farbigen Flächen machen.
--
A human is a system for converting dust billions of years ago into dust billions of years from now via a roundabout process which involves checking email a lot.
Das Problem hatte ich auch schon. Am besten ist, du verwendest ü, etc., da geht's auf jeden Fall. ^^ Und wenn du php verwendest geht das eh ganz einfach mit $output = htmlentities ($output);
Aber heißt es nicht ohnehin "Benutzername"? o_O
...
Würds da irgend ne Liste geben?
Zitat von drunken monkey
Zum Design: Hm, nicht schlecht. ^^ Sogar valide, toll! Ich würde allerdings vielleicht noch dünne Ränder an die ganzen farbigen Flächen machen.
...
Irgendwie, kann ich mir das nicht vorstellen. Meinst du irgendwelche spezielle Farben, z.B. überall einfach ein bischen heller oder so?
Wieso sind die Boxen im IE so "falsch" interpretiert? Das CSS wäre:
Irgendwie, kann ich mir das nicht vorstellen. Meinst du irgendwelche spezielle Farben, z.B. überall einfach ein bischen heller oder so?
...
Nein, ich meine einfach, dass die ganzen Flächen zB mit schwarzen Linien umrandet sind.
Zitat
Wieso sind die Boxen im IE so "falsch" interpretiert? Das CSS wäre:
...
Weil der IE Mist ist. ^^ Damit bei dem alles so funktioniert, wie du willst, brauchst du wahrscheinlich ein zweites Stylesheet nur für IE, das du dann per Conditional Comment einbindest.
Wenn du mit der header-Funktion arbeitest, muss dir bewusst sein, was das genau ist. Es handelt sich dabei um HTTP-Header, also Daten, die benötigt werden, damit Browser und Server miteinander Kommunizieren können.
Du hast header() nach einer Ausgabe von Zeichen verwendet, das bedeutet, die Browser-Server-Kommunikation ist bereits zu Ende.
header() kann nur verwendet werden, wenn noch kein Zeichen an den Browser gesendet wurde, d.h <?php muss das erste Zeichen sein, dass bei dir im Quelltext steht.
Zitat
Das Problem hatte ich auch schon. Am besten ist, du verwendest ü, etc., da geht's auf jeden Fall. ^^ Und wenn du php verwendest geht das eh ganz einfach mit
$output = htmlentities ($output);
Aber heißt es nicht ohnehin "Benutzername"? o_O
...
Möglich, allerdings empfiehlt das W3C, diese Umlaute auch in reinform Anzugeben. Und heutzutage spricht wirklich nichts mehr dagegen.
Zitat
Wieso sind die Boxen im IE so "falsch" interpretiert?
...
Der Internet Explorer hat einen so genannten Box-Modell-Bug, d.h. er berechnet die größe eines Elements falsch.
Seit v6 jedoch nur noch im Quirksmodus.
Der IE hat ab Version 6 auch einen Standardkonformen Modus, in dem er die Boxgröße richtig berechnet.
Um den standardkonformen Modus nutzen zu können musst du den Doctype mitsamt System-Identifyer angeben (das ist die URI, die zur DTD beim W3C zeigt).
Nachtrag
Ich sehe gerade, dass das nicht dein Problem war. Seltsam, das werde ich genauer anschauen!
Zitat
Würds da irgend ne Liste geben?
...
Du solltest nur die Zeichen < (<), > (>), " ("), & (&) und ' (&-#39; ohne "-", musste ich hier machen, damit das vB das nicht entfernt) maskieren, wenn du andere Zeichen brauchst, die in iso-8859-1 nicht enthalten sind, empfehle ich direkt utf-8 zu verwenden.
Nun, ja, das verwirrte mich ein bischen, ich verwendete nämlich zuerst utf-8, dann hat es dort das ü richtig angezeigt, aber bei der Registrier-Seite falsch, und jetzt einfach umgekehrt Sollte iso-8859-1 eben die Umlaute enthalten?
Wie bring ich den Quirk-modus weg? Ich hab den Identifyer doch angegeben?
Nun, ja, das verwirrte mich ein bischen, ich verwendete nämlich zuerst utf-8, dann hat es dort das ü richtig angezeigt, aber bei der Registrier-Seite falsch, und jetzt einfach umgekehrt Sollte iso-8859-1 eben die Umlaute enthalten?
...
Wenn du UTF-8 verwendest, musst du darauf achten, dass die Eingabe in deinen Editor auch als UTF-8 erfolgt. Da gibt es bestimmt irgendwo eine Möglichkeit das einzustellen.
Es stimmt zwar, dass Unicode und iso-8859-1 die Umlaute enthalten, aber an verscheidenen Positionen ihrer Zeichentabelle.
D.h. wenn du deinen Editor versehentlich nicht im UTF-8-Modus verwendest gibtst du äöü als ISO_x ein obwohl du utf-8 verwenden willst.
Das ist der einzige UTF-8 Nachteil, dass man alles als UTF-8 kodiert verwenden muss, aber sonst gibt es viele Vorteile.
Zitat
Wie bring ich den Quirk-modus weg?
...
Wie ich korregiert habe, das ist gar nicht der Fehler, den ich in Verdacht hatte. Du bist schon im standardkonformen Modus. Was genau den border-Fehler nun erzeugt ist mir leider noch unklar
Versuche bitte mal, das alternative Stylesheet nach der Referenz zum Standardstylesheet anzugeben.
Ich hab jetzt das eine div-Element im anderen eingesetzt:
height hab ich im CSS auf auto gesetzt, und trotzdem wird die Box nicht richtig verlängert, wenn der Text länger ist, um das zu überprüfen hab ich auf der Hauptseite längeren Text eingefügt. Hier nochmal der Link.
Hab jetzt den Rahmen rum gemacht damit mans besser sieht.
height ist dafür die falsche Eingenschaft. Für den gewünschten Effekt wäre overflow: auto; oder overflow-y: auto; richtig.
Allerdings, es tut mir sehr leid, dass ich das jetzt sagen muss, solltest du deine Seitenstruktur noch einmal überdenken.
Du arbeitest sehr stark mit absoluter Positionierung, ohne dir über die Folgen davon im klaren zu sein (ein klassischer Anfängerfehler).
Wenn du etwas absolut positionierst nimmst du das Element aus dem Elementenfluss, das bedeutet, dass das Positionierte Element keinen Einfluss mehr auf das Elternelement hat.
Das Problem ensteht meiner Meinung nach dadurch, dass du zwar mit gutem HTML und CSS arbeiten möchtest, aber leider noch in der Zeilen und Spaltenwelt der Tabellendesigns festhängst.
Mit CSS baut man keine Tabellen nach, man gestaltet den Inhalt.
CSS kann (noch) nicht alles was mit Tabellen möglich ist, aber andersrum ist das genauso! Gerade deshalb ist es wichtig, sich mit den vielen Möglichkeiten von CSS zu beschäftigen und die Vor- und Nachteile der Eigenschaften nicht zu übersehen.
Absolute Positionierung ist toll, aber auch gefährlich, weil sich das Prinzip in verschiedenen Situationen verschieden auswirkt.
Im SELFHTML Forum sagt man immer, man sollte zuerst an den Inhalt denken, dann an das Design. Mit CSS ist das sehr gut möglich.
Ich bin dir nicht böse oder will dich niedermachen, ich habe auch mal mit Tabellen gearbeitet. Seit dem habe ich allerdings viel gelernt. ich hoffe dir wird es auch so ergehen
Ich bin dir nicht böse oder will dich niedermachen, ich habe auch mal mit Tabellen gearbeitet.
...
Ich bin der Dumme, der dieses Attribut im Toturial übersprungen hat.O Du hilfst mir ja nur die ganze Zeit, dafür muss ich dir Dankbar sein.(auch drunken monkey)
Zitat von mitaki
Seit dem habe ich allerdings viel gelernt. ich hoffe dir wird es auch so ergehen
...
Ja, das hoff ich auch
Aber, was heisst das genau? Dass man mit CSS kein so positioniertes Design hinbekommt wie mit Tabellen? oder sollte man einfach nicht?
Edit: Auf was muss ich achten damit das Vaterelement dynamisch vergrössert wird? Darf es min-height bzw. min-width auch nicht enthalten?
Aber, was heisst das genau? Dass man mit CSS kein so positioniertes Design hinbekommt wie mit Tabellen? oder sollte man einfach nicht?
...
Mit CSS ist es nicht möglich, mehrspaltige Designs zu erstellen, bei denen z.B. alle "Spalten" gleich lang sind.
Es ist aber durchaus möglich mehrspaltige Designs zu erstellen, bei denen man Inhalt und Navigation und eventuelle Zweitnavigation als 3 Spalten darstellen kann. Bei deinem Design würden zwei absolut Positionierte Elemente genügen (eines für den Loginbereich, das andere für die W3C Icons, die du aber auch weglassen könntest, weil sie die Besucher meist nur verwirren :/).
Ein kurzer Überblick, wie ich die Seite strukturieren würde.
Titelbild in ein <h1>, mit passendem Alternativtext.
Navigationsleiste als <ul> Liste.
Ein <div> für den Inhalt mit position: relative; und rechts einem margin, border oder padding so breit wie die Loginleiste sein soll.
Ein Element, dass den Loginbereich enthält, innerhalb des genannten <div>s, absolut neben dem Inhalt positioniert.
Die Validierungsicons als Fußzeile, wenn du sie wirklich behalten möchtest.