BenTo

تماس با ما بدون افزونه
مشکل در صفحه تماس با ما بدون افزونه

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

با عرض سلام دیگر خدمت یکایک دوستان

بنده چون قالبی دارم برای خودم طراحی میکنم دوست دارم بدون افزونه باشه که بدون مشکل و سریع تر باشه

و حالا مشکلم اینه که کدی دارم با مشخصات :

<?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 هم مشکل رو حل میکنه

اگه نیاز به کپچا هست و کسی کد کپچا بدون افزونه رو داره - لطفا کد و طریق به کر گیریشو بی زحمت بگه

اگه هم کسی نداره بهترین و سبک ترین افزونه کپچا کدام است ؟

سپاس گذارم از تک تک دوستان بابت همراهی اخیر ( ببخشید این همه سوال میکنم تازه به ورپرس روی آوردم )

0

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


لینک به پست

کد شما به صورت زیر میشه

<?php
/*Template Name: contact*/
/*فرم تماس با ما*/

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 (trim($_POST['website']) === '') {
            $websiteError = 'لطفا نام سایت خود را وارد نمایید';
            $hasError = true;
        } else {
            if (function_exists('stripslashes')) {
                $comments = stripslashes(trim($_POST['website']));
            } else {
                $comments = trim($_POST['website']);
            }
        }

        if (trim($_POST['subject']) === '') {
            $subjectError = 'لطفا موضوع پیام خود را وارد نمایید';
            $hasError = true;
        } else {
            if (function_exists('stripslashes')) {
                $comments = stripslashes(trim($_POST['subject']));
            } else {
                $comments = trim($_POST['subject']);
            }
        }


        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نام وبسایت: $website\n\nموضوع پیام: $subject\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="email">نام سایت:</label>
 <input type="text" name="website" id="website" value="<?php if (isset($_POST['website']))
                echo $_POST['website']; ?>" />
 <?php if ($websiteError != '') { ?>
 <span><?= $websiteError; ?></span>
 <?php } ?>
 </li>
 
  <li>
 <label for="email">موضوع پیام</label>
 <input type="text" name="subject" id="subject" value="<?php if (isset($_POST['subject']))
                echo $_POST['subject']; ?>" />
 <?php if ($subjectError != '') { ?>
 <span><?= $subjectError; ?></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(); ?>

 

 

برای  کپچا هم میتونین از کدهای زیر استفاده کنید

 

4

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


لینک به پست

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

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

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

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


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

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

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


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

  • مطالب مشابه

    • توسط BenTo
      با سلام خدمت تمام دوستان
       تماس با ما ساده ای برای شما دوستان تهیه گشته تا کسانی که دوست دارند بدون افزونه ایجاد کنند از آن استفاده کنند
      در مرحله اول : کد زیر را در فایل فانکشن 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 به آن میتوانند کلاس های آن را تغییر دهند و آن چیزی را که میخواهند طراحی کنند
      سپاس از دوستان
    • توسط irmacfa
      دوستان وقت بخیر ،بنده افزونه Huge IT Forms رو دانلود از خود وردپرس کردم ولی با قالب بنده مشکل داره دکمه های افزودن چند رسانه ای در داخل مطالب رو از کار می اندازه خواستم بپرسم کسی از دوستان فرم دیگری که برای سفارش و مثل همین باشه سراغ نداره ؟ یا نسخه کرک شده همین افزونه رو ! با تشکر
    • توسط thinkdiff

      با سلام
      من یک فرم تماس با مایی لازم دارم که وقتی کسی از داخل اطلاعاتی برای من ارسال کرد، همزمان برام یک پیامک هم بیاد. الان از کانتکت فورم 7 استفاده می کنم. پنل پیامک هم دارم از یکی ازین شرکت های ایرانی.
      میشه لطفا راهمایی کنید که چطور می تونم این کار رو انجام بدم؟
    • توسط soheilyou
      دوستان من یه افزونه لازم دارم که مشاهده کننده سایت بتونه یه سوال رو از مدیر سایت بپرسه (تا کید میکنم ، سوال خصوصی و از مدیر سایت ) بعدش مدیر بتونه جواب رو ارسال کنه !
      حالا این جواب مدیر حتما به شخصِ سوال کننده ایمیل بشه و در صورتی که کاربر عضو بوده باشه ، با ورود به ناحیه ی کاربری بتونه جوابش رو هم ببینه !
      یه امکان دیگه ای هم که اگه داشته باشه عالی ، اینه که مدیر بتونه این سوال رو در صورت انتخاب خودش انتشار بده تو یه قسمتی مثلا تحت عنوان "سوالات کاربران"
      آیا همیچین افزونه ای وجود داره ؟ یا افزونه ی مشابهی ؟
    • توسط clomer
      -فرم تماس با ما ترجمه شده با امکانات زیاد و امنیت بالا
      -خطا های متعدد
      -کد امنیتی
      -موضوع پیام برای گرو های مختلف
      -کم حجم
      فقط ایمیلتونو جایگزین کنید .
      قیمت 6 هزار تومان
      دموی انلاین
      اگه خواستید بخرید همین جا پست بزارید