簡體   English   中英

PHP wordpress聯系表格

[英]PHP wordpress contact form

我正在嘗試發送電子郵件並重定向,這是到目前為止的代碼。

<?php 
if (isset($_POST['formName'], $_POST['formEmail'], $_POST['formSubject'], $_POST['formMessage'])) {

$errors = array();

        $formName    = sanitize($_POST['formName']);
        $formEmail   = sanitize($_POST['formEmail']);
        $formSubject = sanitize($_POST['formSubject']);
        $formMessage = sanitize($_POST['formMessage']);

        $required_fields = array('formName', 'formEmail', 'formSubject', 'formMessage');
            foreach($_POST as $key=>$value){
                if(empty($value) && in_array($key, $_required_fields) === true){
                    $errors[] = 'Fields marked with an asterisk are required';
                    break 1;
                } 
              }

        if(empty($errors)){
            $to         = 'pwnd999@msn.com';
            $subject    = $formSubject; 
            $body       = $formMessage;
            $header     = 'From: ' . $formEmail;

             wp_mail($to, $suject, $body, $header);

             wp_redirect( get_permalink() . '?success' );
              exit;

              }  else {
                 $errors[] = 'Something when wrong!'; 
              }

function sanitize($data){
 $data = trim($data);
 $data = stripslashes($data);
 $data = htmlspecialchars($data);
return $data;
 }

}


   if (isset($_GET[ 'success'])==true) { ?>
<div class="messageSent pannel">
<h1>Message sent successfully!</h1>
<p>I will try to reply as fast as possible however, feel free to send me a    text message!</p>
</div>
<?php } else{ ?>

<form id="contactForm" method="POST" autocomplete="off" action="">
<?php if(!empty($errors)): ?>
<div class="errors pannel row">
    <div class="col-md-8">
        <ul>
            <h3><li><?php echo implode('</li><li>', $errors);?></li><h3>  </ul>
            </div>
            <div class="col-md-4">
                 <?php include(TEMPLATEPATH ."/panels/SVG/sadeFace.php"); ?>
            </div>
        </div>

    <?php endif; ?>

  <div class="form-group">
   <label for="name"><h3>Name <span class="star">*</span></h3></label>
            <span class="error"><?php echo $nameErr;?></span>
            <div class="inputWrap">
                <input type="text" required autocomplete="off" class="form-control" id="name" name="name" placeholder="Danny Devito" <?php echo isset($formName) ? 'value="' . $formName . '"' : '' ?>>
               <?php include(TEMPLATEPATH ."/panels/SVG/name.php"); ?>
            </div>
    </div>
    <div class="form-group">
        <label for="email">
            <h3>Email <span class="star">*</span></h3></label>
        <div class="inputWrap">
            <input type="email" required autocomplete="off" class="form-control" name="email" id="email" placeholder="devito@hollywood.com" <?php echo isset($formEmail) ? 'value="' . $formEmail . '"' : '' ?>>
         <?php include(TEMPLATEPATH ."/panels/SVG/email.php"); ?>
        </div>
    </div>
    <div class="form-group">
        <label for="subject">
            <h3>Subject <span class="star">*</span></h3></label>
        <div class="inputWrap">
            <input type="text" required autocomplete="off" class="form-control" name="subject" id="subject" placeholder="Design me a website!" <?php echo isset($formSubject) ? 'value="' . $formSubject . '"' : '' ?>>
           <?php include(TEMPLATEPATH ."/panels/SVG/idea.php"); ?>
        </div>
    </div>
    <div class="form-group">
        <label for="message">
            <h3>What can I help you with? <span class="star">*</span></h3></label>
        <div class="inputWrap">
            <textarea required autocomplete="off" name="message" class="form-control" id="message" placeholder="Hello Carl," value="poo">
                <?php echo isset($formMessage) ? $formMessage : '' ?>
            </textarea>
            <?php include(TEMPLATEPATH ."/panels/SVG/message.php"); ?>
        </div>
    </div>
    <button type="submit" name="submitted" class="btn main">Submit</button>
</form>
<?php }
 ?>

這是由與WP_Query的name參數沖突的字段Name( name="name" )的名稱引起的。

如果將其更改為name="formName"它應該可以工作。

另外,您還需要更改其他字段的名稱,這不是由於先前的原因,而是因為它們與代碼頂部的名稱不匹配。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM