Shoutbox-Struktur

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Shoutbox-Struktur

    Hallo zusammen, für eine Homepage benötige ich unter anderem ein Gästebuch sowie eine Shoutbox. Das Gästebuch habe ich im Prinzip fertig und wie folgt strukturiert:

    in die meinehomepage.de/gaestebuch.php werden je nach GET-Variable verschiedene "Inhalte" geladen:
    • gaestebuch.php?section=read --> Die vorhandenen Einträge
    • gaestebuch.php?section=write --> Das Formular für einen Neueintrag
    • gaestebuch.php?section=insert --> Der PHP-Code zum Eintragen der vom Formular übergebenen Daten in die MySQL-Datenbank


    Soweit sogut. Ich dachte eigentlich, dass ich vieles davon für die Shoutbox übernehmen könnte, aber...

    Mein Problem ist,
    1. dass die Shoutbox auf mehreren Seiten der Homepage, also z.B. im Home-Bereich und der Galerie auftauchen soll und
    2. Es ja nur ein kleiner Teil der jeweiligen Seite ist. Erstens kann ich (meiner Meinung nach) schlecht GET-Variablen an die URL hängen, weil die .../home/index.php oder die .../galerie/index.php ja vllt. für eigene Funktionen bereits welche benötigen, die ich nicht einfach "löschen" kann (indem ich z.B. wie beim Gästebuch einfach auf .../index.php?section=insert wechsle)


    Was ich also in erster Linie brauche, ist eine sinnvolle Struktur, ich hoffe ihr versteht mein Problem...

    Ich hoffe auf viele Antworten,

    FargoTof

  • #2
    Ändere deine Struktur:
    Code:
    gb/read.php
    gb/write.php
    gb/insert.php
    und für die shoutbox genauso

    Kommentar


    • #3
      Krass, ich komme da komplett ohne GET-Parameter aus (wenn das Gästebuch in einem Script wäre). Aber ok
      [FONT="Helvetica"]twitter.com/unset[/FONT]

      Shitstorm Podcast – Wöchentliches Auskotzen

      Kommentar


      • #4
        Original geschrieben von PHP-Desaster
        Ändere deine Struktur:
        Code:
        gb/read.php
        gb/write.php
        gb/insert.php
        und für die shoutbox genauso
        so entstehen systeme, die tausende dateien haben

        bei ner shoutbox brauchsu ne struktur - soweit klar :-D
        Shoutbox = Anzeige + eingabefeld (immer !?!)
        also im oberen bereich machsu ne anzeige (ich empfehle refresh per ajax) unten eingabefeld ...

        im phpcode:
        PHP-Code:
        if($_REQUEST['eingabe']){
           
        mysql_query("INSERT INTO ...");

        ich bin der meinung, das ich so immer shoutboxen auf webseiten sehe ;-) OHNE "Klick hier zum posten" :-)
        Signatur-Text ...

        Kommentar


        • #5
          Also, mit der Struktur meines Gästebuches bin ich schon sehr zufrieden, eben auch, weil sie nur eine index.php erfordert.

          bei ner shoutbox brauchsu ne struktur - soweit klar :-D
          Shoutbox = Anzeige + eingabefeld (immer !?!)
          also im oberen bereich machsu ne anzeige (ich empfehle refresh per ajax) unten eingabefeld ...
          Mit Ajax kenn ich mich bisher gar nicht aus, aber davon mal ab:

          Im Gästebuch werte ich die Formulardaten auf index.php?section=insert mit $_POST['Name'], etc. aus und trage sie in die Datenbank ein. Ich schicke die Daten also an diese Seite. Aber wohin schicke ich sie bei der Shoutbox?

          Wenn ich meinetwegen die Shoutbox in .../home/index.php integriere, soll ich dann per POST einfach wieder an .../home/index.php senden und auswerten, ob per POST was mitgekommen ist?

          Das erscheint mir irgendwie zu unsauber...

          FargoTof

          Kommentar


          • #6
            so entstehen systeme, die tausende dateien haben
            Auf die GET-Weise wenige 10000-Zeilen-Dateien, sogar noch unübersichtlicher

            Kommentar


            • #7
              Im Gästebuch werte ich die Formulardaten auf index.php?section=insert mit $_POST['Name'], etc. aus und trage sie in die Datenbank ein. Ich schicke die Daten also an diese Seite. Aber wohin schicke ich sie bei der Shoutbox?
              Wohin du sie schickst, ist eigentlich egal. Schick sie an die shoutbox.php, da machst du oben vor der Ausgabe die Auswertung (if (isset($_POST['shoutbox'])) ...), trägst es in die Tabelle ein und leitest per header wieder auf die Seite von der du kamst. Die section kannst du im Shoutboxformluar als hidden-feld mit übergeben und danach entscheiden, wohin du zurück-umleiten willst.
              ich glaube

              Kommentar


              • #8
                Original geschrieben von FargoTof
                Im Gästebuch werte ich die Formulardaten auf index.php?section=insert mit $_POST['Name'], etc. aus und trage sie in die Datenbank ein. Ich schicke die Daten also an diese Seite. Aber wohin schicke ich sie bei der Shoutbox?
                Na an die derzeit aufgerufene seite !?!
                Original geschrieben von FargoTof
                Wenn ich meinetwegen die Shoutbox in .../home/index.php integriere, soll ich dann per POST einfach wieder an .../home/index.php senden und auswerten, ob per POST was mitgekommen ist?
                PHP-Code:
                <?php 
                if($_REQUEST['shout']=="y"){
                  
                mysql_query("INSERT INTO shout (posting)VALUES('".$_REQUEST['data']['shout']."')");
                }
                ?>
                <div id="Shoutbox">Kein Eintrag vorhanden ...</div>
                AjaxRequest('10'); // REFRESH PER AJAX inkl. ABFRAGE

                <form method="post">
                <input type="hidden" name="shout" value="y">
                <input type="text" name="data[shout]">
                <input type="submit" value="Posten">
                </form>
                Original geschrieben von FargoTof
                Das erscheint mir irgendwie zu unsauber...
                Unsauber? Pfoten waschen !
                Signatur-Text ...

                Kommentar


                • #9
                  Ich habe also im Bereich der Shoutbox

                  ein Formular mit:

                  a) einem feld für den Eintrag
                  b) einem verstecktes "Feld", dass ein y mitsendet
                  c) dem Submit-Button,

                  und da ich keinen Parameter <form action="index.php?blablabla"> setze, schickt es die einträge zurück an die gleiche seite (die das dann in die DB einträgt), ja?

                  Falls dem so sei, isses ja echt nicht soooo kompliziert, vor allem kann ich auf die Aktualisierung per AJAX ruhig auch erstmal verzichten...

                  Kommentar


                  • #10
                    lass "action" weg und der macht auto dieselbe seite, da du ja eh im script das eintragen schon drinn hast, iss der query egal ;-)
                    Signatur-Text ...

                    Kommentar


                    • #11
                      lass "action" weg und der macht auto dieselbe seite, da du ja eh im script das eintragen schon drinn hast, iss der query egal
                      das meinte ich.. Ich probier das gleich mal aus, melde mich dann wieder

                      Kommentar


                      • #12
                        Original geschrieben von FargoTof
                        ... vor allem kann ich auf die Aktualisierung per AJAX ruhig auch erstmal verzichten...
                        Relativ Kla geht des so - ABER wenn ich die seite net neu lade, kein neuer eintrag - ich finds imma schön, wenn ich auch ohne refresh (wie bei nem chat) neues sofort sehe ...

                        schau ma hier


                        AJAX REQUEST
                        Signatur-Text ...

                        Kommentar


                        • #13
                          und da ich keinen Parameter <form action="index.php?blablabla"> setze, schickt es die einträge zurück an die gleiche seite (die das dann in die DB einträgt), ja?
                          Würde ich nicht so machen. Wenn du es an das Shoutbox-Script sendest, hast du weniger Anpassungsaufwand, wenn du die Shoutbox nochmal woanders benutzen willst. Und wenn du nicht per header weiterleitest, dann werden die Daten bei jedem Seitenrefresh (die grade wenn sich die Shoutbox nicht mit Ajax aktualisiert ja wohl öfter vorkommen) wieder mitgesendet, und man macht versehentliche "Doppelposts".
                          ich glaube

                          Kommentar


                          • #14
                            dann sende halt auch des input per AJAX oder setz n session string - ist eingetragen worden, wird der auf neu gesetzt - ist der session string == alt - kein eintrag
                            Signatur-Text ...

                            Kommentar


                            • #15
                              Das Problem der Doppelposts wollte ich umgehen, indem ich beim Posten eine ID (die des Eintrages in der DB) mitsende und einen Eintrag dann nur mache, wenn die ID nicht schon drinsteht, das sollte ja auch klappen.

                              Würde ich nicht so machen. Wenn du es an das Shoutbox-Script sendest, hast du weniger Anpassungsaufwand, wenn du die Shoutbox nochmal woanders benutzen willst.
                              Das verstehe ich nicht ganz, ich packe doch so auch alles in EINE shoutbox.php (und eine config.php), die kann ich doch auch ohne großen aufwand in mehrere seiten includen?

                              Kommentar

                              Lädt...
                              X