Announcement

Collapse
No announcement yet.

index.php inhalte ändern (DOM ?)

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • index.php inhalte ändern (DOM ?)

    Hallo, Experte!
    Habe eine Frage...naja eher Fragen

    Ich 'arbeite' gerade an eigenen Gäste-Buch. (nich weil fertiege Sachen mir nicht gefallen, sondern weil ich meine PHP-kentnisse verbessern möchte.)

    Im internet habe ich schon viele Gäste-bücher gesehen und meisten davon (wenn nich alle) sind php-basiert. Sehr oft habe ich gesehen dass php-scripte bestimmte inhalte (z.B. meldungen, bestätigungen, etc) in index.php nach der operation hunzufügen.

    Beispiel: in Gästebuch wurde ein Eintrag hinzigefügt/gelöscht und weill das alles super gut gelaufen ist, bekommt der User eine nachricht, dass der Eintrag hinzugefügt/gelöscht wurde.
    Meistens ist das so, dass solche Meldungen in einem dafür bestimmten platz erscheinen. Und hier kommt meine Frage: WIE mach man das ?

    Ihr könnt natürlich sagen: "Schreib doch dein PHP-block da, wo die solche nachrichten sehen möchtest...". ABER. gibts es eine andere methode? Ich würd für DOM tendieren (wie in JavaScript. Mit DOM kann man alle HTML-Elemente belibig ändern...), aber ich weiss nicht, ob man mit PHP DOM die selebe index.php, wo die scripte sind, ändern kann ?


    P.S. Warum alles so kompliziert? Naja ich versuch alles möglichst dynamisch und flexibel zu machen....
    Zuletzt editiert von bugzz; 29.12.2009, 22:44.

  • #2
    Wenn Fehler, dann gibt Fehöermeldung/Nachricht aus.

    An der Stelle wo die Ausgabe erwünscht ist, wird anhand einer Bedingung geprüft, ob ein Fehler/Nachricht ausgegeben werden soll. Nur dann wird der zur Erzeugung notwendige Quelltext mit dem Fehler/Nachricht erzeugt.
    Christian

    Comment


    • #3
      Originally posted by Christian Marquardt View Post
      Wenn Fehler, dann gibt Fehöermeldung/Nachricht aus.

      An der Stelle wo die Ausgabe erwünscht ist, wird anhand einer Bedingung geprüft, ob ein Fehler/Nachricht ausgegeben werden soll. Nur dann wird der zur Erzeugung notwendige Quelltext mit dem Fehler/Nachricht erzeugt.
      Okkkaayy. hört sich gut an. Gibt es eine funktion die sagt ob eine andere Funktion/methode fehler erzeugt hat ?

      P.S.

      Hier ist noch bisschen info über mein Gäste-Buch:

      index.php // HTML + kleine PHP-blocks wo nur funktionen ausgeführt werden. Includiert Datei lib.func.php
      lib.func.php // "Bibliothek" mit allen php-funktionen die in index.php verwendet werden. Includiert Datei config.db.php
      config.db.php // Enthält MySQL konstanten, die für die Verbindung benötigt werden.

      MySQL Tabelle: tbl_guest_book

      Code:
      | FELD    |   TYP  |
      +---------+--------+
       msgID    |  int
       nickname |  varchar(32)
       email    |  varchar(32)
       msg      |  text(255)
       added    |  timestamp

      Comment


      • #4
        Der Zustand wird weiteren Seiten entweder über entsprechende Parameter im Request weitergegeben oder die Informationen werden in einer für jeden Nutzer erzeugten Session abgelegt

        Stichwörter: Session, URL-Rewriting
        Zuletzt editiert von Christian Marquardt; 29.12.2009, 23:08. Reason: Rechtschreibung
        Christian

        Comment


        • #5
          Originally posted by Christian Marquardt View Post
          Der Zustand wird weiteren Seiten entweder über entsprechende Parameter im Request weitergegeben oder die Informationen werden in einer für jeden Nutzer erzeugten Session abegelegt

          Stichwörter: Session, URL-Rewriting
          Ähmmm tut mir leid, aber das wa du sagst ist bisschen zu weit/kompliziert. Ich verstehe da nicht ganz. Erstens, meine PHP-kentnisse sind nicht so gut. Zweitens. Im moment habe ich eine grobe version meines Gästebuches -> nicht multiuser-fähig.
          Meine ziele dabei:
          - Abruf exestierenden Einträge aus der Datenbank.
          - hinzufügung neiner Einträge in die Datenbank.
          - Löschen vorhandene Einträge aus der Datenbank.

          Comment


          • #6
            Löschen vorhandene Einträge aus der Datenbank.
            Wie realisierst du das, ohne das sich ein User authentifizieren muss?

            Sonst kann User A Einträge von User B (Allen) löschen.

            Üblicherweise ist das einem Admin vobehalten.
            Christian

            Comment


            • #7
              Originally posted by Christian Marquardt View Post
              Wie realisierst du das, ohne das sich ein User authentifizieren muss?

              Sonst kann User A Einträge von User B (Allen) löschen.

              Üblicherweise ist das einem Admin vobehalten.
              Jap! so ist das! Im moment gibts nur mich (admin, root wie auch immer). Andere user soll im moment nich geben. Wie ich schon gesagt habe. Kein multiuser. Keine login-forms, keine coockies, sessions, etc.......
              Attached Files
              Zuletzt editiert von bugzz; 29.12.2009, 23:25.

              Comment


              • #8
                a) hat das überhaupt nichts mit Mulituser zu tun

                b) ist die Anwendung (dein Formular) insofern sinnlos, da du sie nie publishen kannst.

                Auch wenn es ggf. nur zu Übungszwecken ist, solltest du dein Konzept überdenken:

                Erstelle ein Formular mit den Einträgen für das Gästebuch
                Wird das Formular abgesandt, werden die Eingabefelder validiert. Fehler werden auf der Seite mit dem Formular ausgegeben.

                Sind die Daten validiert, werden sie in einer "Zwischentabelle" gespeichert. Gleichzeitig wirst du als Admin mit einer Mail über den erfolgten Eintrag informiert. Diese Mail enthält 2 Links auf PHP-Scripte. Der Erste löscht den Eintrag in der "Zwischentabelle" und verwirft damit den Eintrag. Der Zweite kopiert den Eintrag aus der "Zwischentabelle" in die endgültige Tabelle. Damit wird der Eintrag akzeptiert und freigeschaltet und ist dann erst sichtbar für alle.
                Christian

                Comment


                • #9
                  Originally posted by Christian Marquardt View Post
                  ...ist die Anwendung (dein Formular) insofern sinnlos, da du sie nie publishen kannst.c
                  Das ganze zu Veröffentlichen hatte ich auch nicht vor =), sinnlos ist ar ber nicht. Grund? Ganz einfach! Ich lernen noch.
                  Im moment bringste mir das Grundform einer Textanalyse bei, wobei ich noch beim alphabet bin
                  Originally posted by Christian Marquardt View Post
                  Auch wenn es ggf. nur zu Übungszwecken ist, solltest du dein Konzept überdenken:
                  Werde ich, da ich die selebe "aufgabe" um weiteres komplizierter machen werde. Aber nur dann wenn ich das einfachste (so gar wenns zu abstrakt sei) erledigt habe.

                  Originally posted by Christian Marquardt View Post
                  Erstelle ein Formular mit den Einträgen für das Gästebuch
                  Wird das Formular abgesandt, werden die Eingabefelder validiert. Fehler werden auf der Seite mit dem Formular ausgegeben.

                  Sind die Daten validiert, werden sie in einer "Zwischentabelle" gespeichert. Gleichzeitig wirst du als Admin mit einer Mail über den erfolgten Eintrag informiert. Diese Mail enthält 2 Links auf PHP-Scripte. Der Erste löscht den Eintrag in der "Zwischentabelle" und verwirft damit den Eintrag. Der Zweite kopiert den Eintrag aus der "Zwischentabelle" in die endgültige Tabelle. Damit wird der Eintrag akzeptiert und freigeschaltet und ist dann erst sichtbar für alle.
                  Das hört sich nach einen einfachen CMS an und das ist wiederum NICHT mein ziel....
                  Ausserdem ist Gästebuch kein forum oder ähnliches. Es ist da damit jeder GAST da was schreiben darf....


                  P.S. Aber trozdem danke für den versuch aus mir PHP-profi zu machen

                  Comment


                  • #10
                    Das hört sich nach einen einfachen CMS an und das ist wiederum NICHT mein ziel....
                    Ausserdem ist Gästebuch kein forum oder ähnliches. Es ist da damit jeder GAST da was s
                    ???? Das muss man jetzt nicht verstehen????

                    Du kennst den Unterschied zwischen einem Forum (wie hier) und einem Gästebuch?
                    Du weisst was ein CMS ist?
                    Warum könnte bei meinem Vorschlag NICHT jeder etwas schreiben?
                    Du hast die Zielstellung meines Vorschlages offenbar nicht verstanden? Es gibt Bots, und lebende Bots die einen Haufen Mist in ein öffentliches Gästebuch schreiben. Aus diesem Grund (und auch aus rechtlichen Gründen) ist eine Kontrolle unerlässlich. Weitere Ausbaustufen sind Wortfilter, Adressfilter usw.
                    Christian

                    Comment


                    • #11
                      Originally posted by Christian Marquardt View Post
                      Du kennst den Unterschied zwischen einem Forum (wie hier) und einem Gästebuch?
                      Du weisst was ein CMS ist?
                      Ähmm warum denn so ironisch ? Ich vesteh schon dass dein Wissen zum Thema 1000 mal größel ist als meins. Deswegen stelle ich Fragen, wie man diese oder jenes tut/macht/realisiert.......
                      Originally posted by Christian Marquardt View Post
                      Es gibt Bots, und lebende Bots die einen Haufen Mist in ein öffentliches Gästebuch schreiben. Aus diesem Grund (und auch aus rechtlichen Gründen) ist eine Kontrolle unerlässlich. Weitere Ausbaustufen sind Wortfilter, Adressfilter usw.
                      das weiss ich Und dass man captcha verwenden soll usw. Und ich versteh dass man für SECURITY mehr zeit investieren soll als man denkt. Das ist mir klar......
                      Aber guck noch mal was für eine Frage ich in meinen ersten Post gestellt habe. Hat das irgendwie mit der Sicherheit oder Arten der Sicherheitsmaßnahmen zu tun? NEIN! Wenns dazum kommt erstelle ich einen weitern Thread in entsprechenden Forum und dann können wir weiter diskutieren, wie UNsicher meine promitivste Gästebuch sei.....
                      Zuletzt editiert von bugzz; 30.12.2009, 15:33.

                      Comment


                      • #12
                        Hallo,

                        um mal auf die Ausgangsfrage zurückzukommen

                        Originally posted by bugzz View Post
                        ...Ihr könnt natürlich sagen: "Schreib doch dein PHP-block da, wo die solche nachrichten sehen möchtest...". ABER. gibts es eine andere methode? Ich würd für DOM tendieren (wie in JavaScript. Mit DOM kann man alle HTML-Elemente belibig ändern...), aber ich weiss nicht, ob man mit PHP DOM die selebe index.php, wo die scripte sind, ändern kann ?
                        Den PHP-Block dort einzubauen wo die Nachricht erscheinen soll wäre das Übliche und somit das Standardverfahren. Eine andere Variante ist die Verwendung von Templates. Allerdings ist dies wieder grundsätzlicher Natur und wohl (noch) nicht in deinem Sinne.
                        Die Verwendung einer der PHP-DOM-Klassen für diese Zwecke ist dagegen nicht geeignet. Mit diesen Klassen könnte man zwar prinzipiell den kompletten DOM-Baum aufbauen und dann mittels echo ausgeben. Dieses Vorgehen halte ich jedoch für reichlich kompliziert. Um es nochmal deutlich zu machen: Das DOM-Document welches du mit den DOM-Klassen von PHP bearbeiten kannst ist NICHT das Dokument welches an den Client ausgeliefert wird.

                        Gruß Falk
                        Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

                        Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

                        Comment

                        Working...
                        X