Grundsätzlich:
Leerzeilen können Wunder wirken. Dein Code ist ein einzelner Textbrei, Formatierung gibts bis auf die Einrückung wohl kaum welche.
Benutzt <?php als Einleitungs-Tag, nicht <? .
Mehr wird editiert... hoffe ich
wieso nicht einfach
?
HTML:
wieso nicht--------
wieso nicht einfachoderda <h1> eigentlich einmalig sein sollte.
Der Sinn ist nicht der gleiche, bei Dingsi's Website ging es darum(so weit ich das sehe), um Fakes einfacher zu erstellen. Bei deadshox's Website gehts darum die Fakes zu sammeln bzw. heraufzuladen.
Weil die Variablen im Template ersetzt werden muessen und da bei eval() der Code als PHP Code ausgefuehrt wird, werden die Variablen ersetzt. ;]
Zitat von malu
HTML:
wieso nicht--------
...
Weil mir <hr /> nicht gefaellt und ich es so mache. ;]
Zitat von malu
wieso nicht einfachoderda <h1> eigentlich einmalig sein sollte.
...
Weil die Ueberschrift unabhaengig vom Container Definiert werden soll und <h1> stellt fuer mich ein Textformatierungs Element dar und kein Design Element wie <div>.
Zitat von Drakes
Der Sinn ist nicht der gleiche, bei Dingsi's Website ging es darum(so weit ich das sehe), um Fakes einfacher zu erstellen. Bei deadshox's Website gehts darum die Fakes zu sammeln bzw. heraufzuladen.
Weil mir <hr /> nicht gefaellt und ich es so mache. ;]
...
Und was, bitte, gefällt dir daran nicht? Stylefähig sind die genau wie alles andere auch.
Zitat von deadshox
Weil die Ueberschrift unabhaengig vom Container Definiert werden soll und <h1> stellt fuer mich ein Textformatierungs Element dar und kein Design Element wie <div>.
...
Warum benutzt du dann nicht untergeordnete Überschriften, oder benutzt wenigstens Klassen zum designen? Ich meine, man kann auch alles in hundert Div-Containern ablegen, aber der Sinn dahinter ist mir absolut schleierhaft.
Zitat von Drakes
Der Sinn ist nicht der gleiche, bei Dingsi's Website ging es darum(so weit ich das sehe), um Fakes einfacher zu erstellen. Bei deadshox's Website gehts darum die Fakes zu sammeln bzw. heraufzuladen.
...
Naja, Galleryscripts gibts wie Sand am Meer. Die meisten sind auch leicht so erweiterbar, dass der Effekt der selbe ist.
Verstehe den Sinn dahinter nicht ganz.
Deine tolle Seite hat (zumindest wenn magic_quotes_gpc aus ist) SQLInjections. Ich brauche nur als Faker einzutrage und schon habe ich deinen Masterpassworthash (Ein Glück, dass dein Hoster magic_quotes aktiviert hat) - und denn kann man bei einigermaßen simplen Passwörtern leicht knacken. Das du die MySQL Fehler freundlicherweise ausgibst, erleichtert natürlich das Debuggen von solchen SQLInjections
Dein Code ist unlesbar und ziemlich eklig. Immerhin benutzt du Templates, auch wenn deine Methode ziemlich unsauber ist. Du hättest ja wenigstens den Kram mit dem eval() in eine eigene Funktion auslagern können. Außerdem ist die Hälfte deines HTML Codes dann doch statisch eingebunden.
Ansonsten hast du aber einige mögliche Sicherheitslücken bereits ausgeschlossen (die meisten Sachen werden ja auch vor dem Einsetzen in eine Query sicher gemacht). Auch die Sprachenunterstützung finde ich gut, auch wenn sie ein wenig statisch eingebunden ist
Bis auf die fehlenden Zeilenumbrüche und Einrückungen und die zu langen Zeilen ist dein Code aber auf jeden Fall besser als viele andere Sachen, die ich gesehen habe. Verbesser die paar Punkte und mir gefällt's
Weil die Ueberschrift unabhaengig vom Container Definiert werden soll und <h1> stellt fuer mich ein Textformatierungs Element dar und kein Design Element wie <div>.
...
Textformatierung = Design. <h1> ist aber ein strukturierendes Element und da es nur einmal in einem Dokument vorkommen sollte ist die vergabe von Klassen oder IDs dafür relativ sinnlos.
Zitat
Weil mir <hr /> nicht gefaellt und ich es so mache. ;]
...
Hm, die Trennlinie ist identisch zu deiner Vorstellung gestaltbar.
Warum verwendest du für die Liste am Anfang nicht einfach eine Liste?
Die Tabellen sind imho auch unnötig. Mit einem float für die Bilder wäre das ganze viel schneller geschrieben.
Außerdem möchte ich dich auf die kleine Schrift hinweisen, ich muss mehrmals auf Textvergrößerung klicken um überhaupt was lesen zu können.
Gestalte doch die Seitenbreite flexibel (momentan wird der großteil der Seite nicht genutzt) und füge ebenso flexibel die Fake-Zusammenfassungen nebeneinander dazu.
Deine tolle Seite hat (zumindest wenn magic_quotes_gpc aus ist) SQLInjections.
...
Hm und was kann ich noch dagegen tun, ausser magic_quotes_gpc auszumachen? Das mit dem Eintrag bei Faker habe ich ausprobiert und da ist nichts passiert.
Zitat von Manni
Du hättest ja wenigstens den Kram mit dem eval() in eine eigene Funktion auslagern können.
...
Naja nu dann wuerde es so aussehen:
Ist doch fast das gleiche.
Zitat von Manni
Auch die Sprachenunterstützung finde ich gut, auch wenn sie ein wenig statisch eingebunden ist
...
Wie meinste das?
Zitat von mitaki
Textformatierung = Design. <h1> ist aber ein strukturierendes Element und da es nur einmal in einem Dokument vorkommen sollte ist die vergabe von Klassen oder IDs dafür relativ sinnlos.
...
Habe ich doch garnicht gemacht, hab doch nur dem Div Container eine ID gegeben, es wird ihn ja auch nur einmal geben.
Zitat von mitaki
Hm, die Trennlinie ist identisch zu deiner Vorstellung gestaltbar.
...
Na ja jut dann mach ichs halt so.
Zitat von mitaki
Warum verwendest du für die Liste am Anfang nicht einfach eine Liste?
...
Joa hab ich einfach nicht dran gedacht. ;P Habs gleich mit eingebaut.
Zitat von mitaki
Die Tabellen sind imho auch unnötig. Mit einem float für die Bilder wäre das ganze viel schneller geschrieben.
...
Habs gerade Probiert und komme nicht auf das gewuenschte Ergebnis.
Zitat von mitaki
Außerdem möchte ich dich auf die kleine Schrift hinweisen, ich muss mehrmals auf Textvergrößerung klicken um überhaupt was lesen zu können.
...
Immer noch? Naja ok bin nun auf 11px Hochgegangen.
Zitat von mitaki
Gestalte doch die Seitenbreite flexibel (momentan wird der großteil der Seite nicht genutzt)
...
Ja so soll aber das Design sein. ;] So halt nen Fake Bild aehnlich sehen.
Zitat von mitaki
füge ebenso flexibel die Fake-Zusammenfassungen nebeneinander dazu.
...
Versteh ich nicht. Wie meinst du das?
Zitat von Whiz-zarD
Mal ne Frage: Wer braucht so ein Mist eigentlich?
...
Es soll fuer mich eine Uebung sein und es soll zur Sammlung der Fakes dienen damit man mal eine Uebersicht hat.
Ja so soll aber das Design sein. ;] So halt nen Fake Bild aehnlich sehen.
...
Mag bei kleineren Auflösungen ja noch stimmen. Aber selbst mit nur 1440x900 Pixeln wird das Ding bei mir nur wie ein Strich in der Landschaft angezeigt.
Du solltest dein Design wenigstens etwas flüssiger / elastischer anlegen.
Habe ich doch garnicht gemacht, hab doch nur dem Div Container eine ID gegeben, es wird ihn ja auch nur einmal geben.
...
Es geht darum, das dur dir das div sparen kannst (und solltest) wenn du schon h1 hast.
Du kannst das h1 so formatieren wie du willst, da braucht es kein div mehr.
oder aber du entfernst das h1, was aber dem sinn von CSS komplett zuwiederlaufen würde.
--
cats are not characteristically disposed toward voluntary aerobic exercise
Mag bei kleineren Auflösungen ja noch stimmen. Aber selbst mit nur 1440x900 Pixeln wird das Ding bei mir nur wie ein Strich in der Landschaft angezeigt.
Du solltest dein Design wenigstens etwas flüssiger / elastischer anlegen.
...
Wasn das fuer ne Aufloesung? Das is aber nich Standart. -.-
Naja habs mal nen bissel angepasst, hoffe es ist nun genhem. ;]
Wasn das fuer ne Aufloesung? Das is aber nich Standart. -.-
...
Sag' das dem 15"-MacBook Pro. Oder so ziemlich jedem anderen Breitbild-Laptop. Du brauchat allerdings gar nicht so hohe Auflösungen, damit es fies aussieht; schon bei 1024x768 sieht die Seite leer aus.
Zitat
Immer noch? Naja ok bin nun auf 11px Hochgegangen.
...
Angaben in px brauchst du nur und ausschließlich in Seiten, die du vorher in Photoshop gebastelt hast. Ansonsten wären flexiblere Angaben wie pt oder auch mm (oder bei nicht-Textelementen em und ex) wohl eine bessere Wahl. Ein enormer Voertil ist, daß diese Angaben dem vom User vorgegebenen DPI-Wert folgen, was px AFAIK nicht tut.
Was die Verteilung angeht: Bitte nicht nur als PE. Nicht jeder User hier verwendet Microsoft Windows und daß ein beliebiges Packprogramm mit Windows-SFX-Archiven umgehen kann, ist nicht selbstverständlich. Besser wäre es, zusätzlich eine normale Paketdatei mit anzubieten.
BTW, du solltest dich mal über die Unterschiede zwischen ' und " informieren. ' ist marginal schneller und könnte dir einige \" sparen. (Zugegeben, als Optimierung ist es nicht so derb, aber man muß ja nicht Leistung verschenken, wenn der bessere Weg einen vernachlässigbaren Mehraufwand hat.)
Sag' das dem 15"-MacBook Pro. Oder so ziemlich jedem anderen Breitbild-Laptop. Du brauchat allerdings gar nicht so hohe Auflösungen, damit es fies aussieht; schon bei 1024x768 sieht die Seite leer aus.
...
Na ja jut und was kann ich dagegen tun ohne das Design großartig zu veraendern?
Zitat von Jesus_666
Angaben in px brauchst du nur und ausschließlich in Seiten, die du vorher in Photoshop gebastelt hast. Ansonsten wären flexiblere Angaben wie pt oder auch mm (oder bei nicht-Textelementen em und ex) wohl eine bessere Wahl. Ein enormer Voertil ist, daß diese Angaben dem vom User vorgegebenen DPI-Wert folgen, was px AFAIK nicht tut.
...
So bin jetzt wieder auf pt.
Zitat von Jesus_666
Was die Verteilung angeht: Bitte nicht nur als PE. Nicht jeder User hier verwendet Microsoft Windows und daß ein beliebiges Packprogramm mit Windows-SFX-Archiven umgehen kann, ist nicht selbstverständlich. Besser wäre es, zusätzlich eine normale Paketdatei mit anzubieten.
...
Hab ich sofort gemacht. ;]
Zitat von Jesus_666
BTW, du solltest dich mal über die Unterschiede zwischen ' und " informieren. ' ist marginal schneller und könnte dir einige \" sparen. (Zugegeben, als Optimierung ist es nicht so derb, aber man muß ja nicht Leistung verschenken, wenn der bessere Weg einen vernachlässigbaren Mehraufwand hat.)
...
Joa muss ich mal gucken.
Edit: Wie kann ich Eigentlich das Upload Formular besser Stylen? Hab grad Festgestellt das es bei einer Aufloesung von 800x600 nicht wirklich gut aussieht.
Hm und was kann ich noch dagegen tun, ausser magic_quotes_gpc auszumachen? Das mit dem Eintrag bei Faker habe ich ausprobiert und da ist nichts passiert.
...
Du sollst es ja gerade nicht ausmachen o.o Das ist in diesem Fall das, weas dich gegen die SQLInjections schützt, da alle Sachen, die von außen kommen, escaped werden. Du musst, um dich zu schützen, eigentlich nur die entry()-Funktion auch auf die Sachen beim Upload anwenden (auch auf den Dateinamen).
Ich würde die entry() Funktion auf die Sachen beschränken, die zum Sichern für eine Query notwendig sind (eigentlich nur add_slashes()) Gerade strip_tags würde ich mir sparen, da es ja unter Umständen zum Beispiel Benutzernamen gibt, die wie ein Tag aussehen - die wären dann nicht erlaubt.
Zitat von deadshox
Naja nu dann wuerde es so aussehen:
Ist doch fast das gleiche.
...
Aber auch nur fast. eval() ist eine unsaubere Sache, die sollte man am besten nur an einer Stelle verwenden (mal davon abgesehen, dass es viel kürzer wäre :P)
Zitat von deadshox
Wie meinste das?
...
Naja , es ist über ein include gemacht. Besser wäre es imo, die Sprache nur als Einstellungswert zu definieren, und dann in der index.php oder sonstwo die entsprechende Sprache einzubauen - das ist benutzerfreundlicher und flexibler (zB unabhängig vom Sprachpfad )
Du sollst es ja gerade nicht ausmachen o.o Das ist in diesem Fall das, weas dich gegen die SQLInjections schützt, da alle Sachen, die von außen kommen, escaped werden. Du musst, um dich zu schützen, eigentlich nur die entry()-Funktion auch auf die Sachen beim Upload anwenden (auch auf den Dateinamen).
Ich würde die entry() Funktion auf die Sachen beschränken, die zum Sichern für eine Query notwendig sind (eigentlich nur add_slashes()) Gerade strip_tags würde ich mir sparen, da es ja unter Umständen zum Beispiel Benutzernamen gibt, die wie ein Tag aussehen - die wären dann nicht erlaubt.
...
Ok Sry da hab ich mich falsch ausgedrueckt mit den Magic Quotes. ^^ Meine natuerlich ausser es an zulassen.
Zitat von Manni
Aber auch nur fast. eval() ist eine unsaubere Sache, die sollte man am besten nur an einer Stelle verwenden (mal davon abgesehen, dass es viel kürzer wäre :P)
...
Hab das grad Probiert eval() in eine Funktion zu packen hat aber nicht Funktioniert. ;(
Zitat von Manni
Naja , es ist über ein include gemacht. Besser wäre es imo, die Sprache nur als Einstellungswert zu definieren, und dann in der index.php oder sonstwo die entsprechende Sprache einzubauen - das ist benutzerfreundlicher und flexibler (zB unabhängig vom Sprachpfad )
...
Was meinst du mit Einstellungswert? Ueber einen Admin Panel?
Hab das grad Probiert eval() in eine Funktion zu packen hat aber nicht Funktioniert. ;(
...
Änder doch einfach deine dooutput() Funktion (ungetestet):
Du könntest das ganze auch direkt in die gettemplate() Funktion packen:
Änder doch einfach deine dooutput() Funktion (ungetestet):
In beiden Fällen bekommst du allerdings Probleme mit den variablen, weil sie innerhalb der Funktion nicht vorhanden sind (außer den Superglobalen). Da empfielt es sich, einfach alle Variablen für das Template mitzuübergeben (als Array) und dann extract() zu verwenden
Zitat von deadshox
Was meinst du mit Einstellungswert? Ueber einen Admin Panel?
...
Ein Wert in deiner Konfigurationsdatei. Und wenn du ein Admin Panel hast, dann sollte man das da natürlich auch ändern können
Warum zum Teufel benutzt du überhaupt eval(), um statischen Code auszuführen?
Was Magic Quotes angeht: Stell' sie ab. Und zwar bei dir lokal (sofern du auf einem eigenen Rechner einen Testserver laufen hast). Man sollte Webanwendungen immer so entwickeln, als wolle man sie hinterher auf einem maximal unsicheren System laufen lassen - weil sie nämlich vielleicht irgendwann auf genau so einem laufen. Wenn du dich dann auf Magic Quotes und Safemode verläßt kann es sein, daß es eine böse Überraschung gibt.
Abgesehen davon stellen Magic Quotes u.U. unschöne Dinge mit den Daten an, wenn man nicht aufpaßt. Es hat seine Gründe, warum sie bei PHP seit Ewigkeiten standardmäßig deaktiviert sind.