رفتن به مطلب

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


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

سلام من یک فرم تماس با ما نوشتم (لطفاً نگید از افزونه استفاده کن فقط برای تست اینو نوشتم - تشکر ) بعد به یک مشکلی بر خوردم موقعی که ارسال رو میزنی یه صفحه میاد میگه برگه پیدا نشد ولی 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'];

لینک به ارسال

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

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

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

$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";

لینک به ارسال

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

	 $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/

لینک به ارسال

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...