Aufrufe, Fragen vorm Löschen und Kommentare über mehrere Seiten

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

  • Aufrufe, Fragen vorm Löschen und Kommentare über mehrere Seiten

    Hey,
    ich wusste nicht genau ob ich ins SQL oder PHP Forum posten sollte, wenn ich mich falsch entschieden hab, bitte nicht böse sein
    Habe 3 Fragen:

    - Ich habe auf einer Seite eine Anzeige eingebaut, die ausgibt wie viele Aufrufe diese Seite hat. Der Code dazu:
    PHP-Code:
    $top ++;
        
    $update "UPDATE uploads SET top ='".$top."'"
    Aber so wird natürlich bei jedem Aufruf und bei aktualisieren der Seite die Zahl aktualisiert. Ich würde es gerne auf 1 pro User beschränken, also das bei jedem User nur 1x die Anzeige geUPDATEted (^^) wird. Weiß jemand wie das geht?

    - Ich habe eine Kommentar Funktion programmiert und die funktioniert auch sehr gut. Dann hab ich noch hinzugefügt, dass jeder seine eigenen Kommentare löschen und berbeiten kann, auch das hat funktoniert. Jetzt würde ich aber gerne den User nochmal fragen, ob er sein Kommentar wirklich löschen will. Geht das mit onclick ud alert('')? Dann müsste man den "ok" Button mit dem Löschlink verlinken und einen 2ten Button für "NEIN" hinzufügen, bei dem alter Fenster. Weiß aber nicht wie das geht
    Oder so ein Kasten im Vordergrund und der Hintergrund wird dunkler, das wär auch stylisch

    - Die letzte Frage hat auch mit den Kommentaren zu tun. Wie verteile ich die Kommentare am einfachsten auf mehrere Seiten?

    Danke schonmal im Vorraus

  • #2
    Hallo,

    Zitat von Spunk95 Beitrag anzeigen
    Ich würde es gerne auf 1 pro User beschränken, also das bei jedem User nur 1x die Anzeige geUPDATEted (^^) wird
    Sind die User zu diesem Zeitpunkt eingeloggt? Dann kannst du einen Zeitstempel speichern und vor jeder Aktion prüfen, wie lange die letzte zurückliegt. Ohne Login machst du im Prinzip dasselbe, nur dass du dann alles auf Basis der IP-Adresse machst und diese selbstverständlich ebenfalls speichern musst.

    Zitat von Spunk95 Beitrag anzeigen
    Geht das mit onclick ud alert('')? Dann müsste man den "ok" Button mit dem Löschlink verlinken und einen 2ten Button für "NEIN" hinzufügen, bei dem alter Fenster. Weiß aber nicht wie das geht
    Neben alert gibt es auch noch confirm.

    Gruß,

    Amica
    [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
    Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
    Super, danke!
    [/COLOR]

    Kommentar


    • #3
      Danke AmicaNoctis
      Den Confirm Befehl hab ich noch nicht ganz verstanden, aber damit werd ich gleich mal rumexperimentieren.

      Zu dem ersten Problem: Teils teils, manche sind eingeloggt, manche nicht. Wo muss ich das mit der IP in der Datenbank speichern?

      Kommentar


      • #4
        Zitat von Spunk95 Beitrag anzeigen
        Zu dem ersten Problem: Teils teils, manche sind eingeloggt, manche nicht. Wo muss ich das mit der IP in der Datenbank speichern?
        Vergiss das mit der IP. Manche Provider (z.B. AOL) wechseln die alle 30 Sekunden. Arbeite statt dessen mit Sessions.

        Peter
        Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
        Meine Seite

        Kommentar


        • #5
          Okay, dass tu ich eh schon. $_Session["user_ud"] ist bei mir die id des users. Muss ich das dann in der user Tabelle abspeichern? Oder reicht es in ner Variablen?

          Danke schonmal

          Kommentar


          • #6
            nee .. du speicherst in der Session eine weitere Variable , ob für diesen User das Update schon gezählt wurde .. etwa in dieser weise

            PHP-Code:
            if ($_SESSION['update']==FALSE) {
               
            $_SESSION['update']=TRUE;
               
            $top ++; 
               
            $update "UPDATE uploads SET top ='".$top."'";
               
            mysql.query($update); // oder wie du das halt an die Datenbank durchreichst

            mit diesem Code wird top für diesen User nur einmal incrementiert...

            im ProgrammTeil, der ausgeführt wird, wenn sich ein User einloggt müsste sich natürlich entsprechend einmal eine Zuweisung
            PHP-Code:
            $_SESSION['update']=FALSE
            finden, die nachweislich nur einmal ausgeführt wird
            Zuletzt geändert von eagle275; 25.07.2010, 22:22.
            [font=Verdana]
            Wer LESEN kann, ist klar im Vorteil!
            [/font]

            Kommentar


            • #7
              Vielen Dank eagle, werd ich gleich mal ausprobieren


              Nochmal zu dem confirm problem:
              Es klappt, aber wenn man auf abbrechen klickt kommt man ebenfalls auf den Löschlink (hier mal durch index.php ersetzt):
              PHP-Code:
              <a href="index.php" onClick="confirm('Bist Du sicher, dass Du den Eintrag L&ouml;schen willst?')">
                     <
              img src="style/img/delete.png"></a
              Zuletzt geändert von Spunk95; 26.07.2010, 10:58.

              Kommentar


              • #8
                Natürlich; wenn du willst, dass die Default-Aktion eines Link-Klicks unterbunden wird, musst du false zurückgeben. (Bzw. in diesem Fall kann gleich das Ergebnis der confirm-Abfrage zurückgegeben werden, denn die liefert true oder false.)
                I don't believe in rebirth. Actually, I never did in my whole lives.

                Kommentar


                • #9
                  Zitat von Spunk95 Beitrag anzeigen
                  Nochmal zu dem confirm problem:
                  Es klappt, aber wenn man auf abbrechen klickt kommt man ebenfalls auf den Löschlink (hier mal durch index.php ersetzt)
                  Code:
                  <a href="index.php" onclick="[COLOR="Red"][B]return[/B][/COLOR] confirm('Bist du sicher, dass du den Eintrag l&ouml;schen willst?')">…</a>
                  [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
                  Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
                  Super, danke!
                  [/COLOR]

                  Kommentar


                  • #10
                    Eine Löschaktion mittels einem Link zu triggern ist sehr gewagt. Dazu fallen mir folgende 4 Szenarien ein:

                    1. Eine Suchmaschine schafft es irgendwie auf eine Seite mit Löschlinks und trampelt alle Links ab -> Schwupps, alle Daten sind weg.

                    2. JavaScript im Browser ist deaktiviert -> Die Sicherheitsabfrage fällt weg.

                    3. Der Benutzer hat ein Pre-Caching Proxy oder Browser-Plugin -> alle Links auf der Seite werden vorab geladen -> Ergebnis siehe 1.

                    4. Jemand postet getarnte Löschlinks auf seiner Webseite oder in einer E-Mail. Ein eingeloggter Admin geht auf so eine Seite -> Ergebnis siehe 1.

                    Kommentar


                    • #11
                      Zitat von h3ll Beitrag anzeigen
                      Eine Löschaktion mittels einem Link zu triggern ist sehr gewagt. Dazu fallen mir folgende 4 Szenarien ein:

                      1. Eine Suchmaschine schafft es irgendwie auf eine Seite mit Löschlinks und trampelt alle Links ab -> Schwupps, alle Daten sind weg.

                      2. JavaScript im Browser ist deaktiviert -> Die Sicherheitsabfrage fällt weg.

                      3. Der Benutzer hat ein Pre-Caching Proxy oder Browser-Plugin -> alle Links auf der Seite werden vorab geladen -> Ergebnis siehe 1.

                      4. Jemand postet getarnte Löschlinks auf seiner Webseite oder in einer E-Mail. Ein eingeloggter Admin geht auf so eine Seite -> Ergebnis siehe 1.
                      Okay, da hast du Recht. Wie mach ichs denn besser? ^^

                      @AmicaNoctis: Habs editiert. Das andere hab ich nicht so verstanden, werd mir den Link aber mal durchlesen

                      @wahsaga: Wie mache ich das denn? Bzw, jetzt hat h3ll ja gesagt, ich solls lieber nicht so machen ^^

                      Kommentar


                      • #12
                        Löschen nur über Formular-Buttons .. Suchmaschinen "trampeln" da nicht drauf .... außerdem kann dann das mit gespeicherten versteckten Löschlinks auch nicht klappen.. und Buttons funktionieren auch bestens ohne JavaScript (im Falle von <input type="submit" ......>)

                        alles was du nun tun kannst, wäre noch eine Sicherheitsabfrage, so dass ein Klick aus "versehen" nicht gleich zum Datenverlust führt - wobei du das noch koppeln kannst , indem "gelöschte" Daten in eine Backup-Tabelle verschoben werden und erst dann aus der Haupt-Tabelle verschwinden ....

                        gerade im geschäftlichen Umfeld wär ich mit dem Löschen von Daten eher vorsichtig - Finanzamt lässt grüßen (bestimmte Daten MÜSSEN x Jahre zuverlässig archiviert vorhanden sein, sonst gibts unter Umständen Haue von den Finanz- und Steuerwächtern)
                        [font=Verdana]
                        Wer LESEN kann, ist klar im Vorteil!
                        [/font]

                        Kommentar


                        • #13
                          Man muss die Daten übrigens nicht wirklich löschen. Es würde auch reichen einen Datensatz einfach als gelöscht zu markieren. So kann man ihn jederzeit und problemlos wiederherstellen.

                          Kommentar


                          • #14
                            Hmm, es handelt sich ja um Kommentare, muss man die aufbewahren? ^^

                            okay, dann lass ich sie einfach als gelöscht markieren über denk Link. Aber wäre da eine "Wirklich löschen?" Abfrage nicht auch sinnvoll? Da hab ich noch nicht verstanden, wie ich das jetzt am besten hinbekomme

                            Danke schonmal für die schenellen Antworten

                            Kommentar


                            • #15
                              Aber wäre da eine "Wirklich löschen?" Abfrage nicht auch sinnvoll? Da hab ich noch nicht verstanden, wie ich das jetzt am besten hinbekomme
                              Das hatten wir doch schon weiter oben im Thread...

                              Kommentar

                              Lädt...
                              X