Web Forms???

PHP, Java, JavaScript, XML, XHTML, HTML, CSS, ASP, Delphi, Assembly, LaTeX, C, UML, Flash, Perl, SQL, Python, Zope, Pascal, WML. Se conhece mais de 3 siglas referidas, este é o forum para si.

Moderadores: Administradores, Moderadores

Web Forms???

Mensagempor Frost » Sábado Mar 19, 2005 3:00

Boas,

Alguem sabe como enviar o conteudo de textboxes de um formulario para um determinado email , isto sem ter de abrir o outlook

:(
******** Frost ***********
Frost
Membro de Prata
Membro de Prata
 
Mensagens: 362
Registado: Quinta Set 23, 2004 10:11
Localização: Açores - Faial

Mensagempor Speed Dragon » Sábado Mar 19, 2005 4:14

Acho que tens que enviar atravez de um servidor SMTP, procura no forum que já houve resposta a isso.

Cumprimentos,
David Magalhães
... Then a japanese tuning company spend a 150.000£ on the engine ...
... so now develops a 1.000 Break Horse Power!
... Not to 60Mph, in 2.8 seconds, Not to 190Mph in 12 seconds ... Top Speed 234Mph!
... Semtex with a Steering Wheel!
Speed Dragon
Moderador
Moderador
 
Mensagens: 5186
Registado: Sexta Mai 23, 2003 15:36
Localização: Lobão - Sª Mª da Feira > FEUP

Mensagempor Mr_CyBeRdOc » Sábado Mar 19, 2005 23:29

Só precisas de um servidor com suporte php e o código certo, podes ainda escolher o endereço de e-mail que queres associar às textboxes/formulário consoante a opção escolhida por quem o preencheu, tipo alguém escolhe "informações" no formulário e o mail vai seguir para "informações@mailserver.com"; se escolher "serviços" vai para "serviços@mailserver.com", só para exemplificar aqui fica +/- o que tens de fazer, depois vais ter de alterar umas coisas e se quiseres adicionar uma linha de código para detectar se o endereço de mail é válido ou não.

Na página onde vais ter o formulário tens de ter lá uma tabela com as textboxes onde por exemplo podes ter isto:
<table width="427" border="0" align="center" class="corpo">
<form name="form1" method="post" action="página_que_processa_e_envia_os_dados_para_o_mail.php">
<tr>
<td width="70"><span class="style33 style34"><strong>Name:</strong></span></td>
<td width="347">
<input name="name" type="text" class="form" id="name" size="40" maxlength="55">
</td>
</tr>
<tr>
<td><span class="style33 style34"><strong>E-mail:</strong></span></td>
<td><input name="email" type="text" class="form" id="email" size="40" maxlength="125"></td>
</tr>
<tr>
<td><span class="style33 style34"><strong>Country:</strong></span></td>
<td><input name="country" type="text" class="form" id="assunto" size="35" maxlength="95"></td>
</tr>
<tr>
<td><span class="style33 style34"><strong>Option:</strong></span></td>
<td><select name="option" id="option" class="form">
<option value="null" selected>Escolha uma opção.</option>
<option value="Opção1">Opção1</option>
<option value="Opção2">Opção2</option>
<option value="Opção3">Opção3</option>
</select></td>
</tr>
<tr>
<td><div align="justify">
<p class="style33 style34"><strong>Mensagem: </strong></p>
<p class="style35">(Preencher só no caso de escolher a opç~
ao x) </p>
<span class="style33"> </span></div></td>
<td><textarea name="Mensagem" cols="50" rows="5" class="form" id="mensagem"></textarea></td>
</tr>
<tr>
<td>&nbsp;</td>
<td>
<div align="left">
<input name="reset" type="reset" id="reset" value="Reset" class="form">
<input name="submit" type="submit" id="submit" value="Submit" class="form">
</div></td>
</tr>
</form>
</table>


Depois terás de ter outra página que não pode ser a mesma, que vai "processar" os dados e enviá-los para a caixa de mail correspondente à opção escolhida, lá terás de ter algo como isto:

<body>
<?
// Receiving values from main page and setting variables
$name = $_POST['name'];
$email = $_POST['email'];
$country = $_POST['country'];
$message = $_POST['message'];
$option = $_POST['option'];

// Checking blank fields..
if(($name == NULL) || ($email == NULL) || ($country == NULL)):
?>
<!-- Returning to main page -->
<p>
<script language="JavaScript">
alert('Blank Fields, please check them out');
location.href='página_onde_o_formulário_foi_preenchido.html';
</script>
<?
exit;
endif;
// Pre-formatting data...

// Configuring (<br>) in each line/field $message that the user filled ...
$msg = nl2br($message);
// Leaving first letter of users name in Caps...
$name = ucfirst($name);
// If everything fine untill this point, option will be selected so as the e-mail address!
if($option == 'Opção1'):
$para = 'email1@mailserverl.com';
elseif($option == 'Opção2'):
$para = 'email2@mailserver.com';
elseif($option == 'Opção3'):
$para = 'email3@mailserver.com';
else:
$para = 'erro';
endif;
// Now it will check for errors in the selection of an option:
if($para == 'erro'):
?>
<script language="JavaScript">
alert('Sorry ... Select an option !');
location.href='página_onde_o_formulário_foi_preenchido.html';</script>
<?
exit;
endif;
// Checking email fields...
$texto = "Título <br />";
$texto .= date("d/m/Y - H:i");
$texto .= "<br />Data sent to you:<br />";
$texto .= " Name ".$name."<br />";
$texto .= " Country: ".$country."<br />";
$texto .= " E-mail: ".$email."<br />";
$texto .= " Option: ".$option."<br />";
$texto .= " Message: ".$Message."<br />";
$texto .= $msg;

// formating headers (mail headers)
$header = "MIME-Version: 1.0rn";
$header .= "Content type: text/html; charset=iso 8859-1rn";
$header .= "FROM: < $email >rn";

// Finally ...
// Sends mail to the choosen address...
mail($para,$assunto,$texto,$header);
?>
<!-- After email sent... -->
<script language="JavaScript">alert('Your information was sent, if its everything right, it will be added to the respective page soon!');
location.href='página_onde_o_formulário_foi_preenchido.html';</script>
</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p align="center">&nbsp;</p>
<p align="center">
<!-- now returns to main page ... -->
<!-- PHP written by Jorge Mota -->
</p>
</body>


Como te deves ter apercebido aqui as textboxes eram: Name, Country, e-mail, option, message ...
Desculpa metade estar em Inglês e outra metade em PT, mas eu tirei este exemplo de um site que construi em Inglês só alterei umas quantas coisas para PT para ser mais simples a compreensão ... qualquer dúvida diz. Espero ter ajudado qualquer coisa.

Cumps,
Mr_CyBeRdOc
Membro Vitalício
Membro Vitalício
 
Mensagens: 1777
Registado: Sexta Nov 01, 2002 17:18
Localização: Somewhere out there

Mensagempor Frost » Segunda Mar 21, 2005 12:51

Obrigado pela ajuda!
Neste momento não posso meter o site online, e não tenho maneira de testar se o formulario esta a mandar o mail..

Cyberdoc, adaptei o teu código ao meu e gerou algo assim:
contactos.htm
<form name="Contactos" id="frmContactos" method="post" action="contactos.php">
<tr>
<td class="s_1">Email</td>
<td class="s_2"><input type="text" id="txtEmail"></td>
</tr><tr>
<td class="s_1">Assunto</td>
<td class="s_2"><input type="text" id="txtAssunto"></td>
</tr><tr>
<td class="s_1">Mensagem</td>
<td class="s_2"><textarea id="txtMensagem" rows="9"></textarea></td>
</tr><tr>
<td colspan="2" class="sButtons"><input type="submit" value="Enviar" id="btnSubmit"></tr>
</form>


contactos.php

<?
$email = $_POST['txtEmail'];
$assunto = $_POST['txtAssunto'];
$mensagem = $_POST['txtMensagem'];

if(($email == NULL) || ($mensagem == NULL) || ($assunto == NULL)):
?>
<p>
<script language="JavaScript">
alert('Preencha todos os campos');
location.href='contactos.htm';
</script>
<?
exit;
endif;

$msg = nl2br($mensagem);

$para = 'frost@bragatel.pt';

$texto = "Título <br />";
$texto .= date("d/m/Y - H:i");
$texto .= "<br />Data sent to you:<br />";
$texto .= " Email ".$email."<br />";

$texto .= " Assunto: ".$assunto."<br />";
$texto .= " Mensagem: ".$Mensagem."<br />";
$texto .= $msg;

$header = "MIME-Version: 1.0rn";
$header .= "Content type: text/html; charset=iso 8859-1rn";
$header .= "FROM: < $email >rn";

mail($para,$texto,$header);
?>

<script language="JavaScript">
alert('Mensagem enviada com sucesso');
location.href='contactos.htm';</script>
</p>


Consegues identificar algo mal?
******** Frost ***********
Frost
Membro de Prata
Membro de Prata
 
Mensagens: 362
Registado: Quinta Set 23, 2004 10:11
Localização: Açores - Faial


Voltar para Programação

Quem está ligado:

Utilizadores a ver este Fórum: Nenhum utilizador registado e 2 visitantes

cron