0

フォームを送信すると、フォームに詳細が入力されたメールが自分のメール アドレスに送信されますが、メールを受信すると、データが空白で、ここにコードがあります

    <?php
$form = '<form action="test2.php" method="POST">
<table width="300" style="border: 1px solid black;">
<tr>
<td>Name         &nbsp; <td><input type="text" id="name">
<tr>
<td>Phone Number &nbsp; <td><input type="text" id="telephone">
<tr>
<td colspan="2">
<input type="submit" name="submit" value="submit"/></div>
</tr>
</table>';

echo $form;
$to = 'redacted@redacted.redacted';
$name = $_POST['name'];
$telephone = $_POST['telephone'];

$body = "<div>Name: $name <br>Telephone Number: $telephone<br></div>";


// subject
$subject = 'Call Back Requested';


// message
$message = $body;


// To send HTML mail, the Content-type header must be set
$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";


// Additional headers
$headers .= 'To:' . "\r\n";
$headers .= 'From: Call Back Request <contact-us-form@yellowgrid.co.uk>' . "\r\n";

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

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

?>

問題は、フォームを送信すると、次のようなメールが届くことです

お名前(なし) 電話番号(なし)

誰が私が間違っているのか教えてもらえますか

前もって感謝します

アダム

4

3 に答える 3

3

name入力の属性を指定する必要があります。

<input type="text" id="name" name="name">
<input type="text" id="telephone" name="telephone">

それ以外の

<input type="text" id="name">
<input type="text" id="telephone">
于 2012-10-30T17:04:34.417 に答える
0

ざっと見た直後に、 $body を read に交換する必要があります

$body = '<div>Name: ' . $name . '<br>Telephone Number: ' . $telephone . '<br></div>';

それを試してみて、それが機能するかどうかを確認してください

于 2012-10-30T17:06:11.373 に答える
0

タグを閉じるのに多くの間違いがあります..そして、エコーを使用してHTMLフォーム全体を表示するという悪い習慣..次のコードをチェックしてください:

<?php

    extract($_POST);

    if ( isset($submit) )
    {
        $to = 'adam.albison@yellowgrid.co.uk';

        $body = "<div>Name: $name <br>Telephone Number: $telephone<br></div>";
        $subject = 'Call Back Requested';
        $message = $body;

        $headers  = 'MIME-Version: 1.0' . "\r\n";
        $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
        $headers .= 'To:' . "\r\n";
        $headers .= 'From: Call Back Request <contact-us-form@yellowgrid.co.uk>' . "\r\n";

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

?>

<html>
    <form action="test2.php" method="POST">
        <table width="300" style="border: 1px solid black;">
            <tr> 
                <td>Name &nbsp; </td>
                <td> <input type="text" id="name" name="name" /> </td>
            </tr>
            <tr>
                <td>Phone Number &nbsp; </td>
                <td> <input type="text" id="telephone" name="telephone" /> </td>
            </tr>
            <tr>
                <td colspan="2"> <input type="submit" name="submit" value="submit"/> </td>
            </tr>
    </form>
</html>
于 2012-10-30T17:19:04.810 に答える