function.addslashes.html
7.22 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>Stellt bestimmten Zeichen eines Strings ein "\" voran</title>
</head>
<body><div class="manualnavbar" style="text-align: center;">
<div class="prev" style="text-align: left; float: left;"><a href="function.addcslashes.html">addcslashes</a></div>
<div class="next" style="text-align: right; float: right;"><a href="function.bin2hex.html">bin2hex</a></div>
<div class="up"><a href="ref.strings.html">String-Funktionen</a></div>
<div class="home"><a href="index.html">PHP Manual</a></div>
</div><hr /><div id="function.addslashes" class="refentry">
<div class="refnamediv">
<h1 class="refname">addslashes</h1>
<p class="verinfo">(PHP 4, PHP 5)</p><p class="refpurpose"><span class="refname">addslashes</span> — <span class="dc-title">Stellt bestimmten Zeichen eines Strings ein "\" voran</span></p>
</div>
<div class="refsect1 description" id="refsect1-function.addslashes-description">
<h3 class="title">Beschreibung</h3>
<div class="methodsynopsis dc-description">
<span class="type">string</span> <span class="methodname"><strong>addslashes</strong></span>
( <span class="methodparam"><span class="type">string</span> <code class="parameter">$str</code></span>
)</div>
<p class="para rdfs-comment">
Gibt einen String (Zeichenkette) zurück, in dem bestimmten
Zeichen ein Backslash "\" voran gestellt wurde. Diese Funktion
ist z.B. für Datenbankabfragen wichtig. Die behandelten Zeichen
sind das einfache und das doppelte Anführungszeichen
(<em>'</em> und <em>"</em>), der Backslash
selbst (<em>\</em>) sowie NUL (das Null-Byte).
</p>
<p class="para">
Ein Beispiel für die Verwendung von <span class="function"><strong>addslashes()</strong></span>
ist das Schreiben von Daten in eine Datenbank. Möchte man zum Beispiel
einen Namen wie <em>O'reilly</em> in ein Datenbankfeld schreiben,
muss er maskiert sein. Es wird dringend empfohlen, die datenbankspezifische
Escapefunktion zu verwenden (z.B.
<span class="function"><a href="mysqli.real-escape-string.html" class="function">mysqli_real_escape_string()</a></span> für MySQL oder
<span class="function"><a href="function.pg-escape-string.html" class="function">pg_escape_string()</a></span> für PostgreSQL). Sollte für das
von Ihnen verwendete DBMS keine spezielle Escape-Funktion existieren und sollte
dieses DBMS <em>\</em> verwenden, um Sonderzeichen zu maskieren,
können Sie ersatzweise diese Funktion verwenden. Dies ist ausschließlich
für das Einfügen von Daten in eine Datenbank notwendig, der zusätzliche
<em>\</em> wird nicht wirklich eingefügt.
Ist die PHP-Direktive <a href="sybase.configuration.html#ini.magic-quotes-sybase" class="link">magic_quotes_sybase</a> den Wert
<em>on</em>, wird ein <em>'</em> anstelle des
Backslashes mit einem weiteren <em>'</em> maskiert.
</p>
<p class="para">
Die PHP-Direktive <a href="info.configuration.html#ini.magic-quotes-gpc" class="link">magic_quotes_gpc</a>
war vor PHP 5.4 standardmäßig aktiviert, sodass die Funktion
<span class="function"><strong>addslashes()</strong></span> auf alle GET-, POST- und COOKIE-Daten
angewendet wurde. Verwenden Sie daher die Funktion
<span class="function"><strong>addslashes()</strong></span> nicht, wenn Strings bereits durch
<a href="info.configuration.html#ini.magic-quotes-gpc" class="link">magic_quotes_gpc</a> escaped
wurden, ansonsten erhalten Sie doppelte Maskierungen. Um herauszufinden,
ob der Parameter aktiviert ist, verwenden Sie am einfachsten die
Funktion <span class="function"><a href="function.get-magic-quotes-gpc.html" class="function">get_magic_quotes_gpc()</a></span>.
</p>
</div>
<div class="refsect1 parameters" id="refsect1-function.addslashes-parameters">
<h3 class="title">Parameter-Liste</h3>
<p class="para">
<dl>
<dt>
<code class="parameter">str</code></dt>
<dd>
<p class="para">
Die zu maskierende Zeichenkette.
</p>
</dd>
</dl>
</p>
</div>
<div class="refsect1 returnvalues" id="refsect1-function.addslashes-returnvalues">
<h3 class="title">Rückgabewerte</h3>
<p class="para">
Gibt die maskierte Zeichenkette zurück.
</p>
</div>
<div class="refsect1 examples" id="refsect1-function.addslashes-examples">
<h3 class="title">Beispiele</h3>
<p class="para">
<div class="example" id="example-4777">
<p><strong>Beispiel #1 Ein <span class="function"><strong>addslashes()</strong></span>-Beispiel</strong></p>
<div class="example-contents">
<div class="phpcode"><code><span style="color: #000000">
<span style="color: #0000BB"><?php<br />$str </span><span style="color: #007700">= </span><span style="color: #DD0000">"Ist dein Name wirklich O'reilly?"</span><span style="color: #007700">;<br /><br /></span><span style="color: #FF8000">// Ausgabe: Ist dein Name wirklich O\'reilly?<br /></span><span style="color: #007700">echo </span><span style="color: #0000BB">addslashes</span><span style="color: #007700">(</span><span style="color: #0000BB">$str</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?></span>
</span>
</code></div>
</div>
</div>
</p>
</div>
<div class="refsect1 seealso" id="refsect1-function.addslashes-seealso">
<h3 class="title">Siehe auch</h3>
<p class="para">
<ul class="simplelist">
<li class="member"><span class="function"><a href="function.stripcslashes.html" class="function" rel="rdfs-seeAlso">stripcslashes()</a> - Entfernt Quotes aus mit addcslashes behandelten Strings</span></li>
<li class="member"><span class="function"><a href="function.stripslashes.html" class="function" rel="rdfs-seeAlso">stripslashes()</a> - Entfernt aus einem gequoteten String alle Quotes</span></li>
<li class="member"><span class="function"><a href="function.addcslashes.html" class="function" rel="rdfs-seeAlso">addcslashes()</a> - Stellt bestimmten Zeichen eines Strings ein "\" voran (wie in C)</span></li>
<li class="member"><span class="function"><a href="function.htmlspecialchars.html" class="function" rel="rdfs-seeAlso">htmlspecialchars()</a> - Wandelt Sonderzeichen in HTML-Codes um</span></li>
<li class="member"><span class="function"><a href="function.quotemeta.html" class="function" rel="rdfs-seeAlso">quotemeta()</a> - Quoten von Meta-Zeichen</span></li>
<li class="member"><span class="function"><a href="function.get-magic-quotes-gpc.html" class="function" rel="rdfs-seeAlso">get_magic_quotes_gpc()</a> - Zeigt die aktuelle Konfiguration von magic quotes gpc</span></li>
</ul>
</p>
</div>
</div><hr /><div class="manualnavbar" style="text-align: center;">
<div class="prev" style="text-align: left; float: left;"><a href="function.addcslashes.html">addcslashes</a></div>
<div class="next" style="text-align: right; float: right;"><a href="function.bin2hex.html">bin2hex</a></div>
<div class="up"><a href="ref.strings.html">String-Funktionen</a></div>
<div class="home"><a href="index.html">PHP Manual</a></div>
</div></body></html>