Beiträge von DosAmp

    Genau das habe ich auch geschrieben. Nur sollte man eben von vorherein vermeiden, dass man vergiftete Eingaben annimmt und passende APIs verwenden, die im Zweifelsfall auch vergiftete Eingaben sauber annehmen (was eben bei MySQL z. B. mysqli_prepare und mysqli_stmt_bind_param sind, die im Zweifelsfall auch schneller sind, als die Datenbank eine SQL-Anfrage parsen zu lassen, die – durch mysqli_real_escape_string gefilterte – und möglicherweise sehr lange Benutzerdaten enthält), dann kann man sich das Escapen beim Einlesen sparen.


    WARUM?
    ich gebe in ein Formular auch 1, 2, 3 ein.

    So viel Syntax-Magie hat PHP zum Glück nicht. ;) Das von dir angedachte Verhalten kann nur durch die explizite evaluierung eines Strings erreicht werden, was aber aufgrund der möglichen Inklusion von PHP-Code nicht sicher zu bewerkstelligen ist.
    Der erste Aufruf in dieser Form erstellt wie von dir angefordert nur ein Array mit genau einem String-Element:

    PHP
    $zahlen = array("1, 2, 3");

    Der richtige Ansatz ist entweder explode (die schnellere Lösung, wenn du genau weißt, dass z. B. immer ein Komma bzw. ein Komma und ein Leerzeichen das Trennzeichen sind) oder preg_split (Teilen anhand von beliebigem regulären Ausdruck) zu nutzen.

    PHP
    // akzeptiert Komma mit beliebiger Menge an nachfolgendem Leerraum (Leerzeichen, Tabulatoren etc.)
    $zahlen = preg_split('/,\s*/', '1, 2, 3');


    preg_split erlaubt auch die Mitgabe von Flags, mit denen z. B. leere Strings aus dem Ergebnis-Array ausgelassen werden können.


    Niemals $_GET und $_POST verarbeiten, ohne vorher zu escapen! Du holst dir sonst Sicherheitslücken ins Script..

    Ich weiß nicht, was der Sinn hinter dieser Binsenweisheit sein soll, aber Escaping als erster Schritt in der Eingabe ist grundsätzlich der falsche Ansatz zur sicheren Datenverarbeitung und häufig als Fehlerquelle für doppelt escapte Datensequenzen auf Websites zu finden.
    Man will eine situationsabhängige Validierung (z. B. alle Zeichen aus einem Nachnamen entfernen, die nicht zum lateinischen Zeichensatz gehören) in der Eingabe und Escaping abhängig vom Medium in der Ausgabe (z. B. mit htmlspecialchars auf einer Webseite oder wenn man den irischen Namen „O'Hare“ in der Datenbank speichern will, und aus unbekannten Gründen keine Prepared Statements benutzt).


    glxgears ist nun wirklich keine Aufgabe für heutige Grafikkarten mehr, als Benchmark NCIHT brauchbar.

    Als CPU-Benchmark für Generierung von OpenGL-Drawcalls vielleicht. :D

    Unter Arch Linux versteckt sich glxgears in einem Paket namens mesa-demos, dessen Versionsnummer aber verständlicherweise schon einiges hinter der aktuellen (17.0.3) nachhinkt.

    Code
    $ pacman -Fs glxgears
    extra/mesa-demos 8.3.0-2
        usr/bin/glxgears

    Ich würde mir mal die anderen verfügbaren Mesa-Pakete ansehen.

    Leider hat das grml-Team auch im ersten Quartal 2017 noch kein neues Test-Build mit systemd-Integration fertiggestellt.

    Das ändert nichts daran, dass hier ein tieferliegendes Problem besteht, das die Render-Engine und nicht nur anfallende Benutzerdaten betrifft.

    Am ehesten klingt das nach freakeds Beschreibung im IRC wie eine Inkompatibilität mit dem neusten Grafiktreiber.

    Zumindest die offiziellen Mindestanforderungen von EA für das Spiel (64-Bit-Windows, Quadcore-Prozessor, 4 GB RAM, DirectX-11-Karte mit 1 GB VRAM auf dem Niveau einer HD 5770 / GTX 650) sollten ungefähr erfüllt sein, auch wenn es bei letzterem eng werden könnte.

    Hast du den OEM-Hybridgrafiktreiber von HP statt der Referenztreiber von AMD und Intel installiert? Ohne diesen funktioniert die Umschaltung zwischen beiden Grafikchips u. U. nicht, und in der Regel fährt ein Gaming-Laptop im Desktopmodus auf der On-Die-Grafik hoch.
    Andererseits könnte der AMD-Treiber in diesem Paket zu veraltet sein, um mit aktuellen Spielen zu laufen.

    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne deine Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklärst du dich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.

    Frohe Ostern.

    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne deine Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklärst du dich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.

    Nein, du kannst nicht ohne Weiteres in dieser Art am Data Dictionary herumpfuschen. Du musst zunächst die betroffenen Tabellen und Spalten aus diesem abfragen und dann in einer Schleife passende DDL-Anweisungen zusammenbauen.

    SQL
    SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES
    WHERE TABLE_SCHEMA = 'datenbankname'
    AND TABLE_NAME NOT IN ('TABLE1', 'TABLE2', 'TABLE3', ...)
    SQL
    SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS
    WHERE TABLE_SCHEMA = 'datenbankname'
    AND TABLE_NAME = 'tabellenname'
    AND COLUMN_NAME NOT IN ('COL1', 'COL2', 'COL3', ...)

    Tabelle löschen:

    Code
    DROP TABLE datenbank

    Spalte(n) löschen:

    Code
    ALTER TABLE tabelle DROP spalte1[, DROP spalte2, ...]

    Siehe auch diese Scherzantwort, wo Der Doktor mir empfiehlt, das gesamte Winhistory-Forum zu droppen.
    Ohne FOREIGN_KEY_CHECKS = 0 kannst du sonst bei Fremdschlüsselabhängigkeiten vermutlich nicht ins Blaue hinein herumlöschen.

    Schaltet den Mist doch endlich mal ab

    $this-> macht außerhalb eines Objekts genauso wenig Sinn. Entferne das und füge $search_replace stattdessen zur Liste von global-Variablen hinzu.

    Außerdem wird der Code als Nächstes auf die Nase fallen, wenn du nicht alle einfachen Anführungsstriche innerhalb des Strings per Backslash escapest.

    PHP
    $search_replace['/[list=([\'"]?)([^"\']*)1](.*)[/list((=1[^"\']*1])|(]))/siU'] = function($matches) {return formatlist($matches[3],$matches[2]);};

    Ein Editor mit Syntaxhervorhebung ist dabei sehr nützlich.

    Den letzten Aufruf von preg_replace kannst du dann ganz entfernen, wenn du alle Zeilen für $searcharray und $replacearray in der Form umgewandelt hast.

    Die Fehlermeldung macht jeweils ohne die modifizierte Quellcodedatei wenig Sinn.

    In dem Falle muss das Schlüsselwort var weg. Das ist ohnehin ein veraltetes Sprachelement aus PHP 4 für public-Mitglieder einer Klasse.
    Variablen im globalen bzw. aktuellen Scope definiert man ohne Weiteres.


    was genau macht phphighlite()? finde nix über google.

    Scheint eine selber definierte Funktion von WBB zu sein.

    Die Fehlermeldung kommt daher, weil in PHP 7.0 das PCRE-Flag e entfernt wurde, da die Ausführung von eval() auf den ersetzten Text mit benutzerkontrolliertem Inhalt grundsätzlich keine gute Idee ist.

    Du musst in der Tat jetzt das PHP-Highlighting aus den Arrays $searcharray und $replacearray ausklammern und preg_replace_callback mit einer Callback-Funktion benutzen, die die Funktion phphighlite mit dem Regex-Treffer aufruft.
    https://secure.php.net/manual/de/refe…n.modifiers.php

    PHP
    function ($m) {
        return phphighlite($m[1]);
    }

    Mit einfachem Text ersetzen wird da nix.


    151 hatte die erste Generation. Nicht 226.

    Soviel hat er insgesamt gefangen. ;)

    Insgesamt kann man von der ersten Generation 143 in Europa fangen oder entwickeln, abzüglich der drei mystischen Vögel, Mew, Mewtu und der anderen regionalspezifischen Pokémon Tauros (Großteil der Festland-USA und Süden von Kanada), Porenta (Japan) und Kangama (Australien, Neuseeland und Teile Ozeaniens).

    Wenn du jeden einzelnen Backslash nicht noch einmal verdoppeln willst, kannst du den String auch in einfache Anführungszeichen setzen. Dann musst du nur evtl. einfache Anführungszeichen per Backslash escapen.

    Zuerst einmal kann man VPC 2007 offenbar nicht mit Hardware-Virtualisierung unter VirtualBox ausführen, egal was man als "Para-Virtualisierung" unter System/Beschleunigung auswählt und selbst wenn Nested Paging verfügbar ist. Abhängig davon, was man in der geschachtelten VM ausführen will, wird dies ziemlich langsam funktionieren.

    Zumindest bei meiner Testinstallation hat sich zudem die Grafik regelmäßig zerlegt, wenn die Gasterweiterungen des Gasts des Gasts installiert sind, und auch Klicken und Ziehen hat mit der doppelt virtualisierten Maus nicht mehr so ganz funktioniert.

    Wenn man Virtual PC im Vollbildmodus ausführt, geht es allerdings ganz gut.

    Ehrlich gesagt ist es bei deinem jetzigen Aufbau immer noch halb so teuer und sollte vermutlich fürs Nächste ausreichen, sich zwei 8-Port-Switche von TP-Link oder D-Link hinzustellen als z. B. einen TP-Link TL-SG1024D anzuschaffen.