Ir ao conteúdo
  • Cadastre-se
Entre para seguir isso  
jvmb128

Dúvida em criação de form com textbox que aceite caracteres especiais

Recommended Posts

Prezados,

sou novo no forum e na criação de websites, então me desculpem por qualquer besteira que for dita por mim. Pois não será por ignorância, mas sim por vontade de aprender.

Vamos lá.

Criei um site, onde uma das páginas em html, está relacionada ao envio de menságens através de uma "form" ligada a uma página em php.

A dúvida é a seguinte, como faço para que o "editbox1" (que se trata do campo "nome" da form) aceite caractéres especiais, como acentos.

Pois da forma que está o código, quando a mensagem é enviada para o email, as letras com acento, não aparecem.

Gostaria de saber como faço para corrigir este problema.

Ai estão os códigos.

Código da página HTML onde está a form.


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1252">
<title>UnamedSite</title>
<meta name="generator" content="">
<style type="text/css">
div#container

</style>
<script type="text/javascript">
<!--
function Validateorcamento(theForm)
{
var strFilter = /^[A-Za-zƒŠŒŽšœžŸÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ \t\r\n\f0-9-ã]*$/;
var chkVal = theForm.Editbox1.value;
if (!strFilter.test(chkVal))
{
alert("Please enter only letter, digit, whitespace and \"ã\" characters in the \"Editbox1\" field.");
theForm.Editbox1.focus();
return false;
}
return true;
}
//-->
</script>
</head>
<body>
<font style="font-size:16px" color="#000000" face="Arial"><b>Solicite seu orçamento</b></font></div>

<div id="wb_Form1" style="position:absolute;left:216px;top:400px;width:416px;height:267px;z-index:28">

<form name="orcamento" method="post" action="orcamentos.php" id="Form1" onsubmit="return Validateorcamento(this)">

<div id="wb_Text5" style="margin:0;padding:0;position:absolute;left:10px;top:17px;width:57px;height:14px;text-align:left;z-index:0;">

<font style="font-size:11px" color="#000000" face="Arial">Nome:</font></div>

<input type="text" id="Editbox1" style="position:absolute;left:77px;top:17px;width:238px;height:18px;border:1px #7F7F7F solid;font-family:Courier New;font-size:13px;z-index:1" name="Nome" value="" maxlength="80">


</div>
</body>

Código da página PHP


<?php
$mailto = "******************";
$subject = "Orcamento";
$message = "Values submitted from web site form:";
$header = "From: ".$_POST['email'];
foreach ($_POST as $key => $value)
{
if (!is_array($value))
{
$message .= "\n".$key." : ".$value;
}
else
{
foreach ($_POST[$key] as $itemvalue)
{
$message .= "\n".$key." : ".$itemvalue;
}
}
}
mail($mailto, $subject, stripslashes($message), $header);
?><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1252">
<title>Untitled Page</title>
<meta name="generator" content="">
<meta http-equiv="refresh" content="0; URL=./Orcamento.html">
<style type="text/css">
div#container

</div>
</body>

Compartilhar este post


Link para o post
Compartilhar em outros sites

sinceramente amigo.. antes de te ajudar... esse teu post é maçante demais de ler..

use a tag CODE que o forum oferece para preservar a identaçao do código.

horrivel de entender aquela parte entre o body.. tudo aglomerado

Compartilhar este post


Link para o post
Compartilhar em outros sites
sinceramente amigo.. antes de te ajudar... esse teu post é maçante demais de ler..

use a tag CODE que o forum oferece para preservar a identaçao do código.

horrivel de entender aquela parte entre o body.. tudo aglomerado

Caro amigo dif,

desculpe o inconveniente, realmente o post estava desarrumado, mas agora já fiz as modificações aconselhadas por você.

Espero que me ajude.

Desde já agradeço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara, simplemente tira aquele javascript dali e tira onsubmit do form.

pelo menos no meu qualquer caractere especial q eu digito , é aceito.

Compartilhar este post


Link para o post
Compartilhar em outros sites

amigo, refiz algumas coisas.. mudei e acrescentei.

usei a classe phpmailer. assim funcionou aqui e mandando pro email com acentos.


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1252">
<title>UnamedSite</title>
<meta name="generator" content="">
<style type="text/css">
h1{ font-family: arial; font-size: 16px; font-weight:bold; color: #000000;}
#wb_Text5{
margin: 0;
padding: 0;
width: 57px;
height: 14px;
text-align: left;
z-index: 0;
}

label {
font-size:11px;
color: #000000;
font-family: Arial;
}

#Editbox1{

border: 1px #7F7F7F solid;
font-family: Courier New;
font-size: 13px;
z-index: 1;
}

#Editbox2{

border: 1px #7F7F7F solid;
font-family: Courier New;
font-size: 13px;
z-index: 1;
}

</style>

</head>
<body>
<h1>Solicite seu orçamento</h1>

<div>
<form name="orcamento" method="post" action="orcamentos.php" id="Form1">
<div id="wb_Text5">
<label for="Editbox1">Nome:</label>
<input type="text" id="Editbox1" name="nome" maxlength="80"><br/>
<label for="Editbox2">email:</label>
<input type="text" id="Editbox2" name="email" maxlength="80"><br/>
<input type="submit" value="enviar"/>
</div>
</form>
</div>
</body>

Orcamentos.php


<?php
$mailto = "Seu_email@servidor.com";
$subject = "Orcamento";
$message = "Values submitted from web site form:";
$header = "From: ".$_POST['email'];
foreach ($_POST as $key => $value)
{
if (!is_array($value))
{
$message .= "\n".$key." : ".$value;
}
else
{
foreach ($_POST[$key] as $itemvalue)
{
$message .= "\n".$key." : ".$itemvalue;
}
}
}

//Instancia a classe phpmailer.php
require("classes/class.phpmailer.php");
$mail = new PHPMailer();

$mail->IsHTML(true);
$mail->SetLanguage("br");
$mail->isSMTP();
$mail->Port = 465;
$mail->Host = "smtp.gmail.com";
$mail->SMTPAuth = true;
$mail->SMTPSecure = "ssl";
$mail->Username = "[COLOR="Red"]seuLoginDOGmail[/COLOR]";
$mail->Password = "[COLOR="Red"]SuaSenhadoGmail[/COLOR]";
$mail->FromName = $header;
$mail->From = $mailto;
$mail->Subject = $subject;
$mail->Body = stripslashes($message);
$mail->AddAddress($mailto);

$enviado = $mail->send();

if ($enviado){
echo "<center>OK E-mail Enviado!</center>";
}else{
echo "Erro: Não foi possível enviar a mensagem.<br/>
$mail->ErrorInfo ";
}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora
Entre para seguir isso  





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×