Foros del Web » Programando para Internet » PHP »

Enviar código desde formulario de contacto

Estas en el tema de Enviar código desde formulario de contacto en el foro de PHP en Foros del Web. Hola amig@s, Estoy haciendo una sección para intercambio de links en una web. Los interesados pueden copiar el código que coloqué en un textarea para ...
  #1 (permalink)  
Antiguo 11/01/2009, 16:26
Avatar de fmurga  
Fecha de Ingreso: abril-2008
Mensajes: 53
Antigüedad: 16 años
Puntos: 0
Pregunta Enviar código desde formulario de contacto

Hola amig@s,

Estoy haciendo una sección para intercambio de links en una web. Los interesados pueden copiar el código que coloqué en un textarea para agregarlo en sus propias webs.

Ahora bien, tengo un formulario que recoge la información del interesado en intercambiar links. Este formulario tiene los campos Nombre, Url donde colocó el link hacia nuestro sitio, Email para contactarlo y por último un textarea que debe recoger el código del link recíproco que nosotros pondremos en nuestro sitio.

El problema es que no logro hacer que me llegue todo el código. Le dado la vuelta a todo el FAQ y no le encuentro salida. Tal vez es algo muy sencillo, pero ya no doy una....

Este es el código de mi formulario:

Código:
<form name="form1" method="post" action="links.php">
	  <table width="95%" align="center">
          <tr>
            <td width="54%"><p align="right"><b>Nombre: </b></p></td>
            <td width="46%" align="left"><input name="nombre" type="text" id="nombre" size="30" maxlength="80"></td>
          </tr>
          <tr>
            <td><p align="right"><b>Email: </b></p></td>
            <td align="left"><input name="email" type="text" id="email" size="30" maxlength="80"></td>
          </tr>
          <tr>
            <td><div align="right"><strong>URL donde colocó nuestro link: </strong></div></td>
            <td align="left"><input name="url" type="text" id="url" size="30" maxlength="80"></td>
          </tr>
          <tr>
            <td valign="top"><p align="right"><b>Código de su Enlace: </b></p></td>
            <td align="left"><textarea name="enlace" cols="30" rows="4" id="enlace"></textarea></td>
          </tr>
          <tr>
            <td height="26">&nbsp;</td>
            <td align="left"><input name="submit" type="submit" onClick="MM_validateForm('nombre','','R','email','','RisEmail','url','','R','enlace','','R');return document.MM_returnValue" value="Enviar"></td>
          </tr>
        </table>
        <input type="hidden" name="isOK" value="OK">
        <input name="$REMOTE_ADDR" type="hidden" id="$REMOTE_ADDR" value="$REMOTE_ADDR">        
        <input name="$HTTP_USER_AGENT" type="hidden" id="$HTTP_USER_AGENT" value="$HTTP_USER_AGENT">
    </form>
Aquí reviso y envío el formulario:

Código:
<?
		  if (isset($_POST['isOK'])) {

		function checkString($s) {
		$s = str_replace("<","&lt;",$s);
		$s = str_replace("'","''",$s);
		$s = str_replace(chr(13),"<br>",$s);
		return $s;
	}

	$nombre=checkString($_POST['nombre']);
	$url=checkString($_POST['url']);
	$email=checkString($_POST['email']);
	$enlace=checkString($_POST['enlace']);
		
	$to= "[email protected]";
	$subject= "Intercambio de Links";
	
	$messageSend= "<b>Nombre:</b> ".$nombre." <br>";
	$messageSend.= "<b>URL:</b> ".$url." <br>";
	$messageSend.= "<b>Email:</b> ".$email." <br>";
	$messageSend.= "<b>Enlace:</b> ".$enlace." <br>";
	$messageSend.= "<b>IP: </b>".$REMOTE_ADDR."\r\n<br>";
	$messageSend.= "<b>Browser: </b>".$HTTP_USER_AGENT."\r\n<br>";
	
	$headers  = "MIME-Version: 1.0\r\n";
	$headers .= "Content-type: text/html; charset=utf-8\r\n";
	$headers .= "From: NNNN <[email protected]>\r\n";
	$headers .= "Reply-To: ".$email."\r\n";
	
	//mail($to, $subject, $messageSend);
	mail($to, $subject, $messageSend, $headers);
?>
y esto es lo que recibo por correo:

Código:
Nombre: Yo Solito 
URL: http://dominio.net/links.html 
Email: [email protected] 
Enlace: <p align=\"center\"><a href=\"http://www.domino.com\" target=\"_blank\"><img src=\"http://www.dominio.com/images/bannerex.gif\" alt=\"Blah Blah Blah!\" name=\"Blah\" width=\"468\" height=\"60\" border=\"0\" id=\"blah\" /><br />Blah Blah Blah.</a> 
IP: 192.168.1.3
Browser: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; GTB5; InfoPath.2)
Sé que no debo usar function checkString($s), pero si lo quito, entonces me llega el enlace formateado y así no me sirve...

¿Cómo le hago para que me llegue así?:

Código:
<p align="center"><a href="http://www.dominio.com" target="_blank"><img src="http://www.dominio.com/images/bannerex.gif" alt="Blah Blah Blah!" name="Blah" width="468" height="60" border="0" id="blah" /><br />Blah Blah Blah!"</a>
De antemano muy agradecido por su gran ayuda.
  #2 (permalink)  
Antiguo 11/01/2009, 18:16
 
Fecha de Ingreso: abril-2006
Mensajes: 1.128
Antigüedad: 18 años
Puntos: 33
Respuesta: Enviar código desde formulario de contacto

fmurga:
Talvez esta funcion te podria ayudar!

Cita:
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...
Tomado del manual php!.
Saludos
Franco
  #3 (permalink)  
Antiguo 12/01/2009, 07:52
Avatar de fmurga  
Fecha de Ingreso: abril-2008
Mensajes: 53
Antigüedad: 16 años
Puntos: 0
Respuesta: Enviar código desde formulario de contacto

De nuevo me envía el resultado del código, no el código plano.

He probado con html_entity_decode y tampoco....

Más ideas de cómo lograr esto?

Gracias.
  #4 (permalink)  
Antiguo 12/01/2009, 12:14
 
Fecha de Ingreso: abril-2006
Mensajes: 1.128
Antigüedad: 18 años
Puntos: 33
Respuesta: Enviar código desde formulario de contacto

fmurga:
Y si agregas a checkString() esto ->
$s = str_replace("\","",$s);
podria ser que resulte.
Saludos
franco
  #5 (permalink)  
Antiguo 13/01/2009, 08:41
Avatar de fmurga  
Fecha de Ingreso: abril-2008
Mensajes: 53
Antigüedad: 16 años
Puntos: 0
Respuesta: Enviar código desde formulario de contacto

Parse error: syntax error, unexpected '"' in /home/dominio/public_html/links.php on line 83
  #6 (permalink)  
Antiguo 13/01/2009, 19:15
 
Fecha de Ingreso: abril-2006
Mensajes: 1.128
Antigüedad: 18 años
Puntos: 33
Respuesta: Enviar código desde formulario de contacto

fmurga:
Ese syntax error, pues dentro " " ponle algo a ver que pasa.
Y te sugiero que antes de enviar $s,
debes hacer un echo "$s<br>";
para ver si el error es en tu codigo o cuando el servidor lo procesa.
Saludos
Franco
  #7 (permalink)  
Antiguo 14/01/2009, 07:20
Avatar de fmurga  
Fecha de Ingreso: abril-2008
Mensajes: 53
Antigüedad: 16 años
Puntos: 0
De acuerdo Respuesta: Enviar código desde formulario de contacto

Gracias franco,

He intentado poniendo varias opciones, hasta un espacio en blanco con "&nbsp;" y nada, al hacer el echo $s, no me da ningun error.

Creo que así como está es lo más cercano a recibir el código html aunque lo tenga que limpiar yo mismo.

De todos modos voy a seguir buscando la solución, pero mientras tanto así tendrá que funcionar.

Saludos,
  #8 (permalink)  
Antiguo 14/01/2009, 12:02
 
Fecha de Ingreso: abril-2006
Mensajes: 1.128
Antigüedad: 18 años
Puntos: 33
Respuesta: Enviar código desde formulario de contacto

fmurga:
Otra posibilidad es que codifiques con base64_encode() la informacion del textarea y mandes un header con content type text/html
transfer encoding: Base64
Talvez asi la decodificacion del receptor logre darte lo que buscas.
Y finalmente, tu situacion es un tanto dificil y habria que ver los detalles del correo.
En estos momentos se me ocurre que en vez de un textarea utilizes un input type="text" a ver que pasa.
Saludos
Franco
P.S. Algunas veces los textareas complican las cosas.
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 04:36.