Bannhelfer für CMS gestützte Webseiten (Yoomla / Webspell)

  • Einen schönen Guten Tag zusammen,

    ich arbeite derzeitig an einen Bannhelfer für CMS gestützte Webseiten, derzeit läuft ein ähnliches Programm auf meinem Privaten Server welches auf gewisse Worte achtet und dann auf einer Betaseite meiner Privaten Webseite bereits erfolgreich bannt.

    Das Problem was ich derzeitig besitze ist das es immer wieder abstürzt.

    Folgender Fehler: Error Subscript used with non-Array variable

    Kann mir einer einen Tipp geben was genau mir dieser Fehler sagt?
    Denn informationen habe ich nicht gefunden.
    Ahnung habe ich auch nicht wirklich, ist mein 1. Versuch

    Den Code möchte ich ungern posten.

    Um gleich einiges aus dem Weg zuräumen, man könnte diesem Bannhelfer für alles System (Webseiten/Spiele/Foren) verwenden um gewisse User zu entfernen.

    Vielen Dank MfG Freeman

    2 Mal editiert, zuletzt von Freeman (29. September 2012 um 07:17)

  • Also der Fehler ist doch eigentlich ziemlich selbsterklärend. Subscript used with non-Array Variable: Subscript wird mit einer nicht-Array Variable verwendet. Es liegt also nahe, dass du irgenwo auf ein Array zugreifen willst, dass kein Array ist. :rolleyes: Aber weiter kann ich dir ohne Code leider nicht helfen.

    Gruss Shadowigor

  • Hallo Shadowigor,

    ja selbsterklärend ist die Sache schon, jedoch schau ich auf meine au3 wie ein Schw*** ins Uhrwerk ?(

    Ich habe den Code aus einer au3 von einem Programm verwendet und fast 1zu1 kopiert, lediglich habe ich und mein Freund die Parameter für die Blacklist (Badwords) eingefügt. An den Arrays habe ich nichts geändert.

    Ware es auch möglich das ich diesen Urcode hier posten könnte? Oder kann ich diesen per Nachricht an dich senden?

    Gruss Freeman

  • Du kannst den schon per Nachricht an mich schicken, aber wieso willst du ihn nicht posten, wenn er sowieso fast 1 zu 1 kopiert ist?

  • Stimmt hast recht,

    Funktionieren tut es schon aber er bricht nach 2-4 (unterschiedlich) wegen:

    [autoit]

    If IsArray($AMOD[0]) Then Return 0

    [/autoit]


    ab.

    Ich hoffe dir reicht diese Funktion.

    Gruss Freeman

    Einmal editiert, zuletzt von Freeman (28. September 2012 um 18:48)

  • Torni scheint da ja schon auf der richtigen Spur zu sein, die einzige Variante die mir als Erfolgsüberprüfung von _StringBetween sinnvoll erscheint ist:

    [autoit]

    If Not IsArray($AMOD) Then Return 0

    [/autoit]


    Falls kein Array zurückgegeben wird, verlasse die Funktion mit Rückgabewert 0.

  • Habe es mal probiert, leider kommt dann folgender Fehler.

    AutoIt Error Line 18565 (File .....)
    If Not IsArray($AMOD[0]) Then Return 0
    If Not IsArray($AMOD^ ERROR

    Error: Subscript used with non-Array variable

    ?(

    Gruss Freeman

    Edit: Mom gesehen die [0] musste noch weg - melde mich dann noch mal.

    Einmal editiert, zuletzt von Freeman (28. September 2012 um 18:15) aus folgendem Grund: Eigenfehler

  • Schau dir mal genau an was Torni und ich geschrieben haben ;). Im Moment wird überprüft ob das Element [0] der variable $AMOD ein Array ist. Sinnvoll wäre aber nur, wenn man die Variable ohne Angabe eines Subscripts überprüft.
    Also lass mal das [0] weg.

  • Ich danke ganz Recht herzlich für eure Hilfe, jetzt kommen zwar weitere Fehler, aber mit diesen komme ich klar.

    Code habe ich bis auf die betreffenden Zeilen entfernt.

    Gruß Freeman

  • Hallo Freeman,

    es ist sehr unhöflich seine Beiträge im eigenen Thema zu löschen, dadurch kann dieses Thema später nicht mehr nachvollzogen werden.

    Noch unhöflicher ist es danach (weil ja keine Zeit auf die Freischaltung zu warten) ein anderes Thema zu kapern.

    @Mod/Admin: bitte die Beiträge in diesem Thema wieder herstellen und das gekaperte Thema schliessen,

    mfg autoBert

  • Ich wüsste zu gerne, wie man auf die Idee kommt, seinen kompletten Thread zu löschen und danach die Frage in Threads mit einem KOMPLETT anderen Thema zu posten -.-
    Das ist nicht nur unhöflich, sondern auch in den Forenregeln geregelt verboten:

    Zitat

    Ein Anspruch auf Löschung besteht nicht, außer in den gesetzlich vorgeschriebenen Fällen (z.B. aus Datenschutzgründen).

    Bild1: Ich beim debuggen

  • Guten Tag,

    diesen Themen habe ich entfernt, zum 1. da es sich nicht um das gleiche Thema handelt, zum 2. da sich das Problem zumindest in diesem Fall geklärt hat.

    Ich bin mir nicht bewusst dass es verboten ist seinen Themen zu löschen wenn sich mein kleines Prob geklärt hat.

    Sollte dies so sein, Bitte ich um Verzeihung.

    Edit: Ein Anspruch auf Löschung besteht nicht, außer in den gesetzlich vorgeschriebenen Fällen (z.B. aus Datenschutzgründen).
    Wenn dies laut Regeln verboten ist dann sollte die Funktion deaktiviert werden.

    Jedoch im richtigen Falle des Gesetzes hat jeder Mensch das Recht auf Löschung.

    Gruss Freeman

  • Allerdings ist das ziemhlich assozial, da diese Frage bestimmt wieder mal auftaucht und dann muss 1. jemand wieder einen Thread eröffnen und 2. wieder jemand die genau gleichen Lösungsansätze posten. Sonst könnte man ja jeden beantworteten Thread gleich wieder löschen und die hübsche sufu gleich mit rausschmeissen.
    Es ist hier jedenfalls so geregelt, dass die beantworteten Threads stehen gelassen werden. Wenn du dich für diese Frage schämst und sie aus irgendeinem Grund deiner Privatsphäre schadet kannst du ja die Admins fragen ob sie den gesamten Thread löschen. Dann frage ich mich allerdings warum du die Frage überhaupt gestekkt hast ;)

    Bild1: Ich beim debuggen

  • Zitat

    Allerdings ist das ziemhlich assozial

    Nun gut, ich werde die Administration anschreiben dass Sie diesen Tread wiederherstellen, jedoch finde ich diese Schreibweise fast persönlich angreifend, Vielen Dank

    @ Admin, bitte Tread wieder herstellen, Danke

    Gruss Freeman

  • Ich will dich bestimmt nicht beleidigen, aber was würdest du z.B. jemandem sagen der die Lösungen für eine wichtige Prüfung hat und sie dir einfach nicht gibt?
    Um es etwas durch die Blume zu sagen (nicht durch DIE Blume): ich finde es anderen neulingen gegenüber nicht sehr fair.

    Bild1: Ich beim debuggen