H.: Slashes

Hallo @ all,

Ich hoffe ihr könnt mir weiterhelfen, ich hab eine Funktion programmiert, die so auch ohne weiteres funktioniert, allerdings bei öfterem Aufrufen, beginnt PHP nun auf einmal Backslashes an ALLE Ausgaben des Programmes beizufügen (" ,...) :-(

Wie kann man diese automatische "Fehlerkorrektur" von PHP unterdrücken?

mfg h

  1. Hallo,

    $variable = stripslashes($variable);

    MFG
    Andavos

    --
    http://www.rpgcommunity.de/clanwissen/index.php Webdesign, PHP, Clan-Aufbau und mehr
    1. Hallo,

      Diese Funktion entfernt zwar Slashes, allerdings unterdrückt sie nichts.
      In anderen Teilen des Programmes, die nichts mit dem Ablauf zu tun haben aus diesem grund überall stripslshes ein zu bauen ist wohl eher nur die letzte Lösung und sehr unschön...

      Es sollte, so denke ich, schon eine Funktion geben - ähnlich wie (magic_quotes,... -  mit der man diesem Blödsinn von PHP abstellen kann...

      mfg

      1. Hello,

        Es sollte, so denke ich, schon eine Funktion geben - ähnlich wie (magic_quotes,... -  mit der man diesem Blödsinn von PHP abstellen kann...

        Die Magic_quotes sind kein Blödsinn, sondern Schutz für allzu nachlässige Programmierer.

        Wenn Du aber brav selber an das Escape von Forulardaten denkst, dann kannst Du in der php.ini die magic_quotes_gpc ausschalten oder auch in einer .htaccess oder in den Einstellungen des Virtual Host oder vielleicht auch noch mit ini_set() am Scriptbeginn. Allerdings vermute ich, dass es da schon zu späte ist. Ich habe es aber noch nicht ausprobiert.

        Man kann auch ganz bewusst die Magic Qutoes durch eine rekursive Funktion wieder aus dem betroffenen Array entfernen. Dann braucht man da nicht bei jedem Parameter einzeln zu tun. Und wenn man vorher auch noch fragt, ob get_magic_quotes_gpc() == true ist, dann passt die Funktion auch für Server, bei denen gar keine MQ_GPC eingeschaltet sind. Dann macht sie nämlich einfach nix.

        Liebe Grüße aus http://www.braunschweig.de

        Tom

        --
        Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
  2. Hallo,

    [...] beginnt PHP nun auf einmal Backslashes an ALLE Ausgaben des Programmes beizufügen (" ,...) :-(

    Werden die Daten vom Browser an den Server uebertragen?
    => Die "Magic Quotes" spielen Dir uebel mit.
    http://www.php.net/manual/de/function.get-magic-quotes-gpc.php
    http://www.php.net/manual/en/ref.info.php#ini.magic-quotes-gpc

    Abhilfe z.B.:

    • magic_quotes_gpc abschalten in der .htaccess, wahrscheinlich so:
        php_value magic_quotes_gpc "0"

    Wenn die Daten aus der Datenbank kommen, koennte
    magic_quotes_runtime der Schuldige sein.
    http://www.php.net/manual/en/ref.info.php#ini.magic-quotes-runtime
    Kann man auch im Skript selbst abschalten mit set_magic_quotes_runtime()
    http://www.php.net/manual/en/function.set-magic-quotes-runtime.php
    oder ebenfalls in der .htaccess

    In beiden Faellen koenntest Du als Symptom-Bekaempfung
    die Backslashes entfernen mit strip_slashes()
    http://www.php.net/manual/de/function.stripslashes.php

    Gruesse,

    Thomas

    --
    Bitte keine Mails mit Fachfragen - dafuer gibt es das Forum!
    Ich mag es, wenn URLs verlinkt sind (</faq/#Q-19>).
    Oft gestellte PHP-Fragen beantwortet die dclp-FAQ bestens: http://www.dclp-faq.de/