Foros del Web » Programando para Internet » PHP »

leer codigo HTML en cajas de texto en php

Estas en el tema de leer codigo HTML en cajas de texto en php en el foro de PHP en Foros del Web. hola, como puedo hacer para que php lea correctamente los datos que hay en un formulario, pero en ese formulario hay un textarea que tiene ...
  #1 (permalink)  
Antiguo 11/03/2008, 11:19
 
Fecha de Ingreso: diciembre-2006
Mensajes: 381
Antigüedad: 17 años, 3 meses
Puntos: 2
leer codigo HTML en cajas de texto en php

hola, como puedo hacer para que php lea correctamente los datos que hay en un formulario, pero en ese formulario hay un textarea que tiene codigo HTML y ese codigo HTML viene de la BD, luego con los datos recibidos los envio a un correo, pero no envia ese HTML no se por que, en en el codigo del envio de correo le he agregado las cabeceras para enviar HTML
Código PHP:
$headers "From: ".$mailadmin."\r\nContent-type: text/html\r\n";
$headers .= "MIME-version: 1.0\n"
, asi que no creo que ese sea el problema, ya que si pongo directamente el HTML en una variable y la pongo el body si envia el HTML, pero si recibe ese mismo HTML del formulario ya no envia el HTML.
Pueden ayudarme?
  #2 (permalink)  
Antiguo 11/03/2008, 11:28
Avatar de TolerantX  
Fecha de Ingreso: marzo-2006
Ubicación: Guadalajara, México.
Mensajes: 408
Antigüedad: 18 años, 1 mes
Puntos: 10
Re: leer codigo HTML en cajas de texto en php

Tal vez esto te sirva http://www.forosdelweb.com/1366680-post151.html
__________________
TolerantX
http://tolerantx.com
Linux User #385226
  #3 (permalink)  
Antiguo 11/03/2008, 11:30
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: leer codigo HTML en cajas de texto en php

Deberías de publicar la parte donde recoges los datos y haces el envío del correo.

Saludos.
  #4 (permalink)  
Antiguo 11/03/2008, 12:50
 
Fecha de Ingreso: diciembre-2006
Mensajes: 381
Antigüedad: 17 años, 3 meses
Puntos: 2
Re: leer codigo HTML en cajas de texto en php

He leido el FAQ pero esa no es la solucion, es que los datos ya llegan sin HTML
Estoy modificando el codigo fuente del PhpLinkDirectory, y este usa Smarty y las librerias Prototype.

archivo : sendmail.tpl

Código PHP:
{* Error and confirmation messages *}
{include 
file="messages.tpl"}

{
strip}

<
div class="block">
   <
form method="post" action="" >
   <
table class="formPage">
   <
tbody>
      <
tr>
         <
td class="label required"><label for="TITLE">{l}Name{/l}:</label></td>
         <
td class="smallDesc">
          {
$name}          </td>
      </
tr>
      <
tr>
         <
td class="label {if $smarty.const.REQUIRE_URL}required{/if}"><label for="URL">{l}Mail{/l}:</label></td>
         <
td class="smallDesc">{$email}
           </
td>
      </
tr>
      <
tr>
         <
td class="label"><label for="DESCRIPTION">{l}HTML{/l}:</label></td>
         <
td class="smallDesc"><textarea name="html" id="html" rows="6" cols="50" class="text">{$html}</textarea></td>
      </
tr>
     
   </
tbody>

   <
tfoot>
      <
tr>
         <
td>&nbsp;</td>
         <
td>
          <
input type="button" id="submit" name="Submit" value="Send" class="button" onClick="sendMailAjax();">
            <
div id="mensaje">     
            </
div>
        </
td>
      </
tr>
   </
tfoot>
   </
table>
   </
form>
</
div>
{/
strip
sendmail.js

Código PHP:
function sendMailAjax(){
    
        
//capturo el textarea que tiene el html    
        
var html    =  $F("html");        
        
        var 
url   "sendmailajax.php";
    
        var 
params            'html='+html;

        
//envía datos por Ajax
        
var ajx = new Ajax.Updater("mensaje",

                                                
url,

                                                {
method:"post",

                                                
parameters:params}

                                        );
        

sendmailajax.php

Código PHP:
session_start();

//el body es el HTML
$body $_POST['html'];

$maildestino $_SESSION['EMAIL'];
$subject $_SESSION['subject'];

///mail del editor o administrador, en este caso he eligo que siempre del administrador
$mailadmin $_SESSION['mailadmin'];

$headers "From: ".$mailadmin."\r\nContent-type: text/html\r\n";
$headers .= "MIME-version: 1.0\n";  

$m mail($maildestino,$subject,$body,$headers);

if (
$m){
echo   
" mail enviado";
}else{
echo 
"el mail no se pudo enviar";

Y este es el HTML que se muestra en el textarea:

Código PHP:
Tu web ha sido agregada nuestro directorio
Ahora agrega este codigo a tu web
:
<
br/>
<
a href="www.eldirectorio.com/Ocio/Musica/Cantautores/">tu web en topbloglatinos</a
Al correo solo llega este texto :Tu web ha sido agregada nuestro directorio
Ahora agrega este codigo a tu web:

pero no llega el HTML.

Ya hice la prueba imprimiendo el $_POST['html']; y solo llega ese texto. creo que la solucion seria poner una propiedades al formulario, pero lo malo es que estoy usando AJAX con protototype, creo que debo buscar unas propiedades del prototype que me permitan enviar correctamente el formulario.

Pueden ayudarme?
  #5 (permalink)  
Antiguo 11/03/2008, 13:33
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: leer codigo HTML en cajas de texto en php

Creo tu problema esta a la hora de enviar desde AJAX, prueba esto:
Código:
var params            = 'html='+escape(html);
Saludos.
  #6 (permalink)  
Antiguo 11/03/2008, 13:48
 
Fecha de Ingreso: diciembre-2006
Mensajes: 381
Antigüedad: 17 años, 3 meses
Puntos: 2
Re: leer codigo HTML en cajas de texto en php

Cita:
Iniciado por GatorV Ver Mensaje
Creo tu problema esta a la hora de enviar desde AJAX, prueba esto:
Código:
var params            = 'html='+escape(html);
Saludos.
Funcionó!!, luego de dos dias de romperme la cabeza pensando finalmente lo logré.
Gracias!!
  #7 (permalink)  
Antiguo 11/03/2008, 15:01
 
Fecha de Ingreso: diciembre-2006
Mensajes: 381
Antigüedad: 17 años, 3 meses
Puntos: 2
Re: leer codigo HTML en cajas de texto en php

no puede ser, ahora que al codigo HTML le he agregado esto:
Código PHP:
<img src"http://www.topblogslatinos.com/templates/Core/DefaultAdmin/images/phpldlogo.png"
 
alt="topblogslatinos" >
Tu web ha sido agregada nuestro directorio
Ahora agrega este codigo a tu web
:
<
br/>
<
a href="www.topblogslatinos.com/Ocio/Musica/Cantautores/">tu web en topbloglatinos</a><br><br
Me llega todo bien a excepcion de la imagen.

Y cuando imprimo el $_POST['html'] sale esto en vez de la imagen:
\"topblogslatinos\"

Que puede estar pasando?

Última edición por StrikeFreedom; 11/03/2008 a las 15:20
  #8 (permalink)  
Antiguo 11/03/2008, 15:30
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: leer codigo HTML en cajas de texto en php

Tienes activado magic_quotes en tu php.ini, debes de usar stripslashes en la variable $_POST['html'] para quitar los slashes.

Saludos.
  #9 (permalink)  
Antiguo 11/03/2008, 15:43
 
Fecha de Ingreso: diciembre-2006
Mensajes: 381
Antigüedad: 17 años, 3 meses
Puntos: 2
Re: leer codigo HTML en cajas de texto en php

Cita:
Iniciado por GatorV Ver Mensaje
Tienes activado magic_quotes en tu php.ini, debes de usar stripslashes en la variable $_POST['html'] para quitar los slashes.

Saludos.
Funciono!!! otra vez gracias!!!

no me habia dado cuenta de que la imagen si estaba solo que estaba de esta manera:

Código PHP:
<img alt="\"topblogslatinos\"" src="\"http://www.topblogslatinos.com/templates/Core/DefaultAdmin/images/phpldlogo.png\""/> 
Muchas gracias!!
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 11:32.