BenTo

فرم تماس با ما با کد کپچا

1 پست در این موضوع قرار دارد

با سلام خدمت تمام دوستان

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

در مرحله اول : کد زیر را در فایل فانکشن functions.php خود قرار دهید

<?php
if(isset($_POST['submit'])) {
$error = "N";
if( ($_POST['captcha']) != ($_POST['user_captcha']) ){
$error = "Y"; echo('<p class="error"> کد امنیتی را صحیح وارد نمایید!</p>'); 
}
else{
// دریافت اطلاعات مربوط به فیلدهای فرم
$name = $_POST['name'];
$user_email= $_POST['email'];
$message = $_POST['message'];

#################################
## آدرس ایمیل خود را برای دریافت#
## پیام ها در زیر وارد نمایید   #
#################################

$email_to = " YOUR EMAIL ADDRESS "; // آدرس ایمیل گیرنده پیامها
$title = "موضوع ایمیلهای دریافتی در اینجا";

// بررسی صحت تکمیل فیلد ایمیل
if (! preg_match('/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/', $user_email))
{$error = "Y"; echo('<p class="error">آدرس پست الکترونیک شما معتبر نمی باشد لطفا آن را بررسی نموده و دوباره امتحان کنید</p>'); }



//بخش ارسال مشخصات به ایمیل شما
$header = "From: $user_email\n"
. "Reply-To: $user_email\n";
$header .= "Content-Type: text/html; charset=UTF-8\n";
$subject = '=?UTF-8?B?'.base64_encode($title).'?=';
$message =  "نام و نام خانوادگی: $name\n"
. "پست الکترونیک: $user_email\n"
. "متن پیام: $message\n";

if ( $error === "N" ) {
@mail($email_to, $subject ,$message ,$header ) ;

// نمایش پیام
echo '<p class="true"> با تشکر ، پیام شما با موفقیت ارسال گردید </p>';}
}
}

function Random(){
$length=6; // تعداد حروف و اعداد که برای کاربر نمایش داده میشوند
$str = "123456789abcdefghijklmnpqrstuvwxyz";
$max = strlen($str)-1;
$random="";
for ($i=0; $i<$length; $i++){
$number = mt_rand(0,$max);
$random.= substr($str,$number,1);}
return $random;
}
$random = Random();

?>

مرحله دوم : کد را در هرجا که میخواهید فرا خوانی بشه قرار دهید

<form action="" method="post">
<p>نام و نام خانوادگی</p>
<input type="text" name="name" />
<p>پست الکترونیک</p>
<input type="text" name="email" />
<p>متن پیام</p>
<textarea cols="20" rows="5" name="message"></textarea>
<p class="captcha"><?php echo $random;?></p>
<p>کد امنیتی نمایش داده شده در تصویر فوق را در فیلد زیر وارد نمایید</p>
<input type="text" name="user_captcha" style="direction:ltr" />
<input type="hidden" value="<?php echo $random; ?>" name="captcha" />
<br />
<input type="submit" name="submit" value="ارسال" />
</form>

 

این کد بدون طراحی گرافیکی است که دوستان با قرار دادن کلاس های css به آن میتوانند کلاس های آن را تغییر دهند و آن چیزی را که میخواهند طراحی کنند

سپاس از دوستان

ویرایش شده در توسط BenTo
1

به اشتراک گذاری این پست


لینک به پست

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری

  • مطالب مشابه

    • توسط BenTo
      با عرض سلام دیگر خدمت یکایک دوستان
      بنده چون قالبی دارم برای خودم طراحی میکنم دوست دارم بدون افزونه باشه که بدون مشکل و سریع تر باشه
      و حالا مشکلم اینه که کدی دارم با مشخصات :
      <?php /* Template Name: contact */ ?> <?php /*فرم تماس با ما */ ?> <?php if(isset($_POST['submitted'])) { if(trim($_POST['contactName']) === '') { $nameError = 'لطفا نام خود را وارد نمایید'; $hasError = true; } else { $name = trim($_POST['contactName']); } if(trim($_POST['email']) === '') { $emailError = 'لطفا آدرس ایمیل خود را وارد نمایید.'; $hasError = true; } else if (!preg_match("/^[[:alnum:]][a-z0-9_.-]*@[a-z0-9.-]+\.[a-z]{2,4}$/i", trim($_POST['email']))) { $emailError = 'آدرس ایمیل وارد شده صحیح نمی باشد'; $hasError = true; } else { $email = trim($_POST['email']); } if(trim($_POST['comments']) === '') { $commentError = 'لطفا پیغام خود را وارد نمایید'; $hasError = true; } else { if(function_exists('stripslashes')) { $comments = stripslashes(trim($_POST['comments'])); } else { $comments = trim($_POST['comments']); } } if(!isset($hasError)) { $emailTo = get_option('tz_email'); if (!isset($emailTo) || ($emailTo == '') ){ $emailTo = get_option('admin_email'); } $subject = 'یک پیغام از طرف '.$name; $body = "نام فرستنده: $name \n\nایمیل نویسنده: $email \n\nپیغام: $comments"; $headers = 'From: '.$name.' <'.$emailTo.'>' . "\r\n" . 'Reply-To: ' . $email; wp_mail($emailTo, $subject, $body, $headers); $emailSent = true; } } ?> <?php get_header(); ?> <div class="container"> <div id="content"> <?php get_sidebar('right'); ?> <?php if (have_posts()) : while (have_posts()) : the_post(); ?> <div <?php post_class() ?> id="post-<?php the_ID(); ?>"> <div class="contactForm1"> <div class="contacth1"><?php the_title(); ?></div> <?php if(isset($emailSent) && $emailSent == true) { ?> <div> <p>با تشکر، ایمیل شما با موفقیت ارسال شد</p> </div> <?php } else { ?> <?php the_content(); ?> <?php if(isset($hasError) || isset($captchaError)) { ?> <p>متاسفم، خطایی رخ داده است لطفا مجددا سعی نمایید<p> <?php } ?> <form action="<?php the_permalink(); ?>" class="contactForm" method="post"> <ul> <li> <label for="contactName">نام شما:</label> <input type="text" name="contactName" id="contactName" value="<?php if(isset($_POST['contactName'])) echo $_POST['contactName'];?>" /> <?php if($nameError != '') { ?> <span><?=$nameError;?></span> <?php } ?> </li> <li> <label for="email">ایمیل شما:</label> <input type="text" name="email" id="email" value="<?php if(isset($_POST['email'])) echo $_POST['email'];?>" /> <?php if($emailError != '') { ?> <span><?=$emailError;?></span> <?php } ?> </li> <li><label for="commentsText">پیغام:</label> <textarea name="comments" id="commentsText" rows="20" cols="30"><?php if(isset($_POST['comments'])) { if(function_exists('stripslashes')) { echo stripslashes($_POST['comments']); } else { echo $_POST['comments']; } } ?></textarea> <?php if($commentError != '') { ?> <span><?=$commentError;?></span> <?php } ?> </li> <li> <input type="submit" value="ارسال ایمیل"></input> </li> </ul> <input type="hidden" name="submitted" id="submitted" value="ارسال ایمیل" /> </form> <?php } ?> </div><!-- .entry-content --> </div><!-- .post --> <?php endwhile; endif; ?> </div><!-- #content --> <?php get_sidebar('left'); ?> </div><!-- #container --> <?php get_footer(); ?> که گزینه های نام شما - ایمیل شما - پیام شما را داراست
      حالا اگه بخوام بهش دو عدد اینپوت باکس برای مثلا نام وبسایت - موضوع پیام اضاف کنم الگوش چیه ؟ چجوری باید کاملش کنم کد بالا رو
      و سوال دوم برای اسپم نشدن پیغام ها توسط اتک و ربات حتما باید از کپچا استفاده کرد یا افزونه akismet هم مشکل رو حل میکنه
      اگه نیاز به کپچا هست و کسی کد کپچا بدون افزونه رو داره - لطفا کد و طریق به کر گیریشو بی زحمت بگه
      اگه هم کسی نداره بهترین و سبک ترین افزونه کپچا کدام است ؟
      سپاس گذارم از تک تک دوستان بابت همراهی اخیر ( ببخشید این همه سوال میکنم تازه به ورپرس روی آوردم )
    • توسط irmacfa
      دوستان وقت بخیر ،بنده افزونه Huge IT Forms رو دانلود از خود وردپرس کردم ولی با قالب بنده مشکل داره دکمه های افزودن چند رسانه ای در داخل مطالب رو از کار می اندازه خواستم بپرسم کسی از دوستان فرم دیگری که برای سفارش و مثل همین باشه سراغ نداره ؟ یا نسخه کرک شده همین افزونه رو ! با تشکر
    • توسط thinkdiff

      با سلام
      من یک فرم تماس با مایی لازم دارم که وقتی کسی از داخل اطلاعاتی برای من ارسال کرد، همزمان برام یک پیامک هم بیاد. الان از کانتکت فورم 7 استفاده می کنم. پنل پیامک هم دارم از یکی ازین شرکت های ایرانی.
      میشه لطفا راهمایی کنید که چطور می تونم این کار رو انجام بدم؟
    • توسط skyfall
      سلام عزیزان ..من مبتدی هستم دیگه شرمنده ..خواستم ببینم چطور میتونم این قسمت تماس با ما رو با این آدرس فعال کنم http://moviebaz.net/contact
    • توسط mehrabi
      با سلام
      اول اینکه سرچ زدم چیزی که می خواستم پیدا نکردم
      دنبال یه افزونه پشتیبانی درست و درمون می گردم. رایگان باشه بهتره،
      برای پشتیبانی آنلاین نمی خوام.
      قابلیت های زیر رو داشته باشه:
      1. کاربر ثبت نام کنه و بتونه تیکت های خودش رو ببینه.
      2. قابلیت اضافه کردن فیلد داشته باشه.
      3. اگه بشه قسمت مدیریتش هم لیست افراد رو نشون بده نه لیست تیکت ها رو. (البته این زیاد مهم نیست)
      افزونه support ticket افزونه خوبیه قابلیت افزودن فیلد رو داره، ولی مخصوص کاربران نیست. همچنین فیلد آپلود فایل رو هم نداره.
      افزونه همیار تیکت هم کد می ده، من می خوام کاربر وارد بشه و تیکت های خودش رو ببینه.
      کسی می تونه افزونه support ticket رو ویرایش کنه و چیزی که می خوام در بیاره؟