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

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


لینک به پست

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

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

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

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


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

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

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


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

  • مطالب مشابه

    • توسط Selno
      سلام فرم تماس 7 روی قالبم کار نمیکنه یعنی به این صورته که وقتی دکمه ثبت اطلاعات رو میزنم پیامی با کادر سبز نشون میده که پیام با موفقیت ارسال شد ولی داخل ایمیلم که میرم میبینم پیامی نیومده چه تو Inbox چه تو spam !
    • توسط shayan.m
      سلام
      دوستان من می خواهم صفحه تماس با ما بسازم و یک صفحه هست می خواهم دقیق مثل اون صفحه باشه ولی کد نویسی بلد نیستم 
      لینک صفحه تماس با ما: https://www.melipayamak.com/contact/ می خواهم مثل این صفحه بسازم لطفا راهنمایی کنید خواهش میکنم
      مرسی
    • توسط farhod
      سلام، وقت بخیر، میخوام یه فرم تماس با ما بسازم به گونه ای که در آن مشخص کنیم که دریافت کننده پیام چه کسی هست و پیام برای اون فرد ارسال بشه
      یه نگاهی به این لینک بندازید https://www.tabnak.ir/fa/contacts
      لطفا کمکم کنید این رو چطوری پیاده سازی کنم
      متشکر
       
    • توسط unid_user
      سلام دوستان
      من میخوام با افزونه contactform7 یا هر فرم ساز دیگه ای فرمی رو طراحی کنم که اطلاعات کاربران سایتم رو مانند شماره شناسنامه و عکس پرسنلی شون رو دریافت کنه. اما نمیدونم این اطلاعات رو کجا و چطوری ذخیره میکنه. من میخوام با دیتا بیس ارتباط بگیرم و این ارتباط از طریق افزونه فرم ثبت نامی که گفتم برقرار بشه. اگه بتونم بصورت یک فایل متنی یا pdf خروجی بگیرم. نمیدونم توقع زیادی هست که از وردپرس دارم یا نه؟! ممنون میشم اگه از دوستان کسی میدونه یا تجربه داره من و راهنمایی کنه.
      سپاس
    • توسط حامد قاسمی
      سلام 
      من مبخوام در یکی از بخش های صفحات سایت فرمی ایجاد کنم که کاربر بتونه متنی رو بنویسه و به ایمیل تعیین شده ارسال کنه 
      برای این کار افزونه Contact Form 7 رو انتخاب کردم 
      میخوام در ایمیلی که ارسال میشه همراه متن کاربر (و ترجیا بدون اینکه کاربر ببینه) آدرس صفجه ای که فرم درش کلیک شده  هم ارسال بشه 
       
      امکانش هست ؟ 
      و اگر نیست راهکار جایگزینی دارید دوستان؟