2016-07-13 12 views
0

こんにちは皆、ここに新しい連絡先が追加されたときに電子メールを送信するフォームがあります。電子メールの空白値

すべて動作します。ユーザーがデータベースに追加されると、電子メールは送信されますが、電子メールは空白になります。

例:スタッフ: 拡張子: メール: 携帯電話:

IVは周りにいくつかの方法を試してみましたが、メールは常に可能であれば、誰かがこれを助けることができる空白になっていますか?

私のコード:あなたはそれが依存する変数を宣言する前に

mail($to,$subject,$message,$headers); 

<?php 
    require_once"connection.php"; 
?> 
<?php 
if (isset($_POST['submit'])) { 

$to = "[email protected]????"; 
$from = "[email protected]???"; 
$subject = "New Staff Added To Extension List"; 
$message = "New Staff: " . "\n\n" . "Name : " . $name . " " . "\n\n" . "Email: " . $email . " " . "\n\n" . "Department: " . $department . " " . "\n\n" . "Extension: " . $extension . " " . "\n\n" . "Cellphone: " . $ 
$headers = "From:" . $from; 
mail($to,$subject,$message,$headers); 
} 
?> 
<!DOCTYPE html> 
<html> 
<head> 
    <?php include"includes/head.inc"; ?> 
    <script>tinymce.init({selector:'textarea'});</script> 
</head> 
<body> 
    <div class="wrapper"> 

      <!-- header section --> 
      <div class="header"> 
        <div class="headerContent"><h1>CONTACT LIST</h1></div> 
      </div> 

      <!-- content section --> 
      <div class="content"> 
      <div><h1>Create New Contact</h1></div> 
        <hr> 
        <div class="contact"> 
          <div class="contact_insert"> 
            <form action="insert_contact.php" method="post"> 
              <table style="float:left" width="50%"> 
                <tr> 
                  <td>Name:</td> 
                  <td><input type="text" name="name" placeholder="name" size="40%"></td> 
                </tr> 
                <tr> 
                  <td>Email:</td> 
                  <td><input type="text" name="email" placeholder="email" size="40%"></td> 
                </tr> 
                <tr> 
                  <td>Department:</td> 
                  <td><input type="text" name="department" placeholder="department" size="40%"></td> 
</tr> 
<tr> 
<td>Extension Number:</td> 
<td><input type="text" name="extension" placeholder="extension" size="40%"></td> 
                </tr> 
                <tr> 
                  <td>Cellphone:</td> 
                  <td><input type="text" name="cellphone" placeholder="cellphone" size="40%"></td> 
                </tr> 
              </table> 
              <div class="clear"></div> 
              <input class="insert_contact_button" type="submit" name="submit" value="Insert Contact"> 
              <a href="index.php"><input class="cancel_contact_button" type="button" value="Cancel"></a> 
            </form> 
          </div> 
          <div class="clear"></div> 
        </div> 
      </div> 
</body> 
</html>   
<?php 
if (isset($_POST['submit'])) { 

      $name = $_POST['name']; 
      $email = $_POST['email']; 
      $department = $_POST['department']; 
      $extension = $_POST['extension']; 
      $cellphone = $_POST['cellphone']; 

       $insert_contact = "insert into contacts (name, email, department, extension, cellphone) values ('$name', '$email', '$department', '$extension', '$cellphone')"; 

      $sql_insert_contact = $conn->query($insert_contact); 

      if ($sql_insert_contact == true) { 
        header("Location: index.php"); 
      } 
    } 
?> 
+0

コードで後で値を設定する変数にアクセスしようとしていますが、それを見つけることはできますか? – FirstOne

+0

コードを上から取り出し、挿入後(リダイレクト前)に入れてみてください – FirstOne

+0

ありがとうございます – 5ilent

答えて

2

問題は、あなたがこの行を実行することです。以降のみのコードで、あなたがそれらを

$name = $_POST['name']; 
$email = $_POST['email']; 
$department = $_POST['department']; 
... 

を設定するのですmail機能以下

if(isset($_POST['submit'])): 
    $name = $_POST['name']; 
    ... 
    mail(...); 
endif; 
+1

サイドノート:フォームを送信することは、必要なすべての入力が満たされていることを保証するものではありません。 – FirstOne

+0

そして、「正しい」アイデアは、 'insert'が動作すれば電子メールだけを送ることです。そうでなければ、現実には対応しない電子メールを受け取るかもしれません。 – FirstOne

+1

あなたは正しいです。 (例えば、電子メールと電話番号の検証、準備されたステートメントの使用、ボットの投稿のフィルタリング...)、これは何が間違っていたかには関係ありません。私は簡単な答えを書こうとしましたが、なぜ彼のスクリプトがうまくいかなかったのかを質問者が知るのに十分な情報を与えました。あなたが気づいていない人のために、これらを指摘することは良いことです。 – BeetleJuice

0

はあなたのコードがあり

$message = "New Staff: " . "\n\n" . "Name : " . $name . " " . "\n\n" . "Email: " . $email . " " . "\n\n" . "Department: " . $department . " " . "\n\n" . "Extension: " . $extension . " " . "\n\n" . "Cellphone: " . $ 

される前には、上にそれらを宣言しても大丈夫です最後に$シンボル。私はそれが誤りだと思う。

$message = "New Staff: " . "\n\n" . "Name : " . $name . " " . "\n\n" . "Email: " . $email . " " . "\n\n" . "Department: " . $department . " " . "\n\n" . "Extension: " . $extension . " " . "\n\n" . "Cellphone: " . $Your_value_if_any; 

重要な注意としてそれを書き換えてください: SQLの後にあなたの電子メールコードを追加します。 $name$emailなどの多くの変数に割り当てられる値はありません。

+1

それ以外にも、オペレーションは読み込みポイントに値を持っていない変数を読み込もうとしています。 – FirstOne

+0

@FirstOne、そうです。私はそれを追加することを忘れます。私に気づかれてくれてありがとう – Arun

0

私は上記のコードを作成しています。それは完璧に動作しています。これを確認してください。

if (isset($_POST['submit'])) { 

    $name = $_POST['name']; 
    $insert_contact = "insert into name (name) values ('$name')"; 
    $sql_insert_contact = $conn->query($insert_contact); 

    $to = "To email"; 
    $from = "From Email"; 
    $subject = "New Staff Added To Extension List"; 
    $message = "New Staff: " . "\n\n" . "Name : " . $name; 
    $headers = "From:" . $from; 

    mail($to,$subject,$message,$headers); 

    header("Location: index.php"); 
} 
関連する問題