رفتن به مطلب

مشکل در نوشتن فرم تماس با ما


پست های پیشنهاد شده

سلام من یک فرم تماس با ما نوشتم (لطفاً نگید از افزونه استفاده کن فقط برای تست اینو نوشتم - تشکر ) بعد به یک مشکلی بر خوردم موقعی که ارسال رو میزنی یه صفحه میاد میگه برگه پیدا نشد ولی else کار میکنه !!!

کل کدهای من :


<?php
/*
Template Name: contact
*/
if(isset($_POST['submit'])){
if(!empty($_POST['name']) && (!empty($_POST['email'])) && (!empty($_POST['message']))&& (!empty($_POST['subject']))){
$accep="پیغام شما با موفقیت ارسال شد";
$to="mail@mail.com";
$subject=$_POST['subject'];
$from=$_POST['email'];
$user_message = $_POST['message'];
$body = "\n".
"نام: $name\n".
"ایمیل: $from \n".
"توضیحات: \n ".
"$user_message\n".
$headers = "From: $from \r\n";
$headers .= "Reply-To: $from \r\n";
mail($to,$subject,$body,$headers);
}
else{
$error= "لطفاً فیلدها را پر نمایید";
}
}
?>
<?php get_header(); ?>
<!--header-->
<?php if(!empty($accep)) echo '<div class="accep">'.$accep.'</div>';?>
<?php if(!empty($error)) echo '<div class="error">'.$error.'</div>'; ?>
<form action="<?php the_permalink(); ?>" id="contact" method="post">
<label for="name">Name : </label>
<input type="text" value="" class="form" name="name" />
<br/>
<label for="email">Email:</label>
<input style="margin-right:13px;" type="text" value="" class="form-ltr" name="email" />
<br/>
<label for="website">Website:</label>
<input type="text" value="" class="form-ltr" name="website" />
<br/>
<label for="subject">Subject:</label>
<input type="text" value="" class="form" name="subject" />
<br/>
<textarea class="form" id="mess" rows="7" name="message"></textarea>
<br />
<input type="submit" name="submit" value="">
</form>
<?php get_footer(); ?>

لطف کنید بگید کجای کارم اشتباه هست تشکر

لینک به ارسال

سلام

name رو در کد زیر تغییر بدید درست میشه:

<input type="text" value="" class="form" name="name" />

لینک به ارسال

تشکر درست شد فقط دو مورد یکی اینکه چه دلیلی داشت name رو تغییر بدم ؟

بعد یه مورد دیگه هم اینکه رفتن میل توی اسپم میدونم به سرور اینا بستگی داره ولی دلیل دیگش میتونه بستگی به کد باشه $header ?

لطفا چک کنید ببینید کدم مشکل نداره ؟

لینک به ارسال

تشکر درست شد فقط دو مورد یکی اینکه چه دلیلی داشت name رو تغییر بدم ؟

بعد یه مورد دیگه هم اینکه رفتن میل توی اسپم میدونم به سرور اینا بستگی داره ولی دلیل دیگش میتونه بستگی به کد باشه $header ?

لطفا چک کنید ببینید کدم مشکل نداره ؟

الان سرویسی که میل میره بهش یاهو هست ولی متاسفانه هر کی میفرسته میره تو spam

ویرایش شده توسط max
لینک به ارسال

در مورد name بنظر میرسید داره با هدر قاطی میکنه. برای همین تغییر دادم درست شد.

برای مورد اسپم هم شما یک پسورد ریکاوری از وردپرس روی سرور خودتون بزنید ببینید به اسپم میره یا خیر.

لینک به ارسال

در مورد name بنظر میرسید داره با هدر قاطی میکنه. برای همین تغییر دادم درست شد.

برای مورد اسپم هم شما یک پسورد ریکاوری از وردپرس روی سرور خودتون بزنید ببینید به اسپم میره یا خیر.

من بازیابی رمز عبور زدم اوکی شد و رفت توی inbox ولی بعد از اینکه دوباره رمز رو تغییر دادم باز میره تو spam!!! (لطفاً دلیلش رو هم بگید)

و یک مورد دیگه هم اینکه توی فرم ارسالی طرف وقتی فیلد name رو پر میکنه توی ایمیلی که ارسال میشه name رو چیزی نمینویسه !!! (این مورد قبل از تغییرات واز اولش بود)

ویرایش شده توسط max
لینک به ارسال

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

در مورد اسم هم شما توی لیست دریافتی متغییرها اسم رو نمیگیری.

همچین کدی رو بایداضافه کنی:

$name=$_POST['urname'];

  • امتیاز 1
لینک به ارسال

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

در مورد اسم هم شما توی لیست دریافتی متغییرها اسم رو نمیگیری.

همچین کدی رو بایداضافه کنی:

$name=$_POST['urname'];

در مورد اسپم با افزونه ای مثل Contact form یک همچین مشکلی ندارم ولی این مشکل داره من فک میکنم $header من ناقص هست باید تصحیح شه و تایین شه که طرفی که من داره میل میزنه بره به اکانت یاهو و از اونجا یعنی یاهو جوابشو بگیره !!!


$headers = "From: $from \r\n";
$headers .= "Reply-To: $from \r\n";

ویرایش شده توسط max
لینک به ارسال

ربطی به هدر نباید داشته باشه. منهم همیشه از همین مدل برای هدر استفاده میکنم:

     $headers = "From: webmaster@wp-parsi.com" . "\r\n" .
$headers .= "Content-type: text/html\r\n";

  • امتیاز 1
لینک به ارسال

ربطی به هدر نباید داشته باشه. منهم همیشه از همین مدل برای هدر استفاده میکنم:

	 $headers = "From: webmaster@wp-parsi.com" . "\r\n" .
$headers .= "Content-type: text/html\r\n";

یک سوال دیگه داشتم من الان میخوام ایمیلی که از طریق فرم ارسال میشه (میره به یاهو) یک شکل و استایلی هم داشته باشه به فرض $body داخل یک کادر باشه ! اگر لطف کنید یک نمونه توی کد ذیل مثال بزنید ممنون میشم :


<?php
/*
Template Name: Contact
*/
if(isset($_POST['submit'])){
if(!empty($_POST['contactname']) && (!empty($_POST['email'])) && (!empty($_POST['message']))&& (!empty($_POST['subject']))){
$accep="پیغام شما با موفقیت ارسال شد";
$to="mail@mail.com";
$subject=$_POST['subject'];
$from=$_POST['email'];
$user_message = $_POST['message'];
$web=$_POST['website'];
$name=$_POST['contactname'];
$body = "\n".
"نام: $name\n".
"ایمیل: $from \n".
"وب سایت: $web \n".
"توضیحات: \n ".
"$user_message\n".
$headers = "From: $from \r\n";
$headers .= "Reply-To: $from \r\n";
mail($to,$subject,$body,$headers);
}
else{
$error= "لطفاً فیلدها را پر نمایید";
}
}
?>
<?php get_header(); ?>
<?php if(!empty($accep)) echo '<div class="accep">'.$accep.'</div>';?>
<?php if(!empty($error)) echo '<div class="error">'.$error.'</div>'; ?>
<form action="" method="post">
<label for="name">Name : </label>
<input style="margin-right:5px;" type="text" value="" class="form" name="contactname" />
<br/>
<label for="email">Email:</label>
<input style="margin-right:15px;" type="text" value="" class="form-ltr" name="email" />
<br/>
<label for="website">Website:</label>
<input type="text" value="" class="form-ltr" name="website" />
<br/>
<label for="subject">Subject:</label>
<input type="text" value="" class="form" name="subject" />
<br/>
<textarea class="form" id="mess" rows="7" name="message"></textarea>
<br />
<input type="submit" name="submit" value="">
</form>
<?php get_footer(); ?>

لینک به ارسال

منظورتون اینه که ایمیل استایل داشته باشه. بهتره یک آموزش جامع رو مطالعه کنید:

http://css-tricks.com/sending-nice-html-email-with-php/

  • امتیاز 2
لینک به ارسال

لطفا برای ارسال دیدگاه وارد شوید

شما بعد از اینکه وارد حساب کاربری خود شدید می توانید دیدگاهی ارسال کنید



ورود به حساب کاربری
×
×
  • اضافه کردن...