Beiträge von lukasn

    Zusätzlich zu dem #menu ul li:hover ul brauchst du einfach noch ein #menu ul li:focus ul, also etwa so:

    Code
    /*--lässt die Dropdown-Links beim Hovern erscheinen--*/
    #menu ul li:hover ul,
    #menu ul li:focus ul
    {
        display: block;
        left:0;
    }

    Hängt etwas von den Funktionen ab. Einen Admin-Controller wirst du sowieso brauchen, da du bestimmt auch Administrations-Spezifische Actions haben wirst. Ich würde einfach in erster Linie darauf achten, dass dein Code DRY bleibt. Wenn du also im Adminbereich genau die gleiche Funktionalität für eine Action haben musst, wie im User-Controller, dann verwende die. Du kannst sie ja auch per Subrequest im Admincontroller verwenden.

    Meist werden wohl die Adminfunktionen nicht gleich aufgebaut sein, wie beim User. Dann würde ich die ganze Action im Admincontroller schreiben. Für das Speichern der Daten kannst du ja trotzdem das User-Model verwenden.

    Bin nicht sicher, ob ich dich ganz richtig verstehe hier. Du möchtest in der Navi einen Indikator haben, welches die aktuelle Seite ist? Das löst du am besten mit einer eigenen Klasse, die dann das entsprechende Navigationselement erhält.

    Das Submenü geöffnet zu lassen ist deutlich komplizierter. Wahrscheinlich liesse sich mit der Verwendung der Pseudoklase :focus etwas machen, wird in älteren IE-Versionen aber wahrscheinlich zu Problemen führen. Eine Alternative dazu wäre Javascript.

    Wow, darauf weiss ich leider keine Antwort mehr zu geben, ausser dass die E-Mail wohl sehr bald verschwunden sein wird, da sie gegen die Forenrichtlinien verstösst. Wie in deinem Post ja etwas säuerlich erwähnt, waren meine Ratschläge gut gemeint, so aber auch der Hinweis, dass der Output eines Site-Baukastens nicht damit vergleichbar ist, was ein Fachmann produzieren würde, nur weil das Design vielleicht ähnlich sein könnte, heisst das nicht dass die Technik vergleichbar ist...

    Das ist halt eben das Problem, dass die Illusion der "Zugänglichkeit" solcher Angebote auslöst. Die Laien stellen sich vor, sie können damit eine funktionale Webseite erstellen, ohne davon eine Ahnung zu haben. Wenn dann die unausweichlichen Probleme auftreten, wendet man sich an die Fachleute. Wenn diese dann aber - eben so unausweichlich - auf die Limiten des Baukastens hinweisen, ist man beleidigt. Fakt ist halt, dass auch auf dem Internet Qualität nicht einfach so gegeben ist. Eine Webseite zu entwickeln kostet Zeit und Hingabe, wenn man diese nicht aufbringen kann oder will, muss man das Geld aufbringen, den Profi zu engagieren oder das Projekt fallen lassen.

    Nachdem ich mich jetzt etwas auslassen konnte, das Thema ist für mich gegessen. Da ich nicht mehr mit einer Antwort von Herrn Freiberger rechne, klinke ich mich hiermit aus der Diskussion aus

    Gruss,
    -Lukas

    Du verwendest also einen Baukasten. Kann ich dir grundsätzlich nicht empfehlen, wenn du es mit der Homepage ernst meinst; am besten eignest du dir die Kenntnisse an, die Webseite von Hand zu erstellen, diese Baukastensysteme sind qualitativ nie besonders hochstehend.

    Davon aber mal abgesehen gibt es in beinahe jedem Baukastensystem die Möglichkeit, eigene Bilder hoch zu laden. Eine Anleitung dazu, wie das bei 1&1 funktioniert findest du hier. Versuch mal, dein Problem mit den Informationen aus der 1&1 Hilfe zu lösen. Für eine bessere Hilfestellung ist dies wahrscheinlich nicht das richtige Forum, da hier die meisten (aus gutem Grund) nicht mit Baukastensystemen arbeiten.

    Gruss,
    -Lukas

    Okay, ich glaube wir müssen hier erst mal einige Schritte zurück treten.

    Du sagst:

    ich möchte ein Bild auf meiner Internetseite mit meiner e-mail Adresse verlinken.

    Um was für eine "Internetseite" handelt es sich dabei? Von deinen Fragen ist klar, dass dich mit dem Entwickeln von Webseiten und den damit zusammenhängenden Technologien nicht im geringsten auskennst. Zeig uns doch mal, was du bis jetzt hast, also den ganzen Zusammenhang, nicht nur den einzelnen Mail-Link um den es dir geht.

    Wenn wir diese Frage geklärt haben, können wir den nächsten Schritt, die Verlinkung, in Angriff nehmen.

    Die Überprüfung mit is_numeric() sollte grundsätzlich ausreichen. Wenn du keine prepared statements verwendest, kannst du den Wert zur Sicherheit trotzdem noch durch escapen zusätzlich absichern. Ausser es kommt dir auf die letzten Milisekunden Ausführungszeit an, dann kannst du es getrost weglassen.

    Beim XSS (Cross-site-scripting) handelt es sich um schadhafte Scripts, die auf eine normalerweise vertrauenswürdige Webseite eingeschleust werden. Meistens handelt es sich dabei um ein JavaScript, welches z.B. Daten aus Cookies auf dem Client Computer ausliest und an einen externen Server weiterleitet. XSS zielt also in erster linie direkt auf die Besucher deiner Webseite, nicht auf den eigenen Server.

    XSS lässt sich durch sinnvolles validieren von sämtlichen externen Eingabemethoden verhindern. Dies sind in erster Linie Formulareingaben und URL Parameter, aber auch "Server"-variablen wie z.B. $_SERVER['PHP_SELF'] müssen beachtet werden. PHP bietet dafür verschieden Funktionen wie z.B. htmlspecialchars() oder strip_tags() an, die meisten anderen Programmiersprachen die es betrifft bieten gleichwertige Funktionen.

    Das ist nur ein sehr grober Überblick, am besten bemühst du mal Google zum Thema, es gibt viele gute Tutorials dazu, wie man sich gut gegen XSS und andere Angriffsarten schützen kann.

    Gruss,
    -Lukas

    Erstell im Bildprogramm ein zweites Bild mit der gewünschten Farbe, dann kannst du bei :hover einfach das Hintergrundbild ändern indem du die andere URL angibst.

    Ungefähr so:

    Code
    #navi a {    background: url(media/images/navi_normal.png) transparent; }
    
    
    #navi a:hover {    background: url(media/images/navi_hover.png) transparent; }

    Da ich noch nicht viel mit CSS3 arbeite bin ich jetzt nicht sicher, wie sich in so einem fall eine Transition auswirkt, möglicherweise sieht es durch die Überlagerung der Bilder etwas komisch aus oder funktioniert gar nicht, müsste man ausprobieren.

    Gruss,
    -Lukas

    Edit: War wohl etwas zu langsam ;)

    Hm, gute Frage. Beide verfahren schliessen bei einer brauchbaren Implementation eine konventionelle Injection eigentlich zu nahezu 100% aus, vom Sicherheitsaspekt würde ch aber trotzdem sagen, dass Prepared Statements, ob jetzt mit mysqli oder PDO oder was immer du verwendest, tendenziell etwas sicherer sind. Sie sind auf jeden Fall einfacher zu handhaben, wobei eine Validierung von Usereingaben natürlich trotzdem noch nötig ist, um auch gegen XSS und ähnliche Angriffe geschützt zu sein, dabei kann man sich gleichzeitig auch um das Escaping kümmern. Ist daher wohl ein bisschen eine Glaubensfrage.

    Was die Performance angeht, sind Prepared Statements bei mehreren Operationen minim schneller, da die Query nur einmal geparsed weden muss, wobei der Gewinn marginal ist. Die grössten Performancegewinne in der Datenbank erhält man halt durch sinnvolles Tabellendesign.

    Wie oft hängt es also in erster linie nicht von der verwendeten Technologie, sondern von der Qualität der Implementation ab.

    Hängt etwas davon ab, wie du die Zeiten gespeichert hast. Wenn du sie als Timestamp hast, kannst du sie ungefähr so auslesen:

    Code
    [COLOR=#00008B][FONT=Consolas]SELECT[/FONT][/COLOR][COLOR=#000000][FONT=Consolas]*[/FONT][/COLOR][COLOR=#00008B][FONT=Consolas]FROM[/FONT][/COLOR][COLOR=#000000][FONT=Consolas] `[/FONT][/COLOR][COLOR=#00008B][FONT=Consolas]table` [/FONT][/COLOR][COLOR=#00008B][FONT=Consolas]WHERE `username`='$name' AND[/FONT][/COLOR][COLOR=#000000][FONT=Consolas] `timestamp_spalte` [/FONT][/COLOR][COLOR=#000000][FONT=Consolas]>[/FONT][/COLOR][COLOR=#000000][FONT=Consolas] DATE_SUB[/FONT][/COLOR][COLOR=#000000][FONT=Consolas]([/FONT][/COLOR][COLOR=#00008B][FONT=Consolas]CURRENT_TIMESTAMP[/FONT][/COLOR][COLOR=#000000][FONT=Consolas],[/FONT][/COLOR][FONT=Consolas][COLOR=#000000] INTERVAL [/COLOR][COLOR=#800000]1 WEEK[/COLOR][/FONT][COLOR=#000000][FONT=Consolas])[/FONT][/COLOR]

    Du vergleichst dabei einfach den gespeicherten Timestamp mit dem aktuellen Timestamp minus 7 Tage. Es gibt in MySQL noch verschiedenste andere Datums- und Zeitfunktionen, eine gute Referenz davon gibt es hier. BETWEEN könnte z.B. auch eine Funtkion sein, die dir dabei nützlich ist.

    Die genaue Unterteilung der Daten machst du dann am besten programmatisch in PHP.

    EDIT: Hier wäre noch die deutsche Version der Referenz: http://dev.mysql.com/doc/refman/5.1…-functions.html