fehler nach refresh nicht mehr da.

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

  • fehler nach refresh nicht mehr da.

    hi

    ich habe nen komischen fehler.
    also, und zwar hab ich ein script,welches wunderbar funktioniert.
    manchmal.

    also, ab und zu kommt da der fehler "delemiter must be a backslash" oder so was.
    also wegen nem regex.

    der kommt recht oft, aber da ist nix falsch.
    wenn ich nämlich gleich danach einfach nen refresh, also die seite akutalisiere, ist der fehler wieder weg.




    hat da jemand ne idee, was da los sein könnte??

    spielt mir da mein dateisystem nen streich, und liefert ein zeichen nicht mit??

  • #2
    Wieso postet man bei sowas keinen Code???

    Kommentar


    • #3
      Re: fehler nach refresh nicht mehr da.

      also, ab und zu kommt da der fehler "delemiter must be a backslash" oder so was.
      das ist nicht die vollständige fehlermeldung?
      PHP-Code:
      quotemeta()? 
      Die Zeit hat ihre Kinder längst gefressen

      Kommentar


      • #4
        Original geschrieben von TobiaZ
        Wieso postet man bei sowas keinen Code???
        OffTopic:
        ich könnt mir zwar vorstellen, woran das liegt, doch mit code wäre es bedeutend leichter

        Kommentar


        • #5
          nun, wie scho gesagt, ab und zu kommt die meldung.

          ich weiss nur, das das wegen einem regex ist.

          und zwar kommt folgende fehler melung:
          Warning: Delimiter must not be alphanumeric or backslash in /home/mysuns60/public_html/forum/includes/sessions.php on line 374

          wobei ich diese nur via google gefunden habe.

          also ich wusst, dass da was von delimiter und so steht, und das die so aussieht, also habe ich bei google gesucht.


          wie gesagt, ist nur die fehler meldung.


          und da die fehler meldung bei mir nur ab und zu kommt, kann ich euch jetzt auch nicht gleich die "original meldung" geben.

          auch weiss ich deshalb ja auch nicht auf welcher zeile die meldung ist.

          die ganze datei kann ich euch auch nicht geben, da es zu viele includes sind.

          aber ich denke, es hat vielleicht viel eher was mit der regex lib (gibts so was überhaupt) zu tun, als mit dem code, den eben wie gesagt, manchmal gehts, und manchmal halt nicht.

          @trashar:
          auf was würdest du den tippen??

          Kommentar


          • #6
            aber ich denke, es hat vielleicht viel eher was mit der regex lib (gibts so was überhaupt) zu tun


            Also ohne entsprechenden code sage ich gar nichts!

            Kommentar


            • #7
              Original geschrieben von fabio
              Delimiter must not be alphanumeric or backslash
              was sache ist, dürfte damit ja klar sein: der delimiter deines ausdrucks ist ein alphanummerisches zeichen oder der backslash, was aber nicht sein darf.

              da der fehler nur ab und zu auftritt, sehe ich eigentlich zwei mögliche ursachen:
              - du setzt deinen regex-ausdruck dynamisch zusammen, so dass da ab und zu ein falscher delimiter rein kommt, oder
              - deine per se fehlerhafte regex steht in einem if-zweig o.ä., der nicht immer ausgeführt wird. ich könnte mir vorstellen, dass PHP nicht schon beim parsen des codes auf fehlerhafte delimiter achtet, sondern erst dann, wenn der regex wirklich ausgeführt werden soll.
              I don't believe in rebirth. Actually, I never did in my whole lives.

              Kommentar


              • #8
                hi, die regexe werden nicht dynamisch erstellt, sie werden auch nicht ab und zu eingesetzte (per if), sondern pro aufruf der seite sind die normalerweise etwa 16 oder mehrmals drin.

                also egal, ich hatte jetzt gleich wieder mal den fehler.
                ist jetzt aber gleich ein anderer, aber auch wegen den regexen.

                der kam auch schon ein paar mal.

                also hier ist er.

                fehler:
                Code:
                Warning: Unknown modifier '(' in K:\file-grabber\programm\log\include\einfacheansicht.php on line 16
                
                Warning: Unknown modifier '(' in K:\file-grabber\programm\log\include\einfacheansicht.php on line 18
                und das steht da, wenn der fehler kommt etwa 20mal.

                und die zeilen 6-28von der datei sind folgende:
                PHP-Code:
                    if($row[kommentar]!=""){ // <-- zeile 6
                    
                $originalserie=$row[serie];
                    
                $temp="";
                    if(
                eregi("<sk>",$row[kommentar])){
                    
                $temp="[s]";
                    }
                    if(
                eregi("<uk>",$row[kommentar])){
                    
                $temp .= "[u]";
                    }
                    
                $row[serie]="".$row[serie]." </b>$temp";
                    
                $tooltip=preg_replace("¦<sk>(.*)</sk>¦isU","\\1",$row[kommentar]);// <-- zeile 16
                    
                if(eregi("<sk>",$row[kommentar])){
                    
                $tooltip=preg_replace("¦<uk>(.*)</uk>¦isU","\n\\1",$tooltip);// <-- zeile 18
                    
                }else{
                    
                $tooltip=preg_replace("¦<uk>(.*)</uk>¦isU","\\1",$tooltip);
                    }
                    
                    
                $tooltip=eregi_replace("'","\\'",$tooltip);
                    
                $tooltip=eregi_replace("\"","\\'\\'",$tooltip);
                    
                $tooltip=preg_replace("/(\n|\r|\n\r)/i","<br>",$tooltip);
                    
                $tooltip=preg_replace("/<br><br>/isU","<br>",$tooltip);
                    
                $mouseover "ONMOUSEOVER=\"popup('".$tooltip."','$cellcolor')\" ; ONMOUSEOUT=\"kill()\"";
                    } 

                nun, das ganze macht folgendes.

                es bekommt einen string von der mysql DB, welche etwa so aussieht:
                Code:
                <sk>Irgendeintext von Skript</sk><uk>ein kommentar von Mir</uk>
                Zuletzt geändert von fabio; 14.05.2004, 14:29.

                Kommentar


                • #9
                  und gleich noch mal ein fehler.

                  diesmal kommt dieser:
                  Code:
                  Warning: Delimiter must not be alphanumeric or backslash in K:\file-grabber\programm\log\include\einfacheansicht.php on line 16
                  
                  Warning: Delimiter must not be alphanumeric or backslash in K:\file-grabber\programm\log\include\einfacheansicht.php on line 18
                  und das auch wieder viel mal nacheinander.

                  auf der selben zeile.


                  noch was:
                  habe jetzt eine kleine logik (?!) herausgefunden.
                  und zwar wenn ich die seite das erste mal aufrufe, kommt oft der fehler.
                  bei einem späteren refresh wird es nicht mehr angezeigt.
                  eine referer abfrage habe ich nicht drin.

                  Kommentar


                  • #10
                    hi, die regexe werden [...] auch nicht ab und zu eingesetzte (per if
                    Nee! Natürlich nicht. Ach quatsch. Nein gar nicht!

                    Kannst du deine Aussage mit dem if bitte nochmal überdenken und den wahren gegebenheiten anpassen!!!

                    Kommentar


                    • #11
                      PHP-Code:
                      $tooltip=preg_replace("/(\n|\r|\n\r)/i","<br>",$tooltip);
                          
                      $tooltip=preg_replace("/<br><br>/isU","<br>",$tooltip); 
                      mach das

                      PHP-Code:
                      $tooltip=preg_replace("!(\n|\r|\n\r)!i","<br>",$tooltip);
                          
                      $tooltip=preg_replace("!<br><br>!isU","<br>",$tooltip); 
                      zu dem.

                      Kommentar


                      • #12
                        Nee, das isses nich, war ja ein Slash, kein Backslash
                        Die Musikreview Seite

                        hi, i'm a signature virus. copy me into your signature to help me spread.

                        Kommentar


                        • #13
                          stellt sich aber generell die frage, warum verschieden delimiter benutz werden...

                          Kommentar


                          • #14
                            hm tartax dann probier doch mit den Delimitern rum, php hat da eindeutig was zu meckern.

                            Kommentar


                            • #15
                              hi

                              also, das mit de if abfrage ist so:

                              das ganze ist ein script, welches mehrere mysql datensätze darstellt.
                              standartmässig kommen 30 pro seite.
                              jetzt haben diese DS zwei arten von kommentären, welche beide im feld 'kommentar' sind.
                              die kommentare, welche vom script (also einem anderen script) gemacht worden sind, kommen in <sk>bla</sk> klammern, wobei sk=SkriptKommentar, und die kommenare, welche vom user gemacht worden sind kommen zwischen <uk>.

                              nun ist es so, das etwas mehr als die hälfte aller DS ein <sk> drin haben, also einen kommentar.

                              was soviel bedeutet wie, das diese regex's pro seitenaufruf fast 100% jedesmal gebraucht werden.


                              und so wie ich dich mit der ersten frage verstanden habe, ob da evt. ne if-abfrage kommt, welche die regex nicht immer dran nimmt, stimmt deshalb, wenn man es genau nimmt schon, aber eben, bei 30DS haben mind. 10 einen kommentar, und somit mit den regex zu tun.


                              zu der sache, das ich nicht immer die selben delimiter nehme, nun ich habe die meisten von denen einfach aus dem internet kopiert, aus codesnipplets, und der php sites.
                              das heisst, diejenigen, welche ich gemacht habe, bei denen brauche ich immer "¦".



                              PS:
                              das problem besteht immer noch, auch wenn ich alle delimiter auf "!" umgestellt habe.

                              Kommentar

                              Lädt...
                              X