PDA

View Full Version : سوال: مشکل فرم تماس با ما !



mraheli
سه شنبه 10 تیر 1393, 12:27 عصر
سلام به همه دوستان عزیز ...من یه فرم تماس با ما رو سایت دارم وقتی پیام رو مینویسم و ارسال میکنم و روی دکمه send کلیک میکنم پیام به ایمیل میره ولی پیغام تشکر رو نمایش نمیده و همونجوری میمونه و آدم فکر میکنه که پیام نرفته و فرم ارسال نشده !!
مشکل از چی میتونه باشه ؟!؟!
از دوستان خواهش میکنم راهنمایی بفرمایید ... ضروریه !

ممنون

کد PHP :




<?php
if(isset($_POST['email'])){

// CHANGE THE TWO LINES BELOW
$email_to="test@myemail.com";

$email_subject="website email";

functiondied($error){
// your error code can go here
echo"We're sorry, but there's errors found with the form you submitted.<br /><br />";
echo $error."<br /><br />";
echo"Please go back and fix these errors.<br /><br />";
die();
}

// validation expected data exists
if(!isset($_POST['name'])||
!isset($_POST['email'])||
!isset($_POST['message'])){
died('We are sorry, but there appears to be a problem with the form you submitted.');
}

$name=$_POST['name'];// required
$email_from=$_POST['email'];// required
$message=$_POST['message'];// required

$error_message="";
$email_exp='/^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/';
if(!preg_match($email_exp,$email_from)){
$error_message.='The Email Address you entered does not appear to be valid.<br />';
}
$string_exp="/^[A-Za-z .'-]+$/";
if(!preg_match($string_exp,$name)){
$error_message.='The Name you entered does not appear to be valid.<br />';
}
if(strlen($message)<2){
$error_message.='The message you entered do not appear to be valid.<br />';
}
if(strlen($error_message)>0){
died($error_message);
}
$email_message="Form details below.\n\n";

functionclean_string($string){
$bad=array("content-type","bcc:","to:","cc:","href");
returnstr_replace($bad,"",$string);
}

$email_message.="Name: ".clean_string($name)."\n";
$email_message.="Email: ".clean_string($email_from)."\n";
$email_message.="Message: ".clean_string($message)."\n";


// create email headers
$headers='From: '.$email_from."\r\n".
'Reply-To: '.$email_from."\r\n".
'X-Mailer: PHP/'.phpversion();
@mail($email_to,$email_subject,$email_message,$hea ders);


}
die();
?>





کد HTML :




<formaction="php/sendmail.php"id="contactform"type="post">
<divclass="row controls">
<divclass="span3 control-group">
<label>Your name *</label>
<inputtype="text"value=""maxlength="100"class="span3"name="name"id="name">
</div>
<divclass="span3 control-group">
<label>Your email address *</label>
<inputtype="email"value=""maxlength="100"class="span3"name="email"id="email">
</div>
</div>
<divclass="row controls">
<divclass="span6 control-group">
<label>Subject</label>
<inputtype="text"value=""maxlength="100"class="span6"name="subject"id="subject">
</div>
</div>
<divclass="row controls">
<divclass="span6 control-group">
<label>Message *</label>
<textareamaxlength="5000"rows="10"class="span6"name="message"id="message"></textarea>
</div>
</div>
<divclass="btn-toolbar">
<p>
<inputtype="submit"name="submit"value="Send Message"class="btn btn-primary btn-large"data-loading-text="Loading...">
</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
</div>




کد JC :



var Contact = {


initialized: false,

initialize: function() {

if (this.initialized) return;
this.initialized = true;

this.build();
this.events();

},

build: function() {

this.validations();

},

events: function() {



},

validations: function() {

$("#contactform").validate({
submitHandler: function(form) {

$.ajax({
type: "POST",
url: "php/sendmail.php",
data: {
"name": $("#contactform #name").val(),
"email": $("#contactform #email").val(),
"subject": $("#contactform #subject").val(),
"message": $("#contactform #message").val()
},
dataType: "json",
success: function (data) {
if (data.response == "success") {



$("#contactSuccess").removeClass("hidden");
$("#contactError").addClass("hidden");

$("#contactform #name, #contactform #email, #contactform #subject, #contactform #message")
.val("")
.blur()
.closest(".control-group")
.removeClass("success")
.removeClass("error");

if(($("#contactSuccess").position().top - 80) < $(window).scrollTop()){
$("html, body").animate({
scrollTop: $("#contactSuccess").offset().top - 80
}, 300);
}

} else {

$("#contactError").removeClass("hidden");
$("#contactSuccess").addClass("hidden");
$('

<div

class

=

"contactSuccess"

>

Your message has been sent successfully. Thank you!

</div>

').insertBefore('#alert alert-success, #alert alert-success2');
$('.success-contact').fadeOut(5000, function(){ $(this).remove(); });

if(($("#contactError").position().top - 80) < $(window).scrollTop()){
$("html, body").animate({
scrollTop: $("#contactError").offset().top - 80
}, 300);
}

}
}

});
},
rules: {
name: {
required: true
},
email: {
required: true,
email: true
},
subject: {
required: true
},
message: {
required: true
}
},
highlight: function (element) {
$(element)
.closest(".control-group")
.removeClass("success")
.addClass("error");
},
success: function (element) {
$(element)
.closest(".control-group")
.removeClass("error")
.addClass("success");
}
});

}

};



Contact.initialize();

Mohammadsgh
سه شنبه 10 تیر 1393, 12:42 عصر
به هم ریخته نوشتی,اگه میشه کدهاتو توی php bbcode توی ویرایشگر بزار تا واضحتر بشه و بهتر بتونیم راهنماییت کنیم:لبخندساده:

mraheli
سه شنبه 10 تیر 1393, 19:11 عصر
سلام
Mohammadsgh

درست شدن ؟

Mohammadsgh
سه شنبه 10 تیر 1393, 22:13 عصر
آره ,حالا آسونتر میشه راهنماییت کرد

Mohammadsgh
سه شنبه 10 تیر 1393, 22:22 عصر
اگه فقط یه فرم داری میتونی اینجوری بنویسی


if(count($_post)>0) {
codhaye shoma
if(mysql_affected_rows()>0)
echo "پیام موفق";
}

mraheli
چهارشنبه 11 تیر 1393, 00:33 صبح
آره یکدونه فرم هستش که کدهاش (HTML, PHP , JS) همونایی هستن که گفتم.
یعنی این رو کجا بنویسم ؟

این پیام رو ارسا میکنه ولی فقط دستور پیغام تشکرکار نمیکنه

اگه بیشتر راهنماییم بکنی ممنون میشم

hamedarian2009
چهارشنبه 11 تیر 1393, 17:13 عصر
خط 59 کد PHP رو پاک کن و اینطوری بنویس فقط به جا پیغام های من پیغام موردنظر خودتو بنویس


if(@mail($email_to,$email_subject,$email_message,$ hea ders)){
echo 'Successfully Send';
}
else{
echo 'Failed';
}

mraheli
پنج شنبه 12 تیر 1393, 13:20 عصر
سلام hamedarian2009

متشکرم از راهنماییت.
اون کد رو جایگذاری کردم ولی باز پیام رو نشون نمیده !

mraheli
شنبه 14 تیر 1393, 16:38 عصر
کسی نیس به من کمک کنه !!!:گریه::گریه:

ashokri.nll
شنبه 14 تیر 1393, 17:23 عصر
دوست عزیز خوندن این کدها خیلی طول میکشه کاش از تورفتگی استفاده میکردی تا راحت تر بشه بررسی کرد .
برای اینکه بتونی بررسیش کنی بعد از تابع mail متغیر مورد نظرتو مقدار دهی کن .

mraheli
شنبه 14 تیر 1393, 17:35 عصر
منظروت چیه ؟ یعنی چیکار کنم ؟؟

ashokri.nll
شنبه 14 تیر 1393, 17:37 عصر
اگه منظورت از قسمت دوم حرفمه اینه که این پیامتو یه جا باید مقدار دهی کنی تا بتونی نمایش بدیش دیگه اینو بعد تابع mail بزار که هر وقت ایمیل کرد این کارو کنه نه ....

mraheli
شنبه 14 تیر 1393, 17:51 عصر
اوکی .. ولی من زیاد از php سر در نمیارم، هر چند زحمته ولی روی کد برام بنویسی خیلی بهتره