Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Ajustes en formulario PHP

Estas en el tema de Ajustes en formulario PHP en el foro de PHP en Foros del Web. hola gente, a ver si alguien puede darme una mano con esto, que no consigo resolver... Tengo el siguiente formulario en un archivo PHP, que ...
  #1 (permalink)  
Antiguo 06/10/2015, 14:47
 
Fecha de Ingreso: marzo-2010
Mensajes: 63
Antigüedad: 14 años, 1 mes
Puntos: 4
Ajustes en formulario PHP

hola gente, a ver si alguien puede darme una mano con esto, que no consigo resolver...

Tengo el siguiente formulario en un archivo PHP, que vale la pena aclarar que es un "rejunte" de código y sugerencias con las que lo fui ajustando:

Código PHP:
        <?php 
        $action
=$_REQUEST['action']; 
        if (
$action=="")    /* display the contact form */ 
            

            
?>    
    <form  action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>#contact" method="POST" enctype="multipart/form-data" autocomplete="off"> 
    <input type="hidden" name="action" value="submit"> 
    <input name="name" type="text" value="" size="30" placeholder="Nombre" class="form-area" /><br> 
    <input name="email" type="text" value="" size="30" placeholder="e-Mail" class="form-area"/><br> 
    <input name="phone" type="text" value="" size="30" placeholder="Teléfono" class="form-area"/><br> 
    <textarea name="message" style="height:130px;" placeholder="Tu mensaje" class="form-area" /></textarea><br> 
    <input type="submit" value="Enviar" class="sendbtn"/> 
    </form> 
        
        <?php 
            
}  
        else
            { 
            
$name=$_REQUEST['name']; 
            
$email=$_REQUEST['email']; 
            
$message=$_REQUEST['message']; 
            if ((
$name=="")||($email=="")||($message=="")) 
                { 
                echo 
"<div class='error'>Por favor, completá todos los campos.</div><br />
                <a href=\"?dummy=$random#contact\"><img src='images/back.png' /></a>"

                } 
            else{         
                
$from="From: $name<$email>\r\nReturn-path: $email"
                
$subject="Contacto WEB";
                
mail("[email protected]"$subject$message$from);
                echo 
"<div class='ok'><b>Tu mensaje ha sido enviado<br />
                y pronto será respondido.</b><br /><br />
                Muchas gracias por contactarnos!</div>"

                } 
            }   
        
?>
y tengo una serie de requerimientos, a los que (luego de probar cientos de opciones) no consigo ajustar:

1.- Quiero que incluya los valores ingresados en los distintos campos, en el cuerpo del mensaje, para que llegue de la siguiente manera (o parecido):

Código HTML:
Nueva consulta WEB:
Nombre: "name"
e-Mail: "email"
Teléfono: "phone"
Mensaje: "message"
2.- Necesito hacer que me envíe el campo "phone" en el cuerpo del mensaje con el prefijo "Teléfono:" ... y no sé cómo agregarlo, ya que en el PHP no lo incluye!

3.- Cómo resuelvo el hecho de que "Ñandú"... me llega como "ñandú", en el e-mail que recibo?? Por lo que leí, entendí que se resolvería incluyendo un header que decodifique a UTF-8... pero no pude agregarlo, sin romper todo el php! =(


Alguien que se apiade de un noob!!??
Muchas gracias por adelantado!
=)
  #2 (permalink)  
Antiguo 07/10/2015, 03:10
 
Fecha de Ingreso: marzo-2010
Mensajes: 63
Antigüedad: 14 años, 1 mes
Puntos: 4
Respuesta: Ajustes en formulario PHP

nadie que pueda darme una mano?? =(
  #3 (permalink)  
Antiguo 08/10/2015, 01:25
 
Fecha de Ingreso: marzo-2010
Mensajes: 63
Antigüedad: 14 años, 1 mes
Puntos: 4
Respuesta: Ajustes en formulario PHP

Hablo solo... o escribiéndome a mi mismo (?)
y porque quizás le sirva a algún otro inexperto como yo, en algún momento!

Después de MUCHO ejercicio de prueba y error, conseguí resolver los puntos 1 y 2:

Punto 1:

Agregando
Código PHP:
Ver original
  1. $body .="Nuevo mensaje desde la web\n\nNombre: $name\ne-Mail: $email\nTelefono: $phone\nMensaje:\n\n $message";

y modificando
Código PHP:
Ver original
  1. mail("[email protected]", $subject, $message, $from);

por
Código PHP:
Ver original
  1. mail("[email protected]", $subject, $body, $from);


Punto 2:

modificando
Código PHP:
Ver original
  1. $name=$_REQUEST['name'];
  2. $email=$_REQUEST['email'];
  3. $message=$_REQUEST['message'];

por
Código PHP:
Ver original
  1. $name=$_REQUEST['name'];
  2. $email=$_REQUEST['email'];
  3. $phone=$_REQUEST ['phone'];
  4. $message=$_REQUEST['message'];


Lo que sigo sin poder resolver (y a punto de rendirme), es el punto 3: codificación del texto, que sigue enviando (x ej.) ÑANDÚ en vez de ÑANDÚ =(

Después MUCHAS vueltas y revisando el tema en distintos foros, entiendo que una opción sería agregar
Código PHP:
Ver original
  1. $headers .= "Content-Type: text/html; charset=UTF-8\n";
  2. $headers .= "Content-Transfer-Encoding: 8bit\n";

y modificar
Código PHP:
Ver original
  1. mail("[email protected]", $subject, $body, $from);

por
Código PHP:
Ver original
  1. mail("[email protected]", $subject, $body, $from, $headers);
(también probé variaciones en el orden)

pero lo único que conseguí, es que ya no me lleguen los envíos!

Seguiré probando y toqueteando algo más el código, pero creo que hasta acá me dejan llegar mis limitaciones... y agradecería sinceramente, que alguien pudiera echar algo de luz sobre el tema, porque no le encuentro la vuelta!
  #4 (permalink)  
Antiguo 08/10/2015, 06:47
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Ajustes en formulario PHP

Puedes probar con utf8_encode/decode para corregir dicho texto.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 08/10/2015, 09:44
 
Fecha de Ingreso: marzo-2010
Mensajes: 63
Antigüedad: 14 años, 1 mes
Puntos: 4
Respuesta: Ajustes en formulario PHP

@pateketrueke

gracias por responder!!

Probé tu sugerencia... "inventando" donde colocarlo y ayudándome con un ejemplo que encontré en otro sitio, pero la verdad es que no sé CÓMO ni DÓNDE colocar el utf8_decode (que según estuve, sería la opción a utilizar para el caso)

Si lo agrego dentro de $body (que sería donde se está armando el cuerpo de mi mensaje) sólo consigo que me ESCRIBA "utf8_decode"antes del texto y también probé ingresarlo para cada una de las variables, con el mismo resultado, tipo:

Código PHP:
utf8_encode(Nombre$namen
me está devolviendo (textual): utf8_encode(Nombre: JUAN)

Imagino que tiene que tiene que ver con DÓNDE lo ubico o con un tema de sintaxis... pero no consigo hacerlo funcionar =(
  #6 (permalink)  
Antiguo 08/10/2015, 09:55
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Ajustes en formulario PHP

¿Entonces no sabes usar funciones?

Código PHP:
Ver original
  1. $foo = 'el texto';
  2. $foo = utf8_decode($foo);
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 08/10/2015, 10:34
 
Fecha de Ingreso: marzo-2010
Mensajes: 63
Antigüedad: 14 años, 1 mes
Puntos: 4
Respuesta: Ajustes en formulario PHP

@pateketrueke

No sólo que no sé usar funciones... sino que NO TENGO IDEA DE PHP!

Estoy tratando de descular (como ya contara) un "rejunte" de código que fui haciendo... y buscando distintos recursos en la web, conseguí ajustarlo BASTANTE a lo que necesito hacer y usando únicamente, usando algo de lógica y sentido común, tratando de comprender de a una, cómo funcionan en el código!

A partir de lo que me pasás, entiendo que tendría que modificar (por ejemplo)

Código PHP:
Ver original
  1. $message=$_REQUEST['message'];

por algo así como:
Código PHP:
Ver original
  1. $message=$_REQUEST[utf8_decode('message')];

(que ya probé y no funciona)
por lo que seguramente, lo esté metiendo mal... cometiendo algún HORROR de sintaxis!
  #8 (permalink)  
Antiguo 08/10/2015, 10:35
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Ajustes en formulario PHP

Pues...

Código PHP:
Ver original
  1. // MAL
  2.     $message=$_REQUEST[utf8_decode('message')];
  3.  
  4. // BIEN
  5.     $message=utf8_decode($_REQUEST['message']);

De verdad, es mejor que te des un tiempo de aprender cosas básicas, de otro modo seguirás perdido.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #9 (permalink)  
Antiguo 08/10/2015, 11:27
 
Fecha de Ingreso: marzo-2010
Mensajes: 63
Antigüedad: 14 años, 1 mes
Puntos: 4
Respuesta: Ajustes en formulario PHP

@pateketrueke

va perfecto!! MIL GRACIAS POR TU APORTE!

De verdad, que "estoy aprendiendo" y JUSTAMENTE, de eso se trata!
Sé que lo estoy haciendo del modo difícil... a prueba y error, pero es lo que hay! jejejejeee

MUCHAS GRACIAS!

Etiquetas: formulario, html
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:01.