Caracteres escapados en cadena desde formulario enviado

Cada vez que se realiza una POST, obtengo caracteres que escapan.

\ -> \\ ' -> \' " -> \" 

Tengo un formulario de varios pasos, que transmite los datos de una forma a otra. Guardo los valores con declaraciones preparadas en la base de datos. Los valores en la base de datos actualmente se parecen a la casa de Paul\'s House . El usuario debe tener la posibilidad de utilizar comillas simples o dobles en su cadena.

Este es un ejemplo simple que demuestra el efecto de escape:

  

¿Por qué o quién escapa de la cadena? ¿Cuál es la forma correcta de manejar datos en múltiples formularios? ¿Cuál es la forma correcta de guardarlo en la base de datos? ¿Debo usar stripslashes() o estoy abriendo un gran agujero de seguridad?

Parece que tienes Magic Quotes activado.

http://www.php.net/manual/en/security.magicquotes.disabling.php

Verifique cómo se deshabilita.

Debes desactivar las magicquotes en el servidor, de lo contrario deberías tener mucho cuidado con el estado activado / desactivado de las magicquotes.