2009-08-09 7 views
0

J'ai un simple formulaire de publication dans un autre fichier. Le problème que j'ai est avec le champ TEXTAREA.Caractères ajoutés sur POST

Dans la forme TEXTAREA, j'entrez ceci:

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

et la sortie est sur l'autre page Lorsqu'ECHO avec PHP:

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

Il est automatiquement échapper à des personnages. J'affiche la sortie dans une autre boîte TEXTAREA.

Comment puis-je faire exactement la même chose?

Répondre

1

Magic Quotes est activé.

Ceci est une caractéristique déconseillée de PHP. Il a été utilisé pour échapper toutes les données utilisateur entrantes. Vous pouvez utiliser stripslashes() pour obtenir les données d'origine retour:

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

ou pour appliquer à l'ensemble du tableau $ _POST:

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); 
} 

Note: la fonction récursive est utilisée pour supporter des tableaux dans vos données post .

0

Utilisez ce en haut de scripts qui acceptent $ _POST:

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

Certaines versions de PHP échapper automatiquement et il est une vraie douleur. Les versions futures ne le font pas.

Questions connexes