Formulario web

HTML, CSS, PHP, JavaScript, Java... tus dudas por aquí...
Responder
norpat
Nivel 2
Mensajes: 49
Registrado: 07 Abr 2010, 08:43
Twitter: @
Ubicación: Norte de la Patagonia Argentina

Formulario web

Mensaje por norpat »

Hola. Primero decir que desde hace unos dias encuentro medio raro el foro. La alineación a la derecha, el link de "ver temas activos" no muestra ningún tema, no se si me pasa a mi nomás.
Va la consulta. Tengo un formulario web con php. Funciona todo perfecto, pero al recibir esos mails en la casilla las palabras que tienen tilde se ven de esta manera:
cuando nos envía el mail toma la dirección Por dónde le meto mano ?
pac-man
Nivel 2
Mensajes: 24
Registrado: 10 May 2009, 21:42

Re: Formulario web

Mensaje por pac-man »

Averigua sobre los <meta http-equiv="Content-Type"

Saludos!
Avatar de Usuario
Usuario bien anónimo
Nivel 4
Mensajes: 240
Registrado: 08 May 2009, 00:43
Ubicación: Zona Sur, Gran Buenos Aires, Argentina
Contactar:

Re: Formulario web

Mensaje por Usuario bien anónimo »

norpat escribió:Hola. Primero decir que desde hace unos dias encuentro medio raro el foro. La alineación a la derecha, el link de "ver temas activos" no muestra ningún tema, no se si me pasa a mi nomás.
Usás Opera? Qué versión? A mí me pasa sólo en Opera.
norpat
Nivel 2
Mensajes: 49
Registrado: 07 Abr 2010, 08:43
Twitter: @
Ubicación: Norte de la Patagonia Argentina

Re: Formulario web

Mensaje por norpat »

Acá en la oficina tengo IE8. Lo raro es que antes lo veía bien.
Gracias Pac-man, voy a esperar a ElQuique por las dudas a ver que dice.
Avatar de Usuario
Alejandro
Administrador
Mensajes: 4111
Registrado: 04 May 2009, 18:28
Twitter: @spamloco
Ubicación: Uruguay
Contactar:

Re: Formulario web

Mensaje por Alejandro »

Es un tema de codificación de caracteres, como comenta pac-man.

:arrow: Fijate si este ejemplo en código que comentan por acá te sirve.
:arrow: O este otro (mirá quién le responde) :lol:

Sobre la opción "ver temas activos", lo voy a chequear... hace unos día estuve actualizando el foro y el theme, agregué algunos cambios como la caja de "Respuesta Rápida" que aparece abajo (mejor que la de antes), mejor captcha en el registro para evitar los bots spam que me estaban atomizando, etc.

Así que seguro es por eso, voy a revisar. Uso Chrome y tampoco me aparece nada en esa opción. Si notan algún otro error agradezco el aviso.
norpat
Nivel 2
Mensajes: 49
Registrado: 07 Abr 2010, 08:43
Twitter: @
Ubicación: Norte de la Patagonia Argentina

Re: Formulario web

Mensaje por norpat »

Ale, probé con Firefox en otra pc y la alineación se ve ok. Debe ser el IE8 muy cargado de cenizas volvánicas.
Muy buenos los datos que me pasaste, en un rato voy a probar tocar por ese lado.
Los temas activos no aparecen.
norpat
Nivel 2
Mensajes: 49
Registrado: 07 Abr 2010, 08:43
Twitter: @
Ubicación: Norte de la Patagonia Argentina

Re: Formulario web

Mensaje por norpat »

Gracias Ale por el link que me pasaste. Para que quede escrito cómo lo solucioné, fué cambiando una línea en el código por esta otra:
charset=iso-8859-1\Content-Transfer-Encoding: 8bit");

También le agrequé, para que al recibir el correo-e me indique la fecha y la hora en que fué enviado el formulario. Funciona bien. Me hubiese gustado que me diga la dirección IP de quien escribió. Para eso pongo esta línea de código en el php:
$contenido .= "Usuario IP : ".$_SERVER["REMOTE_ADDR"]."\r\n";
Pero me devuelve la IP del servidor donde está alojada la página. Alguna idea ?

Estoy en la pc de casa, en IE8 se ve el foro alineado a la derecha y con Firefox se ve bien. Qué problema el IE ! cómo hace perder tiempo no ?

Envío cenizas a domicilio si alguien quiere.
Avatar de Usuario
Alejandro
Administrador
Mensajes: 4111
Registrado: 04 May 2009, 18:28
Twitter: @spamloco
Ubicación: Uruguay
Contactar:

Re: Formulario web

Mensaje por Alejandro »

Gracias por comentar la solución de los caracteres.

Sobre la IP del formulario, creo que sería así.

En el PHP pone esto:

$ip = REMOTE_ADDR;

Y luego en el HTML llamas a esa variable, por ejemplo:

IP persona: $ip

p/d: sobre la alineación, ya quedó arreglado. Al menos ahora en Opera lo veo bien y desde IE8 en un XP también. Si sigue mal, avisame por favor.

Actualizo: ya quedó arreglado lo de Temas activos :grindance:
Última edición por Alejandro el 18 Jun 2011, 21:37, editado 1 vez en total.
Razón: Temas activos
norpat
Nivel 2
Mensajes: 49
Registrado: 07 Abr 2010, 08:43
Twitter: @
Ubicación: Norte de la Patagonia Argentina

Re: Formulario web

Mensaje por norpat »

Gracias Alejandro. Voy a probar.

pd: Ahora se ve bien la alineación. No está funcionando el link de "temas activos". En realidad funciona, pero no muestra ningún tema activo.
Avatar de Usuario
elQuique
Moderador
Mensajes: 2227
Registrado: 05 May 2009, 18:43
Twitter: @elQuique
Ubicación: Florida, Uruguay
Contactar:

Re: Formulario web

Mensaje por elQuique »

El tema de los caracteres raros se da cuando los archivos fuentes PHP vs el HTML (generado o estatico) mostrado en el navegador vs la codificación de la base de datos está diferente o peor aun no tiene nada especificado.

a) En Entornos de Desarrollo como Eclipse o Aptana Studio o NetBeans al crear el proyecto te deja indicar en que codificación estan los archivos fuente PHP, o si era algo pre exitente puedes cambiarle la codificación.

Lo mismo se puede en otros editores como NotePad++.

b) En cuanto a la presentación del HTML debes indicarle

Código: Seleccionar todo

<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
, donde UTF-8 es la codificación y obviamente puede ser otra como la iso-8859-1.

c) En cuanto a la base de datos al instalar el server, o al crear la base y o al crear las tablas especificas la codificación.

Obviamente las tres cosas a) b) c) deben tener la misma codificación, en cuanto a esto en el Etandar de Zend (creadores de PHP), indican que se debe usar utf-8 y esa deberia ser la elegida de todos hoy día. Igualmente muchas librerias o CMS ya vienen con otra como la iso-8859-1 que también es de la más usada.

Con respecto a la IP del visitante ya te dijeron se obtiene del Array $_SERVER especificando REMOTE_ADDR o sea:

Código: Seleccionar todo

$_SERVER["REMOTE_ADDR"]
y tienes más parámetros interesantes acá: $_SERVER
norpat
Nivel 2
Mensajes: 49
Registrado: 07 Abr 2010, 08:43
Twitter: @
Ubicación: Norte de la Patagonia Argentina

Re: Formulario web

Mensaje por norpat »

Muchas gracias Jorge.
Muy completo lo tuyo, como siempre. Ya había leido el post que me pasó Alejandro en el que vos respondías (juro que había buscado pero no lo había visto)

Para Alejandro, el foro está funcionando muy bien ahora (incluyendo el link "temas activos")

Saludos
Avatar de Usuario
Alejandro
Administrador
Mensajes: 4111
Registrado: 04 May 2009, 18:28
Twitter: @spamloco
Ubicación: Uruguay
Contactar:

Re: Formulario web

Mensaje por Alejandro »

Hoy lo tuve que hacer en un formulario, el código sería así, por si a alguno no le sale:

$ip = $_SERVER['REMOTE_ADDR'];

Y en el mensaje que llega se llama la variable, por ejemplo:

IP: ".$ip."

Por cierto, si miran arriba de todo podrán ver su IP :cop9:
norpat
Nivel 2
Mensajes: 49
Registrado: 07 Abr 2010, 08:43
Twitter: @
Ubicación: Norte de la Patagonia Argentina

Re: Formulario web

Mensaje por norpat »

Ajá. Voy a seguir probando. Vos almacenás las IP que te visitan ?
Yo agradecí la buena voluntad tuya y de Jorge, pero no seguí insistiendo porque hay temas que exceden mi conocimiento y debería ponerme a estudiar primero. Pero entiendo que para hacer lo que yo pretendía debo crear una base de datos que me almacene las ip, para que luego me las envíe junto con el formulario. Si yo pongo ese código en la página que contiene el formulario, sencillamente me llega el mail con la ip del servidor donde está alojada la página (todas las ip iguales...). Tengo que hacerme tiempo para ponerme a estudiar...
Avatar de Usuario
Alejandro
Administrador
Mensajes: 4111
Registrado: 04 May 2009, 18:28
Twitter: @spamloco
Ubicación: Uruguay
Contactar:

Re: Formulario web

Mensaje por Alejandro »

No necesitas la base de datos, el último código que puse te muestra la IP del que envía el formulario. Si quieres pega el código del formulario para ver cómo es.
Avatar de Usuario
elQuique
Moderador
Mensajes: 2227
Registrado: 05 May 2009, 18:43
Twitter: @elQuique
Ubicación: Florida, Uruguay
Contactar:

Re: Formulario web

Mensaje por elQuique »

Si tomamos de ejemplo el tutorial de enviar formulario de contacto con PHP que hice algún tiempo atrás (cuando era joven) te indico donde agregar para que llegue la IP al email:

Código: Seleccionar todo

$nombre = $_POST['nombre'];
$mail = $_POST['mail'];
$empresa = $_POST['empresa'];

$header = 'From: ' . $mail . " \r\n";
$header .= "X-Mailer: PHP/" . phpversion() . " \r\n";
$header .= "Mime-Version: 1.0 \r\n";
$header .= "Content-Type: text/plain";

$mensaje = "Este mensaje fue enviado por " . $nombre . ", de la empresa " . $empresa . " \r\n";
$mensaje .= "Su e-mail es: " . $mail . " \r\n";
$mensaje .= "Mensaje: " . $_POST['mensaje'] . " \r\n";
$mensaje .= "Enviado el " . date('d/m/Y', time());

// Acá le agregas al mensaje la IP
$mensaje .= "IP: " . $_SERVER['REMOTE_ADDR'];

$para = 'info@tusitio.com';
$asunto = 'Contacto desde Taller Webmaster';

mail($para, $asunto, utf8_decode($mensaje), $header);
o sea la línea

Código: Seleccionar todo

$mensaje .= "IP: " . $_SERVER['REMOTE_ADDR'];
que con .= agregas al mensaje cargado en la variable $mensaje justamente un comentario IP: y la variable citada $_SERVER['REMOTE_ADDR'] que contiene la IP remota o sea del usuario que ejecuto el script o sea el que envió el formulario de contacto.

Ahí en el tutorial tienes para armar el formulario en HTML o Flash también por si necesitas.
norpat
Nivel 2
Mensajes: 49
Registrado: 07 Abr 2010, 08:43
Twitter: @
Ubicación: Norte de la Patagonia Argentina

Re: Formulario web

Mensaje por norpat »

Les pido perdón por no haber contestado antes, pero no he tenido tiempo aún de sentarme a probar lo que me ha explicado Jorge, que por cierto es muuuuy claro. Les voy agradeciendo de antemano y seguramente el pxo fin de semana me haré un tiempito para probarlo y les cuento luego cómo me fué.
Muchas gracias a ambos ! Jorge: viejos son los trapos (dice el dicho). Si vos estás viejo qué queda para mi ? (47 !)
Responder