2016-11-28 12 views
-1

私はwordpressで作成したフォームに統合されたPHPコードを取得しようとするのは非常に苦労しています。私は3つの異なるPHPプラグインを無駄にしようとしています。ここにhtmlとcssがあります。誰かが私がどこに私がワードプレスにPHPを置く必要があり、どのように私は適切にフォーム内の "アクション"を通じてそれを呼び出す必要がありますか?phpをwordpressフォームに追加するには

CSS:

<style> 
    input[type=text], input[type=number], select[name=province]{ font-family: arial; width:100%; 
    border: 1px solid #E5E5E5; padding: 10px 20px;} 
input[name=ffirstname] {width:49%; margin-right:1%; } 
input[name=lastname] {width:49%; margin-left:1%; } 
input[name=address] {width:65.6667%; margin-right:1%; } 
input[name=unit] {width:32.3337%; margin-left:1%; } 
input[name=city] {width:49%; margin-right:1%; } 
select[name=province] {width:24%; margin-left:1%;} 
input[name=postal] {width:24%; margin-left:1%; } 
input[name=email] {width:49%; margin-right:1%; } 
input[name=phone] {width:49%; margin-left:1%;} 
input[class=submit] { 
    background-color: #f05a28; 
    color: white; 
    padding: 8px 20px; 
    margin-left: 85%; 
    border-radius: 4px; 
    border: none; !important; 
    outline: none; !important ; 
    cursor: pointer; 
    box-shadow: none; !important; 
} 
</style> 

HTML:

<form name"infoform" method="post" action="form-to-email.php" > 
    <br><input type="text" name="ffirstname" placeholder="First Name"/><input type="text" name="lastname" placeholder="Last Name"/> 
    <br><br><input type="text" name="address" placeholder="Address"/><input type="text" name="unit" placeholder="Unit"/></br> 
    <br><input type="text" name="city" placeholder="City"/><select name="province" form="form1"> 
<option value="ab">AB</option> 
    <option value="BC">BC</option> 
    <option value="BC">MB</option> 
    <option value="NB">NB</option> 
<option value="NL">NL</option> 
<option value="NS">NS</option> 
<option value="ON">ON</option> 
<option value="PE">PE</option> 
<option value="QC">QC</option> 
<option value="SK">SK</option> 
</select><input type="text" name="postal" placeholder="Postal Code"/></br> 
<br><input type="text" name="country" placeholder="Country"/></br> 
<Br><input type="text" name="email" placeholder="Email"/><input type="number" name="phone" placeholder="Phone#"/></br> 
<br> <br><input type="submit" value="Next"/> 

PHP:通常私はちょうど体の終了タグの前にJSやPHPのコードを追加するfooter.phpを使用

<?php 

$name = $_POST['ffirstname']; 
$email = $_POST['lastname']; 
$message = $_POST['address']; 

$to = "[email protected]"; 
$subject = "My contact form"; 
$body = " You have received a new"; 
mail($to,$subject,$body); 

?> 

答えて

0

。しかし、それが動作しない場合はheader.phpを使ってみてください。おそらく、コードが最後の前に含まれる必要があるかもしれません。 問題なくページまたは投稿内に配置できるHTML部分。

あなたは、プラグインを使用したい場合は、簡単Contact form 7でそれを行うことができます。チュートリアル用

チェックherehere

UPDATE - WordpressのにPHPコードを追加する:

あなたはこの道を<?phpタグの間にコードを追加しますので、あなたのheader.phpfooter.phpまたはpage.phpを開き、タグ

<?php 

//PHP Code here 

?> 

内にコードを書くことができますあなたのサイトのすべてのWordpressページにこのコードが表示されます。

ヘッダーとフッターは常にすべてのページに含まれています。 あなただけがWordpressのページ内でPHPの配置を制御したい場合は、page templatesで見てpage.phppost.php

+0

私はコンタクト7またはその他のプラグインを使用したくない、私は非常に、特にテーブルをフォーマットすることができるようにしたいです。どのようにWordPressのヘッダーやフッターにPHPを置くのですか? –

+0

答えを更新します。 –

+0

どこで私はこれらのphpファイルをwordpressで正確に見つけることができますか?私はcpanelを通り、フォルダ内で見つけますか?もしそうなら、それはどこに置かれるでしょう。 –

0

ポストやページの使用でそれを必要とする場合。フォームとそれに対処するための必要なPHPを持ったフォームページテンプレートを作成し、それを与えられたURLに適用することができます。 /sign-up。そうすれば、フォームコードを各ページのheader.phpまたはfooter.phpまで乱雑にする必要はありません。

フォーム自体にpostを設定して、isset($_POST['field_name'])を使用してページがロードされたときにフォーム変数が設定されているかどうかを確認することができます。彼らが存在する場合は、フォームが投稿されたと見なすことができます。したがって、電子メールを送信する必要があります。存在しない場合は、フォームを表示する必要があると見なすことができます。

<?php if(isset($_POST['ffirstname'])){ 
    // Do some appropriate sanitization for your use case 
    $ffirstname = htmlspecialchars(trim($_POST['ffirstname'])); 
    //.. repeat for other fields, and then send email 
    // could drop out of php here and show a thank you message 
    ?> 
    <p>Thank you for submitting the form</p> 
    <?php 
} else { 
    // $_POST['ffirstname'] not set, so show form ?> 
    <form method="post" action=""> 
     <input type="text" name="ffirstname" /> 
     <input type="submit" value="Submit" /> 
    </form> 
<?php } ?> 

あなたはこのためにWordpressのにフックしたい場合は、それを行うには、その後一つの方法は、アクションと呼ばれる隠し入力を追加し、functions.phpファイル内の関数の名前に値を設定することです。あなたも、送信側の論理やメールを行うことができ機能にAjaxの提出を作るために、いくつかのJavaScriptを追加する必要があります:

例えばあなたのテーマで次に

// Form Page 
<form method="post" action="" id="emailForm"> 
    <input type="text" name="ffirstname" /> 
    <input type="hidden" name="action" value="sendEmail" /> 
    <input type="submit" value="Submit" /> 
</form> 

// Somewhere further down the same page as the form 
<script type="text/javascript"> 
    jQuery('#emailForm').on('submit', function() { 
     e.preventDefault(); 
     jQuery.ajax({ 
      type: 'POST', 
      url: '/wp-admin/admin-ajax.php', 
      data: jQuery('#emailForm').serialize(), 
      success: function(data) { 
       // Perhaps some UI update here to let the user know 
       // the submission was successful 
      }, 
      error: function(error) { 
       // Do something with the error 
      } 
     }); 
    }); 
</script> 

functions.phpファイル:

// Functions.php 
function sendEmail(){ 
    // Do some appropriate sanitization for your use case 
    $ffirstname = htmlspecialchars(trim($_POST['ffirstname'])); 
    //.. repeat for other fields as necessary, and then send email 
    return wp_mail($recipient, $subject, $body, $headers); 
} 
add_action('wp_ajax_sendEmail', 'sendEmail'); 
関連する問題