سوال در مورد فرم ارتباط با کاربر(از طریق ارسال ایمیل)

sohora

New Member
سلام دوستان نمیدونم زدن این تاپیک اینجا درسته یا خیر ولی من بنا به ضرورت مجبور شدم این کار رو بکنم راستش من و یکی از دوستانم در حال طراحی یک وب سایت هستیم و برای قسمت ((ارتباط با ما)) در نظر داشتیم از یکی از مقاله های این سایت به نام فرم ارتباط با کاربر فرستادن ایمیل استفاده کنیم ولی متاسفانه بعد از آپ کردن سایت جواب نگرفتیم یعنی ابتدا که ایمیل مورد نظر فرستاده میشد ولی خالی بود یعنی اطلاعات فرم پر شده نمیومد بعدش هم که به کلی هر جوری امتحان کردیم اصلا عمل نکرد.
راستش خوشحال میشم اگه شما دوستان بتونید کمکم کنید و بگید مشکل از چیه و اگر هم راهکار بهتری برای صحه ی ارتباط با ما دراید خیلی خیلی ممنون میشم که به ما کمک کنید .
ایمل من هست:[email protected]
 
آخرین ویرایش:

mosyhey

Member
اول از همه بگویید از کدام زبان و کدام کد برای این کار استفاده کرده اید؟
یکی از راه های صفحه ارتباط با ما همین ایمیل زدن است. راه بسیار مطمین دیگرش ثبت در یک دیتابیس یا فایل متنی در خود سایت است که توسط مدیر بایستی چک شود ولی چون چک کردن ایمیل کار متداول و معمولی است این روش بیشتر طرفدار دارد. می توان از ترکیبی از این دو روش هم استفاده کرد.
 

sohora

New Member
با سلام دوباره و ممنون از اینکه به حرفهای من توجه کردید.
خب این فرم از دو صفحه ی html و یه موتور php ساخته میشه در مورد راه دیگه ای هم که گفتید اگه کمی بیشتر توضیح بدید فوق العاده ممنون میشم چون راستش من آماتور هستم و هنوز کار با دیتابیس رو بلد نیستم.
با تشکر
 

echessdesign

مدیر انجمن طراحی وب
درود بر شما
ورود شما رو به فرم مجید آنلاین خوش آمد می گم.
شما باید نام تایپیک رت متناسب با سوال خود مطرح کنید.
Report Bad Post
 

mosyhey

Member
با سلام.
آیا فضایی که شما از اینترنت گرفته اید از زبان asp نیز پشتیبانی می کند. چون من این زبان را بلدم و خواهم توانست به شما کمک کنم.
 

sohora

New Member
بله از این زبان پشتیبانی میکنه خیلی ممنون میشم اگه بتونید کمکمون کنید.
 

mosyhey

Member
بسیار خوب؛ ابتدا شما بگویید فرم شما از چه اجزایی تشکیل شده یا کد آن را اینجا بگذارید تا برای آن کدی بنویسیم.
 

sohora

New Member
mosyhey عزیز من هنوز بی صبرانه منتظره شنیدن پاسخ شما هستم خوشحال میشم کمکمون کنید.
 

mosyhey

Member
با عرض پوزش از اینکه دیر شد.
اول از همه شما بایستی بتوانی صفحات asp را ویرایش کنید یا بسازی. می توانی کد ها را در فایل متنی نوتپد بنویسید و سپس پسوند آنها را asp. کنی یا اینکه برای ویرایش آن ها را در فایل متنی نوتپد باز کنی.
شما بایستی یک صفحه داشته باشی به نام contact.asp که مانند همان صفحه mail.html خودتان ولیکن چند خط باید به آن اضافه کنید که خطوط شروعش اینگونه بایستی شود:
کد:
<%@LANGUAGE="VBSCRIPT" CodePage=65001%>
<%Option Explicit%>
<%Session.CodePage="65001"%>
<html>

<head> 

<title> Mail Motor ::...</title> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script language="JavaScript"> 
<!-- 
function CheckForm(formID) { 
 if (formID.name.value == "") { alert("Please enter your name!"); formID.name.focus(); return false; } 
 if (formID.email.value == "") { alert("Please enter your email address!"); formID.email.focus(); return false; } 
 if (formID.message.value == "") { alert("Please enter your message!"); formID.message.focus(); return false; } 
 return true; 
} 
//--> 
</script> 

</head>
در این صفحه یک فرم هست که کاربر آن را پر می کند و به صفحه motor.asp می فرستد. آن صفحه دو کار انجام می دهد اول اطلاعات تماس را در دیتابیس اکسس که در فولدر database است اضافه می کند و سپس یک ایمیل به شما می فرستد. شما باید در این صفحه به جای [email protected] ایمیل خودتان را قرار دهید مابین دو کوتیشن. بعد از اضافه کردن اطلاعات به دیتابیس و فرستادن ایمیل کاربر را به صفحه thanks.html می فرستد.
کد صفحه motor.asp:
کد:
<%@LANGUAGE="VBSCRIPT" CodePage=65001%>
<%Option Explicit%>
<%Session.CodePage="65001"%>

<SCRIPT LANGUAGE=vbscript RUNAT=Server>
Function mailcorrector(matn2)
Dim mabo_cont
Dim matn3
matn3=""
For mabo_cont=1 to Len(matn2)
	matn3=matn3 & "&#" & Ascw(Mid(matn2,mabo_cont,1)) & ";"
Next
mailcorrector=matn3
End Function
</SCRIPT>

<%
'########## in ghesmat baraye darje fom dar database mibashad. ##########
Dim oconn
Dim ors
Dim filepath
filepath=Server.MapPath("database/contact.mdb")
Set oconn=Server.CreateObject("ADODB.Connection")
oconn.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & filePath

Set ors=oconn.Execute("SELECT ID from contact_tbl")
Dim sql2_str
sql2_str="'" & Request.Form("name") & "','" & Request.Form("family") & "','" & Request.Form("company") & "','" & Request.Form("phone") & "','" & Request.Form("select") & "','" & Request.Form("chek1") & "','" & Request.Form("chek2") & "','" & Request.Form("chek3") & "','" & Request.Form("radio") & "','" & Request.Form("email") & "','" & Request.Form("website") & "','" & Request.Form("message") & "'"
oconn.Execute "INSERT INTO contact_tbl (name_fld,family_fld,company_fld,phone_fld,select_fld,check1_fld,check2_fld,check3_fld,radio_fld,email_fld,website_fld,message_fld) VALUES (" & sql2_str & ")"

ors.close
oconn.close
Set ors=Nothing
Set oconn=Nothing
%>

<%
'########## in ghesmat baraye ettelarasani be email mibashad ##########
Dim objMail
Dim objConf
Dim objFields
Dim mailto_txt
Dim mailfrom_txt
Dim mailsubject_txt
Dim mailserver_txt
Dim mailbody_txt
mailto_txt="[email protected]"
mailfrom_txt="[email protected]"
mailsubject_txt="New Contact"
mailserver_txt="127.0.0.1"
mailbody_txt="Hello"
mailbody_txt=mailbody_txt & vbCrLf & "You have new contact in your site:"
mailbody_txt=mailbody_txt & vbCrLf & "Name: " & mailcorrector(Request.Form("name"))
mailbody_txt=mailbody_txt & vbCrLf & "family: " & mailcorrector(Request.Form("family"))
mailbody_txt=mailbody_txt & vbCrLf & "company: " & mailcorrector(Request.Form("company"))
mailbody_txt=mailbody_txt & vbCrLf & "phone: " & mailcorrector(Request.Form("phone"))
mailbody_txt=mailbody_txt & vbCrLf & "select: " & mailcorrector(Request.Form("select"))
mailbody_txt=mailbody_txt & vbCrLf & "check1: " & mailcorrector(Request.Form("chek1"))
mailbody_txt=mailbody_txt & vbCrLf & "check2: " & mailcorrector(Request.Form("chek2"))
mailbody_txt=mailbody_txt & vbCrLf & "check3: " & mailcorrector(Request.Form("chek3"))
mailbody_txt=mailbody_txt & vbCrLf & "radio: " & mailcorrector(Request.Form("radio"))
mailbody_txt=mailbody_txt & vbCrLf & "email: " & mailcorrector(Request.Form("email"))
mailbody_txt=mailbody_txt & vbCrLf & "website: " & mailcorrector(Request.Form("website"))
mailbody_txt=mailbody_txt & vbCrLf & "message: " & mailcorrector(Request.Form("message"))

Set objMail=Server.CreateObject("CDO.Message")
Set objConf=Server.CreateObject("CDO.Configuration")
Set objFields=objConf.Fields
With objFields
	.Item("http://schemas.microsoft.com/cdo/configuration/sendusing")=2
	.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver")=mailserver_txt
	.Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout")=10
	.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport")=25
	.Update
End With
With objMail
	Set .Configuration=objConf
	.From=mailfrom_txt
	.To=mailto_txt
	.Subject=mailsubject_txt
	.TextBody=mailbody_txt
End With
Err.Clear
On Error Resume Next
objMail.Send

Set objFields=Nothing
Set objConf=Nothing
Set objMail=Nothing
%>

<%
Response.Redirect("thanks.html")
%>
فایل زیپ زیر را دریافت کنید و آن را آنزیپ کنید و محتویات را روی سرور قرار دهید. توجه کنید که از کنترل پنل سایتتان پرمیشن فولدر database را به خواندنی و نوشتنی یا فول کنترل تغییر دهید. برای تنظیم پرمیشن هر فولدر روی قفل زرد رنگی که معمولاً جلوی نام هر فولدر می آید کلیک کنید که عکس آن را در زیر گذاشته ام.
پس از این کار ها ببینید آیا این کد به درستی ایمیل ارسال می کند یا نه تا به قسمت خواندن تماس ها از دیتابیس برسیم که بعداً می گویم.
 

پیوست ها

  • contact.zip
    15.7 کیلوبایت · بازدیدها: 18
  • permission_plesk.gif
    permission_plesk.gif
    11.4 کیلوبایت · بازدیدها: 7

جدیدترین ارسال ها

بالا