Re: Problem mit doppelten Sätzen bei get-Abfrage - baseportal Forum - Web-Anwendungen einfach, schnell, leistungsfähig!
baseportal
English - Deutsch "Es gibt keine dummen Fragen - jeder hat einmal angefangen"

 baseportal-ForumDie aktuellsten 10, 30, 50, 100 Einträge anzeigen.  

 
 Ausgewählter Eintrag: Zur Liste 
    Beitrag von Claus S. (1671 Beiträge) am Dienstag, 20.März.2007, 19:37.
    Re: Problem mit doppelten Sätzen bei get-Abfrage

      Hallo Pouraga,

      danke für den schlanken Code ;-)
      soll keine Entschuldigung sein, aber das hatte ich schon vor vier Jahren geschrieben und hat bisher immer funktioniert.
      Werde es auf jeden Fall probieren.

      Mit dem PS hast Du natürlich Recht, hatte es neben den einzelnen Logsätzen noch als Extra eingebaut, kann man heute sicher vernachlässigen

      Gruss Claus


    Antworten

 Alle Einträge zum Thema: Zur Liste 
    Beitrag von Claus S. (1671 Beiträge) am Dienstag, 20.März.2007, 12:14.
    Problem mit doppelten Sätzen bei get-Abfrage

      Hallo,

      habe seit einigen Jahren eine mit bp-Mitteln erstellte Loganwendung im Einsatz, die allerdings in letzter Zeit rumzickt. Laut Christoph ist allerdings auf bp-Seite nicht geändert worden.

      Mit nachfolgendem Code (Auszug) wird der Useragent ermittelt und, wenn noch nicht vorhanden, in eine Logdatei weggeschrieben, andernfalls wird der Zähler um eins erhöht.

      ---- schnipp ----
          $_HTTP_USER_AGENT =~ s/ /\\ /g;
          $_HTTP_USER_AGENT =~ s/\&/\\&/g;
      
          get "lg2_useragent==$_HTTP_USER_AGENT", "$gv_logfile2";     $_HTTP_USER_AGENT =~ s/\\ / /g;     $_HTTP_USER_AGENT =~ s/\\&/\&/g;
          if ($lg2_useragent eq $_HTTP_USER_AGENT)        {         # Eintrag existiert schon         $_HTTP_USER_AGENT =~ s/ /\\ /g;         $_HTTP_USER_AGENT =~ s/\&/\\&/g;         $work_count=$lg2_count+1;         mod "lg2_useragent==$_HTTP_USER_AGENT", ["lg2_count", "$work_count"],"$gv_logfile2";        }     else        {         # Eintrag wird hinzugefügt         $lg2_count=1;         put ["lg2_useragent", "$_HTTP_USER_AGENT", "lg2_count", "$lg2_count"],"$gv_logfile2";
              $work_empfaenger = 'check@meinedomain.de';         $work_thema = 'Meldung Useragent Tiere brauchen Freunde e.V.';         $work_text = 'Neuer Useragent = ';         $work_text .= $_HTTP_USER_AGENT;         $work_sender = 'info@tiere-brauchen-freunde.de';         $work_header = "";         mail "$work_empfaenger", "$work_thema", "$work_text", "$work_sender", "$work_empfaenger_name", "$work_sender_name",         "$work_copy", "$work_blindcopy", "$work_header";        }
      ---- schnapp ----

      Mittlerweile kommt es aber vor, dass bereits vorhandene Sätze forgeschrieben werden, z.B. wurde heute 10 x der gleiuche Satz weggeschrieben, der Inhalt des Useragents ist

      "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.0.3705; .NET CLR 1.1.4322; .NET CLR 2.0.50727)"

      Ich kann in diesem String nicht erkennen, was eine get-Abfrage stören würde.
      Hat jemand von Euch eine Idee?

      Danke und Gruss

      Claus

     Antworten

    Beitrag von Pouraga (1396 Beiträge) am Dienstag, 20.März.2007, 14:52.
    Re: Problem mit doppelten Sätzen bei get-Abfrage

      Probiere erstmal den Code zu säubern:

      Gebot 4
      Du sollst $_... variablen nicht selbst ändern
      Gebot X
      Mache nie mehr als du must
      Gebot 8
      Nuzte Id als Primärschlüssel wann immer es geht

       $getAgent = $_HTTP_USER_AGENT;
       $getAgent =~ s/ /\\ /g;    
       $getAgent =~ s/\&/\\&/g;
       get "lg2_useragent==$getAgent", "$gv_logfile2";
        if ($_amount >= 1)
         {        # Eintrag existiert schon        
          $lg2_count++;       
          mod "Id=$_id", ["lg2_count", $lg2_count],"$gv_logfile2";       
         }else{
              put ["lg2_useragent", $_HTTP_USER_AGENT, "lg2_count", 1],"$gv_logfile2";
      

      ...
         }
      


      Wenn das Problem immernoch besteht sehen wir weiter.

      P.S. die UserAgent Namen gibt es doch eh wie Sand am Meer und lassen aufgrund der Uneinheitlichkeit und vortäuschung falscher Namen von Bots und Browsern keine aussagtekräftige Statistik zu?

     Antworten

    Beitrag von Claus S. (1671 Beiträge) am Dienstag, 20.März.2007, 19:37.
    Re: Problem mit doppelten Sätzen bei get-Abfrage

      Hallo Pouraga,

      danke für den schlanken Code ;-)
      soll keine Entschuldigung sein, aber das hatte ich schon vor vier Jahren geschrieben und hat bisher immer funktioniert.
      Werde es auf jeden Fall probieren.

      Mit dem PS hast Du natürlich Recht, hatte es neben den einzelnen Logsätzen noch als Extra eingebaut, kann man heute sicher vernachlässigen

      Gruss Claus

     Antworten

    Beitrag von Claus S. (1671 Beiträge) am Montag, 26.März.2007, 12:58.
    @ Pouraga: Re: Problem mit doppelten Sätzen bei get-Abfrage

      Hallo Pouraga,

      ich habe Deinen Code probiert,
      leider ist es so, da er nun neue Sätze korrekt anlegt, aber vorhandene nicht hochzählt, kann aber keinen offensichtlichen Fehler entdecken.

      Kannst Du da bitte noch meine reinschauen?

      $getAgent = "";
          $getAgent = $_HTTP_USER_AGENT;
          $getAgent =~ s/ /\\ /g;
          $getAgent =~ s/\&/\\&/g;
      

      get "lg2_useragent==$getAgent", "$gv_logfile2";

          if ($_amount >= 1)
             {
              # Eintrag existiert schon
              $lg2_count++;
              mod "Id=$_id", ["lg2_count", $lg2_count],"$gv_logfile2";
             }
          else
             {
              # Eintrag wird hinzugefügt
              $lg2_count=1;
              put ["lg2_useragent", $_HTTP_USER_AGENT, "lg2_count", 1],"$gv_logfile2";
      
             }

      Gruss Claus

     Antworten

    Beitrag von Pouraga (1396 Beiträge) am Montag, 26.März.2007, 16:53.
    Re: @ Pouraga: Re: Problem mit doppelten Sätzen bei get-Abfrage

      Mein Fehler

      mod "Id==$_id",...
      

      (zwei gleich)

     Antworten

    Beitrag von Claus S. (1671 Beiträge) am Dienstag, 27.März.2007, 13:13.
    Re: @ Pouraga: Re: Problem mit doppelten Sätzen bei get-Abfrage

      Danke Pouraga,

      da war ich aber auch mit Blindheit geschlagen,
      na ja, der Wald vor lauter Bäumen ....

     Antworten


     
 Liste der Einträge von 14100 bis 14250:Einklappen Zur Eingabe 
Neueste Einträge << 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | Neuere Einträge < Zur Eingabe  > Ältere Einträge | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 >> Älteste Einträge


Zurück zur Homepage

© baseportal.de. Alle Rechte vorbehalten. Nutzungsbedingungen



powered in 0.08s by baseportal.de
Erstellen Sie Ihre eigene Web-Datenbank - kostenlos!