Foros del Web » Programando para Internet » PHP »

error al leer html en variable php

Estas en el tema de error al leer html en variable php en el foro de PHP en Foros del Web. chicos espero me puedan ayudar. tengo una pagina en php en la que kiero registrar un comunicado en una bd mysql, dicho comunicado quiero que ...
  #1 (permalink)  
Antiguo 27/12/2007, 12:58
 
Fecha de Ingreso: diciembre-2007
Mensajes: 50
Antigüedad: 16 años, 11 meses
Puntos: 1
error al leer html en variable php

chicos espero me puedan ayudar. tengo una pagina en php en la que kiero registrar un comunicado en una bd mysql, dicho comunicado quiero que sea con formato, para lo cual estoy usando el htmlarea (un script que encontre en la web que permite modificar los textareas como si fueran editores html) el cual me arroja una codigo html y eso es lo que guardo en mi bd. pero antes de guardarlo quiero hacer una vista previa del comunicado en otra pagina y aqui viene el problema. cuando le doy click en el boton vista previa llamo a una funcion ke me ejecuta un form el cual envia los datos a la pagina vistaprevia.php la cual recupera los datos del titulo y del contenido del comunicado para mostrarlos en esta pagina
<?php
$titulo=$_REQUEST['titulo'];
$contenido=$_REQUEST['contenido'];
?>
el asunto es que cuando recupera los datos las comillas siempre las cambia por \" y no me permite mostrar correctamente los datos x ejemplo si tengo una imagen en el atributo src="imagen" no me lo muestra xq las benditas comillas son cambiadas x \" ya intente de varias formas y nada a ver si me echan una mano

-------------------registrarcomunicado.php--------------------------
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Registrar Comunicado</title>
<script language="Javascript1.2">
<!--
// Carga de htmlarea
_editor_url = "" // URL del archivo htmlarea
var win_ie_ver = parseFloat(navigator.appVersion.split("MSIE")[1]);
if (navigator.userAgent.indexOf('Mac') >= 0) { win_ie_ver = 0; }
if (navigator.userAgent.indexOf('Windows CE') >= 0) { win_ie_ver = 0; }
if (navigator.userAgent.indexOf('Opera') >= 0) { win_ie_ver = 0; }
if (win_ie_ver >= 5.5) {
document.write('<scr' + 'ipt src="' +_editor_url+ 'editor.js"');
document.write(' language="Javascript1.2"></scr' + 'ipt>');
} else { document.write('<scr'+'ipt>function editor_generate() { return false; }</scr'+'ipt>'); }
// -->
function vistaPrevia(){
var tit=document.forms[0].elements[0];
var conte=document.forms[0].elements[2];
document.write('
<form id="frmaux" name="frmaux" method="post" action="vistaprevia.html" target="_blank">
<input name="titulo" type="text" id="titulo" value='+tit+'/>
<br />
<textarea name="contenido" id="contenido" value='+conte+'></textarea>
</form>}
');
document.frmaux.submit();
}
</script>
<link href="../CSS/estilosavanzados.css" rel="stylesheet" type="text/css" />
<style type="text/css">
<!--
.style2 {
font-family: Arial, Helvetica, sans-serif;
font-weight: bold;
font-size: 24px;
color: #000000;
}
.style3 {
color: #000000;
font-family: Arial, Helvetica, sans-serif;
font-weight: bold;
}
-->
</style></head>

<body>

<table width="950" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><fieldset><h2><legend>Registrar Comunicado</legend></h2>
<form id="form1" name="form1" method="post" action="">
<table width="950" height="420" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="19">&nbsp;</td>
<td width="680"><label><span class="style3">Titulo</span>
<input name="txttitulo" type="text" class="texto" id="txttitulo" size="70" maxlength="50" />
</label></td>
<td width="270" rowspan="4">
<fieldset><legend class="style3">Imagenes Disponibles</legend>
<table width="270" height="420" border="0" cellpadding="0" cellspacing="0">
<tr>
<td>
<iframe name="imagenes" src="galeriaimagenes.php" width="100%" height="420" frameborder="0" scrolling="auto"></iframe> </td>
</tr>
</table>
</fieldset>*</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td width="21">&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td><strong class="style3">Contenido</strong></td>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>
<textarea name="txtcontenido" cols="80" rows="20" id="txtcontenido"></textarea>
<script language="JavaScript1.2" defer>
editor_generate('txtcontenido');
</script>
<br>
<input name="vista" type="button" id="vista" value="Vista Previa" onclick="vistaPrevia()" />
<input type="submit" name="Submit" value="Guardar Comunicado" />
<input name="cancelar" type="button" id="cancelar" value="Cancelar" /></td>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
</table>
<label></label>
</form>
</fieldset></td>
</tr>
</table>
</body>
</html>

---------------VISTAPREVIA.PHP---------------------
<?php
$titulo=$_REQUEST['titulo'];
$contenido=$_REQUEST['contenido'];
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
<link href="../CSS/estilosbasicos.css" rel="stylesheet" type="text/css" />
</head>

<body>
<table width="100%" border="1" cellspacing="0" cellpadding="0">
<tr>
<td><?=$titulo?></td>
</tr>
<tr>
<td><?=$contenido?></td>
</tr>
</table>
</body>
</html>
  #2 (permalink)  
Antiguo 27/12/2007, 13:08
Avatar de hgp147  
Fecha de Ingreso: diciembre-2006
Ubicación: Buenos Aires, Argentina
Mensajes: 980
Antigüedad: 17 años, 10 meses
Puntos: 36
Re: error al leer html en variable php

Proba con esto:

Código PHP:
<?php

$titulo
htmlentities($_REQUEST['titulo'], ENT_QUOTES);
$contenidohtmlentities($_REQUEST['contenido'], ENT_QUOTES);

?>
Creo que no te va a funcionar lo que puse, me parece que esta mal.
  #3 (permalink)  
Antiguo 27/12/2007, 14:19
Avatar de vevni  
Fecha de Ingreso: julio-2005
Ubicación: cancun mexico
Mensajes: 598
Antigüedad: 19 años, 4 meses
Puntos: 3
Re: error al leer html en variable php

debes tener maginc quotes a on lo cual todo aquello que cumpla GPC
GET/POST/COOKIE se escapara con una barra invertirda, por akello del sql_injection, poner comillas simples como jhon'conoer provoca que el servidor responda de manera inadeacuada, claro proporcionando las consultas correctas y explotando esta tecnica, se puede acceder ala base de datos... pero bueno eso no es el tema, aplicale un stripslashes...


string stripslashes ( string cadena )


Devuelve una cadena con las barras invertidas eliminadas (\' se convierte en ', etc.). Las barras invertidas dobles (\\) se convierten en sencillas (\).

Un ejemplo de uso de la función stripslashes() es cuando la directiva magic_quotes_gpc tiene un valor de on (que es su valor por defecto) y no se van a insertar los datos en una base de datos o cualquier otro elemento que necesite escapar los caracteres (por ejemplo, cuando se van a mostrar los datos de forma directa en una página HTML).

Ejemplo 1. Ejemplo de stripslashes()

<?php
$cadena = "¿Te apellidas O\'reilly?";

// La salida es: ¿Te apellidas O'reilly?
echo stripslashes($cadena);
?>



Nota: stripslashes() no es recursiva, por lo que que si se quiere aplicar la función a una matriz multi-dimensional, se debe emplear una función recursiva.



COMO SIEMPRE DIGO AHI TENEMOS EL MANUAL DE PHP, PORK NUNCA LO USAMOS?????
BAJENLOS!
__________________
Código PHP:
echo"hola mundo ver 1221332143.02";
echo
"cuantos usuarios habran impreso hola mundo en el mundo.!???"
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 22:26.