2014-01-11 5 views
0

나는 문의 양식이있는 웹 사이트가 있습니다문의 양식 오류

index.html 

<form id="form" action="contact.aspx" method="POST"> 
<p><label>Your Name</label><input name="nome" type="text"></p> 
<p><label>Your Email</label><input name="email" type="text"></p> 
<p><label>Your Message</label><textarea name="mensagem"></textarea></p> 
<p><input name="submit" type="submit" value="Submit"> 
</form> 

이 형태는 asp.net 페이지를 요청 (contact.aspx를)

<%@ page language="C#" %> 
<%@ Import Namespace="System.Net.Mail" %> 
<%@ Import Namespace="System.Net" %> 
<%@ Import Namespace="System.Text" %> 

<% 
MailMessage objEmail = new MailMessage(); 
objEmail.From = new MailAddress("[email protected]"); 
objEmail.To.Add("[email protected]"); 
objEmail.Priority = MailPriority.Normal; 
objEmail.IsBodyHtml = true; 
objEmail.Subject = "Mysubject"; 
objEmail.Body = "Mycontent"; 
SmtpClient objSmtp = new SmtpClient(); 
objSmtp.Host = "localhost"; 
objSmtp.Credentials = new NetworkCredential("[email protected]", "mypassword"); 
objSmtp.Send(objEmail); 
%> 

사람이 문의 양식을 사용하여, 이메일을받을 수 있습니다. 그러나 주제에 관해서는 "Mysubject"로만 나타나며 본문에는 "Mycontent"로만 표시됩니다. 사용자가 양식에 입력 한 데이터를 수신하려면 무엇을 변경해야합니까?

답변

1

Request.Form에 게시 된 데이터를 이름으로 찾아야합니다. 코드는 다음과 같아야합니다.

<%@ page language="C#" %> 
<%@ Import Namespace="System.Net.Mail" %> 
<%@ Import Namespace="System.Net" %> 
<%@ Import Namespace="System.Text" %> 

<% 
MailMessage objEmail = new MailMessage(); 
objEmail.From = new MailAddress("[email protected]"); 
objEmail.To.Add("[email protected]"); 
objEmail.Priority = MailPriority.Normal; 
objEmail.IsBodyHtml = true; 
objEmail.Subject = Request.Form["subject"]; 
objEmail.Body = Request.Form["mensagem"]; 
SmtpClient objSmtp = new SmtpClient(); 
objSmtp.Host = "localhost"; 
objSmtp.Credentials = new NetworkCredential("[email protected]", "mypassword"); 
objSmtp.Send(objEmail); 
%> 

html에 "subject"필드가 누락되었습니다. 귀하의 마크 업은 다음과 같아야합니다 :

+1

그는 또한 사용자의 이름이나 이메일을 캡처하지 않는 것처럼 보입니다. –