Beiträge von lukasn

    Ach du... clean() ist auch keine Standardfunktion ;) Das war nicht als reinkopieren und geht gedacht, nur als beispiel wie man vorgehen könnte. Du solltest einfach aus Sicherheitsgründen nicht den $_GET Parameter direkt verwenden, sonder ihn erst noch irgendwie Validieren, das sollte die clean() versinnbildlichen.

    Am besten löst du das nicht mit der Rewrite Engine, sondern programmatisch in PHP. Also in php eine Standard-Section bestimmen, die geladen wird, wenn in der URL keine bestimmt wurde.

    So was in der Art:

    PHP
    if(array_key_exists('section', $_GET) === FALSE)
    {
        $section = 'index';
    }
    else
    {
        $section = clean($_GET['section']);
    }

    Optisch gefällt sie mir gut, technisch nicht ganz so. Ist ein bisschen ein div-Gewitter, sieht wie ein umgewandeltes Tabellenlayout aus, in dem einfach alle Tabellenelemente durch divs ersetzt wurden ;)

    Was soll z.B. der hier?

    HTML
    <div class="cc-m-hgrid-separator"><div></div></div>

    Dafür haben wir margins ;)

    Wenn du schon den faulen HTML5 Doctype verwendest, dann kannst du auch die entsprechenden Elemente verwenden, viele der Divboxen kann man auch komplett streichen. So ist es z.B. oft nicht nötig, eine Navigations-ul nochmal in ein div zu packen, da ja die ul selbst schon eine "leere" box zur Verfügung stellt.

    Gruss,
    -Lukas

    Der <link> tag sieht gut aus, scheint ein Problem mit dem Pfad zu sein. Stell sicher, dass du im href="..." Attribut den richtigen Pfad angibst.

    Noch einige Tipps off toppic: Wenn du schon CSS machst, hör auch auf, tags wie <i> und <b> zu verwenden. Für Betonungen gibt es die <em> und <strong> Tags. Auch das ol-attribut type solltest du nicht mehr verwenden, in CSS gibt es dafür den list-style. Auch alle anderen darstellungsbezogenen Angaben solltest du aus dem HTML-Conde weglassen. <hr> Tags kannst du noch verwenden, um den Code ohne Style Sheet zu strukturieren, diese solltest du dann aber mit CSS verstecken.

    Da ich das bisher so gehalten habe werde ich wohl auch hier so vorgehen. Der Prozess wär dann ungefähr so:

    - Import-Controller ruft die Daten über das CSV Model ab.
    - Für jeden importierten Eintrag wird durch den Controller überprüft, welche Aktion (Insert/Update) benötigt wird
    - Die benötigten Informationen werden aus den DB Models abgerufen
    - Fertige Daten werden mit den entsprechenden Models in die Zieltabellen eingetragen.

    Dabei hat der Controller die volle Entscheidungsgewalt, so sollte es ja mwn auch sein. Kommt mir so am sinnvollsten vor. Danke für den Input =)

    Hallo Leute,

    Ich hab ne Frage bezüglich sinnvoller MVC-Architektur. Das ganze ist in PHP umgesetzt, ich verwende das Kohana-Framework.

    Folgende Situation:
    Daten aus einem per Formular hochgeladenen CSV-File sollen in eine Datenbank eingetragen werden. Die Handhabung des Files sollte ja in einem Model untergebracht sein. Bisher habe ich es so gehalten, dass ich für jede Datenbanktabelle ein eigenes Model erstellt habe.

    Jetzt habe ich aber als Datenquelle das CSV-File, die Daten die ich daraus auslese, sollen in mehrere unterschiedliche Datenbanktabellen eingetragen werden. Ich verwende dazu also mindestens 3 verschiedene Models. Jetzt zu meiner eigentlichen Frage: Soll ich den Datenaustausch zwischen den verschiedenen Models innerhalb des Controllers vornehmen? Oder im Model, dass das File ausliest Instanzen der DB-Models erstellen? Oder vielleicht sogar innerhalb einem Model mit verschiedenen Datenquellen arbeiten?

    Ich arbeite erst seit einigen Monaten mit MVC und bin noch nicht wirklich sattelfest genug, um zu sagen, welches hier das richtige Vorgehen ist. Was meint ihr dazu?

    Dank schon im Voraus,
    -Lukas

    Sollte mit display: inline-block zu lösen sein. Falls da der IE7 Probleme macht, gibt es einen entsprechenden Hack, indem du mit hasLayout die breite auch bei einem Inline-Element angeben kannst. Mehr kann ich dir ohne Quellcode nicht sagen.

    Beispielcode (spricht so nur die Input-Boxen an, die Select ist davon also nicht betroffen)

    Code
    [COLOR=#445588][FONT=monospace][B]input
    [/B][/FONT][/COLOR][COLOR=#000000][FONT=monospace]{
       [FONT=inherit][COLOR=#008080][FONT=inherit]display[/FONT][/COLOR]:[FONT=inherit] inline-block[/FONT];
    [/FONT]   [FONT=inherit][COLOR=#008080][FONT=inherit]zoom[/FONT][/COLOR]:[FONT=inherit] [COLOR=#40A070][FONT=inherit]1[/FONT][/COLOR][/FONT];[/FONT]  [FONT=inherit]*[COLOR=#008080][FONT=inherit]display[/FONT][/COLOR]:[FONT=inherit] inline[/FONT];[/FONT]  [COLOR=#999988][FONT=inherit][I]/* IE7 Hack */
    [/I][/FONT][/COLOR][FONT=inherit]}[/FONT][/FONT][/COLOR]

    Stimmt, hab das Beispiel nur so auf die Schnelle geschrieben. Ich hab's jetzt mal vorerst mit einer Helper-Funktion gelöst, die mir halt das (nach Gruppe sortierte) Array durchläuft und die Daten in das Zielarray schreibt. Wenn sich die Gruppe ändert, zähl ich den Array-Key um eins hoch. Funktioniert, ist aber eine etwas klobige Notlösung.

    Falls es jemanden interessiert, oder noch verbessern kann:

    Hallo Leute

    Ich steh mal wieder ein bisschen auf dem Schlauch. Folgende Situation:

    Gegeben ist ein Datenbank-Resultat als Array. Darin enthalten ist unter anderem eine Gruppenzugehörigkeit und ein Name. Das Resultat soll jetzt in mehrere Arrays aufgeteilt werden, wobei für jede Gruppe ein Array entstehen soll. Wie würdet ihr die Sache angehen? Muss ich wirklich durch das Array loopen und die Arbeit von Hand machen, oder gibt es da irgend eine Abkürzung?

    Hier noch die gewünschte Ausgangs- und Endsituation als Beispiel:

    Ausgangssituation

    Wunschsituation

    Danke schon im Voraus,
    -Lukas

    Ganz einfach: Es ist nicht die Aufgabe von Tabellen, das Layout der Seite zu beschreiben. Tabellen sind für die Anzeige von Tabellarisch angeordneten Daten. Alles andere ist Blödsinn und sollte seit mindestens 6 Jahren von wirklich niemandem mehr praktiziert werden. Das HTML sollte ausserdem nicht durch die Darstellung beeinflusst werden. HTML "beschreibt" den Inhalt der Seite, für die Darstellung ist CSS verantwortlich.

    Was das Wie angeht, dafür gibt es im Internet genügende Tutorials, da wirst du bestimmt eines finden das dir passt.

    OT: Finde es witzig, bei A list apart einen Beitrag zu responsive Webdesign zu lesen, wenn doch ihre eigene Webseite, so hübsch sie auch sein mag, in jeder Situation die selbe fixe breite hat ;) (Und nein: ne Mobile umleitung ist *kein* responsive Webdesign :P )

    Naja, du könntest einfach mit PHP oder was Ähnlichem das Textdokument generieren und dann zum Download anbieten (JS geht mwn. auch, ist aber ziemlich kompliziert).

    Stellt sich nur noch die Frage was das ganze soll. Wenn du den Login speichern willst, dann mach doch ein Cookie dafür.

    Gruss
    -Lukas

    Aber trotzdem haben gefühlte 99% aller Webprojekte den Anspruch, auch im IE zu funktionieren, er ist immer noch einer der meist verwendeten Browsern, da spielt die Qualität des Browsers keine Rolle... Wir könnten jetzt wieder in einen philosophischen Diskurs abschweifen, aber aus solchen halte ich mich raus. In der Praxis muss der IE halt leider weiterhin unterstützt werden.

    Danke für die Info =P Das ist mir selbstverständlich klar. Das Problem liegt dabei, dass ich irgenwie ein Schwesternelement ansprechen müsste, was in CSS ja nur sehr bedingt möglich ist. Ich hab mich jetzt für eine etwas andere Variante entschieden, welche das Problem umgeht.

    Guten Tag allerseits,

    Ich steh gerade ein bisschen auf dem Schlauch. Folgende Situation: Ich habe eine Horizontale Navigation in welcher die Subnavigation mit hover angezeigt werden kann. Submenüs werden auf 100% Breite immer am gleichen Ort angezeigt.
    Befindet man sich aber auf einer Unterseite der Ersten Hierarchiestufe, so soll das Submenü dieser Stufe immer angezeigt werden AUSSER ich bin mit :hover über einem anderen Navigationseintrag, dann soll das Submenü der entsprechenden Kategorie angezeigt werden, die Aktuelle Kategorie wird versteckt.
    Mit JavaScript liesse sich die ganze Sache sehr einfach machen, aber ich bin eigentlich Überzeugt, dass auch eine CSS-Lösung machbar sein sollte.

    Mir ist bewusst dass diese Beschreibung etwas Verwirrend ist, am besten schaut ihr es euch hier selbst einmal an. Dies ist nur ein Beispiel, Links und Bilder Funktionieren nicht!

    Hier noch der Relevante Code ohne Textformatierung damit ihr euch nicht durch den Code graben müsst.

    CSS:

    Hoffe mein Problem ist verständlich und freue mich auf eure Antworten.

    Gruss,
    -Lukas

    Das gehört eigentlich ins PHP Forum, und Code-Tags hätten die Sache einfacher gemacht.

    Hier hast du aber auf jeden fall etwas komisches in deinem Code:

    Code
    [COLOR=#333333]INSERT INTO tbl_object (`zim_zahl`, `strand`, `pool`, `meer`, `objName`, `obj_art`, `objNummer`, `ObjHText`, `objPreis`, `objLText`, `wfla`, `regID`, `ortID`)[/COLOR]
    
    
    [COLOR=#333333]select tbl_object.*, bl_ort.*, region.* FROM `tbl_object.objID`, `bl_ort.ortID`, `region.regID` WHERE tbl_object.objID = objID AND region.regiID=regID AND bl_ort.ortID = ortID [/COLOR]
    
    
    [COLOR=#333333]VALUES [/COLOR]
    [COLOR=#333333]('$_POST[rnr]', '$_POST[stra]', '$_POST[pool]', '$_POST[meerb]', '$_POST[ob_name]', '$_POST[obj]', '$_POST[obnr]', '$_POST[obstext]', '$_POST[preis]', '$_POST[txrea]', '$_POST[wfla]','$_POST[regi_type]', '$_POST[obj_ort]')[/COLOR]

    Was soll da die SELECT- Zeile mitten in deinem INSERT? Es ist ausserdem nicht empfehlenswert, Usereingaben unverarbeitet in die Datenbank zu schreiben, Stichwort MySQL Injection.

    Zum Thema kopieren: Nicht möglich und auch nicht legal, das Script gehört dir nicht, das darfst du nicht einfach kopieren.

    Was dein Problem angeht, ist es anhand dieser Fehlermeldung unmöglich zu sagen, was der Fehler ist, da du das Script ja "nach deinem Ermessen" angepasst hast. Poste mal dein Script und ein Beispiel des SQL-Codes den du da generierst, also einfach anstatt an die DB schicken per echo ausgeben.