hawkmaster: Begriffsdefinition, maskieren, escapen, quotieren??

Hallo zusammen,

hier im Forum und auch im PHP Manual bzw. der MySQL Dolu wird oft von
quotieren, maskieren und escapen gesprochen.
Kann mir mal jemand (vielleicht an Hand eines Beispiels) die genauen Unterschiede erklären?

Ich habe es so verstanden. Bitte korrigiert mich wenn ich es falsch verstanden habe:

Einen String "escapen" kann man mit Backslash \ : "Micha's Webseite"
Ist dann die Funktion "addslashes()" auch eine "Escape" Funktion?

Einen String "quotieren" kann man durch einfache Hochkomma oder doppelte Anführungszeichen also etwas "Hallo" oder 'Hallo'

Bei "mysql_real_escape_string" spricht  man hingegen immer von "maskieren".
Letztendlich ist es doch aber auch ein "escapen" oder?

vielen Dank und viele Grüße
hawk

  1. echo $begrüßung;

    hier im Forum und auch im PHP Manual bzw. der MySQL Dolu wird oft von
    quotieren, maskieren und escapen gesprochen.
    Kann mir mal jemand (vielleicht an Hand eines Beispiels) die genauen Unterschiede erklären?

    Quotes sind Anführungszeichen. Quotieren ist also, einen Wert in Anführungszeichen zu setzen.
    Maskieren und Escapen ist das gleiche. Einem Zeichen eine Maske aufsetzen, damit es in einer bestimmten Bedeutung nicht erkannt wird, oder der Bedeutung eines Zeichens entfliehen.

    Einen String "escapen" kann man mit Backslash \ : "Micha's Webseite"

    Maskiert werden einzelne Zeichen \n oder Zeichensequenzen \x0A, nicht der gesamte String.

    Ist dann die Funktion "addslashes()" auch eine "Escape" Funktion?

    Ja, aber im Deutschen wird immer noch ein Bindestrich zwischen zwei zusammengesetzten Wörtern geschrieben: Escape-Funktion oder, wenn du die "" verwenden willst, "Escape"-Funktion.</oberlehrer>

    Einen String "quotieren" kann man durch einfache Hochkomma oder doppelte Anführungszeichen also etwas "Hallo" oder 'Hallo'

    Ja, im Computer-Umfeld werden hauptsächlich diese beiden Zeichen verwendet. Andere Beispiele: MySQL quotiert Bezeichner mit Backticks, Microsoft SQL-Server mit [] (nicht immer. Das kann man wohl einstellen, wie ich grad gelesen hab).

    Bei "mysql_real_escape_string" spricht  man hingegen immer von "maskieren". Letztendlich ist es doch aber auch ein "escapen" oder?

    Nein und ja, beides bedeutet das gleiche. Ich verwende aber hauptsächlich maskieren, weil sich das besser ausspricht und beugen lässt als escapen.

    echo "$verabschiedung $name";

    1. Hallo dedlfix,

      vielen Dank für deine Erklärung,

      Sorry für die Verunstaltung der Wortes "Escape" Funktion :-)

      Da hatte ich bei Deutschstunde gefehlt :-)
      hmmm?
      oder heisst das jetzt "in der Deutschstunde"?
      oder gar "Deutsch Stunde"?

      Aber du hast schon recht:
      Auch darauf sollte man ein wenig achten.

      viele Grüße
      hawk

      1. Mahlzeit,

        oder gar "Deutsch Stunde"?

        Nein: Deut`sch Stunde

        MfG,
        EKKi

        --
        sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|