Membuat contact form tanpa plugin
-
mau nanya, saya mau buat form kontak tapi tidak pakai plugin. alasannya karna supaya sama tampilannya dengan form kontak di theme html-nya.
saya cukup kesulitan dalam hal pengelompokan variable untuk error-nya.
ini kode saya,
<?php /* Template Name: Contact */ ?> <?php if(isset($_POST['submitted'])) { if(trim($_POST['contactName']) === '') { $nameError = 'Please enter your name.'; $hasError = true; } else { $name = trim($_POST['contactName']); } if(trim($_POST['contactEmail']) === '') { $emailError = 'Please check your email.'; $hasError = true; } else if (!eregi("/^<a href="http://codex.wordpress.org/:alnum:">:alnum:</a>[a-z0-9_.-]*@[a-z0-9.-]+\.[a-z]{2,4}$/i", trim($_POST['contactEmail']))) { $emailError = 'Please check your email.'; $hasError = true; } else { $email = trim($_POST['contactEmail']); } if(trim($_POST['contactMessage']) === '') { $messageError = 'Please check your message.'; $hasError = true; } else { if(function_exists('stripslashes')) { $message = stripslashes(trim($_POST['contactMessage'])); } else { $message = trim($_POST['contactMessage']); } } if(!isset($hasError)) { $emailTo = get_option('tz_email'); if (!isset($emailTo) || ($emailTo == '') ) { $emailTo = get_option('admin_email'); } $subject = '[PHP Snippets] From '.$name; $body = "Name: $name \n\nEmail: $email \n\nMessage: $message"; $headers = 'From: '.$name.' <'.$emailTo.'>' . "\r\n" . 'Reply_To: ' .$email; wp_mail($emailTo, $subject, $body, $headers); $emailSent = true; } } ?> <?php get_header(); ?> <div id="subheader"> <div class="container"> <div class="row"> <div class="span12"> <h1><?php print the_title(); ?></h1> <span><?php print the_excerpt(); ?></span> </div> </div> </div> </div> <?php get_sidebar('contact'); ?> <div id="content"> <div class="container"> <?php if (have_posts()) : while (have_posts()) : the_post(); ?> <div class="row"> <div class="span8"> <?php the_content(); ?> <div class="contact_form_holder"> <form id="contact" class="row" name="form1" method="post" action="<?php the_permalink(); ?>"> <div class="span4"> <label>Name</label> <input type="text" class="full" name="contactName" id="contactName" value="<?php if(isset($_POST['contactName'])) echo $_POST['contactName']; ?>"/> <?php if($nameError != '') { ?> <span class="error"><?=$nameError; ?></span> <?php } ?> </div> <div class="span4"> <label>Email <span class="req">*</span></label> <input type="text" class="full" name="contactEmail" id="contactEmail" value="<?php if(isset($_POST['contactEmail'])) echo $_POST['contactEmail']; ?>"/> <?php if($emailError != '') { ?> <div id="error_email" class="error"><?=$emailError;?></div> <?php } ?> </div> <div class="span8"> <label>Message <span class="req">*</span></label> <textarea cols="10" rows="10" name="contactMessage" id="contactMessage" class="full"><?php if(isset($_POST['contactMessage'])) { if(function_exists('stripslashes')) { echo stripslashes($_POST['contactMessage']); } else { echo $_POST['contactMessage']; } } ?></textarea> <?php if($messageError != '') { ?> <div id="error_message" class="error"><?=$messageError; ?></div> <?php } ?> <?php if(isset($emailSent) && $emailSent == true) { ?> <div id="mail_success" class="success"> Thank you. Your message has been sent.</div> <?php } else { ?> <?php if(isset($hasError) || isset($captchaError)) { ?> <div id="mail_failed" class="error">Error, email not sent</div> <?php } ?> <p id="btnsubmit"> <input type="hidden" name="submitted" id="submitted" value="true" /> <input type="submit" id="send" value="Send Now" class="btn btn-large"/> </p> </div> <?php } ?> </form> </div> </div> <?php endwhile; endif; ?> <?php get_sidebar('contactpage'); ?> </div> </div> </div> <?php get_footer(); ?>
saat saya setting TRUE wp_debug di file wp-config.php , ada ” Notice: Undefined variable: nameError in /var/www/grazie/wp-content/themes/canohost/template-contact.php on line 85 “
” Notice: Undefined variable: emailError in /var/www/grazie/wp-content/themes/canohost/template-contact.php on line 93 “
” Notice: Undefined variable: messageError in /var/www/grazie/wp-content/themes/canohost/template-contact.php on line 101 “
mohon bantuannya, atau ada yang punya link dalam pembuatan form kontak di wordpress. terima kasih sebelumnya 🙂
- Topik ‘Membuat contact form tanpa plugin’ tertutup untuk balasan baru.