[Pregunta]: Correcto uso de la función addslashes

Iniciado por Leguim, 5 Septiembre 2021, 06:22 AM

0 Miembros y 1 Visitante están viendo este tema.

Leguim

Hola,

estoy teniendo problemas con lo siguiente:
Código (php) [Seleccionar]

$text = Limpiar($_POST['input_text']); // limpio el dato (escapo html)
echo '<br>'.$text.'<br>';

?>
<h3><?php echo($text); ?></h3>
<textarea><?php echo($text); ?></textarea>
<script type="text/javascript">
alert('<?php echo($text); ?>'); // acá vienen los problemas
</script>
<?php


Si el texto fuera: "mi texto ' es este" esto me daría problemas en la línea de alert(); ya que no se está escapando las comillas simples, por lo que estaba pensando que entonces tendría que hacer uso de addslashes para escapar estas comillas simples o dobles si lo fueran cuando se va a poner como parametro de alguna función de javascript.

No estoy seguro si esta es una manera efectiva, estuve viendo algunos vídeos pero lo que ellos hacen es usar addslashes antes de guardar ese dato a la bd. El problema que encuentro con esto es que cada vez que yo vaya a querer mostrar esa cadena por pantalla me va a salir... "mi texto \' es este".

Y tendría que usar stripslashes (para sacar los escapes a las comillas) cada que yo quiero usar ese dato mientras no sea en una función javascript como parámetro.

Esto me parece muy tedioso que a cada rato tenga que estar usando stripslashes, redondeando no estoy seguro si el enfoque correcto es este o debería sólo usar addslashes cuando ese dato se va a usar como parámetro en una función javascript y nada más.

Estoy algo perdido.

Danielㅤ

Hola, estás usando una mala práctica que es poner muchos <?php ... ?> mezclados con código HTML.

Por otro lado para lograr lo que deseas deberías guardar primero el dato en una variable y después usar esa variable dentro del alert():

Código (php) [Seleccionar]
var textAlert = <?php echo($text); ?>
alert(textAlert);


Prueba esa modificación y nos comentas.


Saludos
¡Regresando como cual Fenix! ~
Bomber Code © 2021 https://www.bombercode.net/foro/

Ayudas - Aportes - Tutoriales - Y mucho mas!!!