2017-09-09 12 views
0

カスタムHTML/CSS/JSで構築した通常のサイトがありました。私はサイトをWordPressサイトに変更しました(そして私のカスタムhtml/css/jsをカスタムWordPressテーマにしました)。私はWordPressに変更を加えたときに壊れたサイトのホームページに連絡フォームを持っていました。WordPressページのカスタムフォームが送信/再表示されない

フォームが機能していたときに、ページが更新され、ユーザーがアンカーID = contactphillyを使用してフォームに戻ってきた場合、ユーザーに電子メールが送信されたことを確認するメッセージが表示されます。

私はグーグルをたくさんしていましたが、フォームの「アクション」オプションとは関係がありますが、変更しようとしても機能しません。私は行動値に対して次のことを試しました:

<?php the_permalink(); ?>/#contactphilly 
#contactphilly 
<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?> 
$_SERVER['REQUEST_URI'] 

どれも働いていませんでした。ここで

は、フォームのコードです:

<?php 
     if (isset($_POST["submit"])) { 
     $name = $_POST['name']; 
     $subject = $_POST['subject']; 
     $email = $_POST['email']; 
     $message = $_POST['message']; 
     $from = 'WebKeep.com'; 
     $to = '[email protected]'; 
     $subjectemail = 'Message from WebKeepTeam.com Contact Form '; 

    $body = "From: $name\n E-Mail: $email\n Subject: $subject\n Message:\n $message"; 

     // Check if name has been entered 
     if (!$_POST['name']) { 
      $errName = 'Please enter your name'; 
     } 

    // Check if email has been entered and is valid 
    if (!$_POST['email'] || !filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) { 
     $errEmail = 'Please enter a valid email address'; 
    } 

    //Check if message has been entered 
    if (!$_POST['message']) { 
     $errMessage = 'Please enter your message'; 
    } 

// If there are no errors, send the email 
if (!$errName && !$errEmail && !$errMessage) { 
    if (mail ($to, $subjectemail, $body, $from)) { 
    $result='<div>Thank You! We will respond shortly.</div>'; 
    } else { 
    $result='<div>Sorry there was an error sending your message. Please try again later</div>'; 
    } 
} 
} 
?> 

<form name="contactform" method="post" action="#contactphilly"> 
    <div class="col-lg-6 col-md-6 col-sm-12 col-xs-12"> 

    <fieldset class="form-group"> 
    <input type="text" value="<?php echo $name;?>" class="form-control transparent-input" id="name" name="name" placeholder="Name"> 
    </fieldset> 
    <?php echo "<p class='text-danger'>$errName</p>";?> 
     <fieldset class="form-group"> 
    <input type="email" value="<?php echo $email;?>" class="form-control transparent-input" id="email" name="email" placeholder="Email"> 
    </fieldset> 
    <?php echo "<p class='text-danger'>$errEmail</p>";?> 
    <fieldset class="form-group"> 
    <input type="text" class="form-control transparent-input" value="<?php echo $subject;?>" id="subject" name="subject" placeholder="Subject"> 
    </fieldset> 
</div> 
    <div class="col-lg-6 col-md-6 col-sm-12 col-xs-12"> 
    <fieldset class="form-group"> 
    <textarea class="form-control transparent-input" id="message" value="<?php echo $message;?>" name="message" rows="6" placeholder="Message"><?php echo htmlspecialchars($_POST['message']);?></textarea> 
    </fieldset> 
    <?php echo "<p class='text-danger'>$errMessage</p>";?> 
    <input id="submit" name="submit" type="submit" value="Send" class="btn btn-index pull-right"> 
</div> 
    <?php echo $result; ?> 
</form> 
+0

なぜ同じアクションでinitアクションを使用していないのですか?あなたはワードプレスの初心者ですか? –

+0

問題はなんですか?あなたのフォームは提出していないか*完了したら単にアンカーにスクロールしないのですか?また、Wordpressのフォームを開発したり、既存のプラグインを使用する方法を調べることをお勧めします。以前のhtmlフォームに貼り付けるだけでWordpressは認識できない投稿変数(フォーム上の変数)を無視します。 – FluffyKitten

+0

@FluffyKitten 404エラーページにリダイレクトされます。私はちょうどあきらめてプラグインを使用するかもしれません - 私はすでに持っていたものを変更する方が簡単かもしれないが、多分そうではないかもしれないと思った。私はこの人が何をしたかのように何かをしようとしていますが、ページ内ではなくページ内で行います。 https://premium.wpmudev.org/blog/how-to-build-your-own-wordpress-contact-form-and-why/その人は<?php the_permalink();を使用します。 ?>私はそれ自身で試してみたが、うまくいかなかった。 – bld2104

答えて

関連する問題