Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Meter código html en variable php

Estas en el tema de Meter código html en variable php en el foro de PHP en Foros del Web. hola buenas estoy intentando hacer un formulario donde la gente meta un codigo html similar a este Código: <iframe width="100%" height="166" scrolling="no" frameborder="no" src="https://w.soundcloud.com/player/?url=http%3A%2F%2Fapi.soundcloud.com%2Ftracks%2F84222306"></iframe> y ...
  #1 (permalink)  
Antiguo 26/04/2013, 10:15
 
Fecha de Ingreso: enero-2011
Mensajes: 21
Antigüedad: 13 años, 3 meses
Puntos: 0
Meter código html en variable php

hola buenas

estoy intentando hacer un formulario donde la gente meta un codigo html similar a este
Código:
<iframe width="100%" height="166" scrolling="no" frameborder="no" src="https://w.soundcloud.com/player/?url=http%3A%2F%2Fapi.soundcloud.com%2Ftracks%2F84222306"></iframe>
y en su perfil aparezca ese código, el problema es cuando quiero meterlo en una variable para meterlo en la BD, actualmente lo tengo asi

Código PHP:
<?php 
  


$cadena 
$_POST['bso'];    
 
 
 include 
'conexion.inc';
 
 
$consulta ='UPDATE personajes SET bso = "'.$cadena.'" WHERE id=19';
            if (
mysql_query($consulta$conexion)){            } 
            echo 
$consulta;
?>

<form action="prueba.php" method="post">
    
    <input type="text" name="bso"/>
    <input type="submit" />
</form>

el echo de la consulta me sale asi:


Código PHP:
UPDATE personajes SET bso "







WHERE id=19 

como podría hacerlo? gracias
  #2 (permalink)  
Antiguo 26/04/2013, 11:23
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Meter código html en variable php

Prueba:
Código PHP:
Ver original
  1. echo htmlspecialchars($consulta);
  #3 (permalink)  
Antiguo 26/04/2013, 11:57
 
Fecha de Ingreso: enero-2011
Mensajes: 21
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: Meter código html en variable php

se guarda bien pero a la hora de sacarlo de la bd no sale formateado, sale como código

Código:
<iframe width="100%" height="166" scrolling="no" frameborder="no" src="https://w.soundcloud.com/player/?url=http%3A%2F%2Fapi.soundcloud.com%2Ftracks%2F84222306"></iframe>
quiero guardar el código y después al sacarlo aparezca formateado, en ese caso mostrar un reproductor
  #4 (permalink)  
Antiguo 26/04/2013, 12:00
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Meter código html en variable php

Entonces quita el htmlspecialchars eso solo es para que lo muestres en el navegador como código HTML, si quieres guardar el HTML lo puedes hacer sin problemas, ej:
Código PHP:
Ver original
  1. $var = "<h1>html</h1>";
  2. $query = "UPDATE table SET campo='$var' WHERE foo=bar";

Saludos.
  #5 (permalink)  
Antiguo 26/04/2013, 12:06
 
Fecha de Ingreso: enero-2011
Mensajes: 21
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: Meter código html en variable php

sisi,eso se que se guarda sin problemas, pero es que el tipo de codigo html que quiero guardar es similar a este

Código HTML:
Ver original
  1. <iframe width="100%" height="166" scrolling="no" frameborder="no" src="https://w.soundcloud.com/player/?url=http%3A%2F%2Fapi.soundcloud.com%2Ftracks%2F84222306"></iframe>

y parece que algo asi con esos caracteres me alteran la consulta, resumiendo, no funciona la culsulta :S
  #6 (permalink)  
Antiguo 26/04/2013, 12:14
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Meter código html en variable php

Pues simplemente escapa las comillas es lo único "malo" que veo en tu código, de ahí en fuera debe de funcionar, la base de datos no reconoce HTML, es texto al final, y solo tienes que seguir las mismas reglas que con cualquier texto y es cuidar las comillas al construir tu consulta SQL.

Saludos.
  #7 (permalink)  
Antiguo 26/04/2013, 12:18
 
Fecha de Ingreso: enero-2011
Mensajes: 21
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: Meter código html en variable php

lo acabo de conseguir, me sirvió lo primero, he hecho algunos ajustes y ya funciona, pongo mi código completo y funcional por si aparece alguien con mi mismo problema, gracias

Código PHP:
Ver original
  1. <?php
  2.  
  3.  
  4.  
  5. $cadena = $_POST['bso'];    
  6.  
  7.  
  8.  include 'conexion.inc';
  9.  
  10.  $cadena = htmlspecialchars($cadena);
  11.  
  12.  $consulta ='UPDATE personajes SET bso = "'.$cadena.'" WHERE id=19';
  13.             if (mysql_query($consulta, $conexion)){         }
  14.            
  15.            
  16.             $sthb =  $dbh->query(" SELECT bso FROM personajes WHERE id=19");
  17.              
  18.         foreach($sthb as $row2){           
  19.            
  20.         $bso= htmlspecialchars_decode ($row2["bso"]);
  21.                    
  22.         }
  23.                
  24.               echo $bso;
  25. ?>
  26.  
  27. <form action="prueba.php" method="post">
  28.    
  29.     <input type="text" name="bso"/>
  30.     <input type="submit" />
  31. </form>

Etiquetas: formulario, html, meter, mysql, variable
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:16.