2009-08-09 9 views
0

Ich habe einfache Form Buchung in eine andere Datei. Das Problem, das ich habe, ist mit TEXTAREA-Feld.Added Characters on POST

In Form TEXTAREA-, gebe ich diese:

<h1 class="padlock">Member Login</h1> 

und der Ausgang ist auf der anderen Seite, wenn sie mit PHP echo:

<h1 class=\"padlock\">Member Login</h1> 

Es Zeichen automatisch ist entkommen. Ich zeige die Ausgabe in einer anderen TEXTAREA-Box an.

Wie kann ich es genau gleich machen?

Antwort

1

Magic Quotes ist eingeschaltet.

Dies ist eine veraltete Funktion von PHP. Es wurde verwendet, um alle eingehenden Benutzerdaten zu umgehen. Sie können stripslashes() verwenden, um die ursprünglichen Daten zurück zu erhalten:

if (get_magic_quotes_gpc()) { 
    $_POST['textareaname'] =stripslashes($_POST['textareaname']); 
} 

oder diese _POST Array auf die gesamten $ anzuwenden:

function stripslashes_recursive($data){ 
    if(is_array($data){ 
    $new_data = array(); 
    foreach($new_data as $key => $entry){ 
     $new_data[$key] = stripslashes_recursive($entry); 
    } 
    return $new_data; 
    } else { 
    return stripslashes($data); 
    } 
} 

if (get_magic_quotes_gpc()) { 
    $stripped_postdata = stripslashes_recursive($_POST); 
} 

Hinweis: Die rekursive Funktion Arrays in Ihren Post-Daten verwendet werden, um Unterstützung .

0

verwenden an der Spitze von Skripten, die $ _POST Variablen akzeptieren: automatisch

if (get_magic_quotes_gpc()){ 
    foreach ($_POST as $key=>$val){ 
    $_POST[$key] = stripslashes($val); 
    } 
} 

Einige Versionen von PHP entkommen und es ist eine echte Schmerzen. Zukünftige Versionen nicht.