2017-04-27 6 views
1

Einfügen einer textarea in DB, wenn ich es abrufen ... Jedem Zitat ist ein Backslash vorangestellt.Speichern und Abrufen von E-Mail-Text aus einer Datenbank

Ich speichere den Körper einer E-Mail in eine Datenbankzelle. Entkommen alles mit wp_kses_post() wie vorgeschlagen, wenn Sie wp_editor() verwenden, um alles zu umgehen, was mit HTML zusammenhängt und was nicht, wenn Sie den Inhalt in der DB speichern.

Meine Frage kann oder muss nicht mit wp_kses_post() zu tun haben. Das Problem ist, wenn ich den Inhalt in eine E-Mail abgerufen werden, alles, was ich in der E-Mail setzen, die Anführungszeichen hatte mit einem Schrägstrich herauskam ... So

Ich bin

wird

I \ 'm

etc ...

UPDATE:

Dies macht mich verrückt. Ich mache keine manuelle Flucht!

Das ist alles, was ich jetzt tue:

Auf dem Formular: <textarea id="cc-email" name="cc-email" cols="80" rows="10"></textarea>

es einfügen:

$cc_email = $_POST['cc-email']; 

$query = "INSERT INTO wp_forms (formID, cc_email) 
       VALUES (?, ?)"; 
$stmt = mysqli_prepare($connection, $query) or error_log('stmt error: '.mysqli_error($connection)); 
mysqli_stmt_bind_param($stmt, "is", $formID, $cc_email); 
if (!mysqli_stmt_execute($stmt)) { 
    error_log('stmt error: '.mysqli_stmt_error($stmt)); 
} 
mysqli_stmt_free_result($stmt); 

Ausgang es:

$query = "SELECT cc_email FROM wp_forms WHERE formID=?"; 

$stmt = mysqli_prepare($connection, $query) or error_log('stmt error: '.mysqli_error($connection)); 
mysqli_stmt_bind_param($stmt, "s", $formID); 

if (!mysqli_stmt_execute($stmt)) { 
    error_log('stmt error: '.mysqli_stmt_error($stmt)); 
} 
mysqli_stmt_bind_result($stmt, $cc_email); 
mysqli_stmt_fetch($stmt); 
mysqli_stmt_free_result($stmt); 

auf der Forschung Basierend Ich habe getan, es gibt keine Notwendigkeit, die Ausgabe von der Datenbank zu entwirren. Aber warum würde die Ausgabe mit allen Backslash-Fluchten herauskommen ???

+0

Wie Sie in die Datenbank einfügen? Es sieht so aus, als ob Sie aus irgendeinem Grund vorzeitig oder doppelt entkommen. – tadman

+0

Ich habe die Frage so bearbeitet, dass sie enthält, wie ich sie einfüge, wp_kses_post() ist Teil des Verzeichnisses wp-includes. Insbesondere in kses.php. –

Antwort

Verwandte Themen