0

HTML と PHP に関して言えば、私は初心者のようなものです。とにかく、html フォームを作成し、オンラインで PHP メール スクリプトを取得し、PHP コードを編集して HTML と一致させました。フォームは実際に機能し、メールが送信されます。問題は、入力されたフォームの内容の一部が、私に送信された電子メールで空になることです。以下のコードでは、私が持っているフォームが次のとおりであることがわかります。

  • 名前
  • 住所
  • 電話
  • Eメール
  • 住居 (3 つの異なるオプションを持つ 3 つのラジオ ボタン)
  • 該当するテキスト フィールド

フォーム全体に入力して送信すると、電子メールを受け取ると、名前と電話番号だけが表示されます。

コードは次のとおりです。

HTML

<!DOCTYPE HTML>
<html>
<head>
<title>SpaceCommand - Order Now</title>
<link rel="icon" type="image/png" href="http://cdn.directv.com/images/common/favicon.ico">
<link rel="stylesheet" type="text/css" href="ostyle.css" />
</head>

<body>

<div id="top"></div>
<div id="st"><img src="dimages/nflst.png" width="1021" height="550"/></div>
<div id="Every">Every Sunday. Every Game.</div>
<div id="tbox"></div>
<div id="tbox_2"></div>

<div id="Every_2">NFL SUNDAY TICKET included</div>
<div id="Every_3">at no extra charge!</div>
<div id="Every_4">Only on DIRECTV.</div>

<div id="logo"><img src="dimages/logof.png" width="400" height="51" /></div>



<div id="stylized" class="myform">
<form id="form1" action="mail.php" method="POST">

    <label>Name
        <span class="small">Add your name</span>
    </label>
    <input type="text" name="name">


    <label>Address
        <span class="small">Enter your address</span>
    </label>
    <input type="text" name="address">


    <label>Phone
        <span class="small">Add a Phone Number</span>
    </label>
    <input type="text" name="phone">


    <label>Email
        <span class="small">Enter your email</span>
    </label>
    <input type="text" name="email">
 <br />



<label>Residence:
</label>
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />

<div id="radio">
    House<input type="radio" value="house" name="house">
</div>

<div id="radio2">
    Condo<input type="radio" value="condo" name="condo">
</div>

<div id="radio3">
    Apartment<input type="radio" value="apartment" name="apartment">
</div>
<br />
<br/>
    <label>If apartment or condo, do you have roof availability or a balcony facing south?
        <span class="small"><i>*if applicable</i></span>
    </label>
    <br />
    <br />
    <input type="text" name="applicable">

<br />
<br />
<br />
<br />

    <button type="submit" value="Send" style="margin-top:15px;">Submit</button>
    <div class="spacer"></div>

</div>
</form>

<div id="ont">
<img src="dpimages/ont.png" />
</div>

</body>
</html>

PHP

<?php
//Cusomer Name
$name = $_POST['name'];
//Address
$address = $_POST['address'];
//Phone
$phone = $_POST['phone'];
//Email
$email = $_POST['email'];
//Residence
$residence = $_POST['residence'];
//Residence Type
$house = $_POST['house'];
$condo = $_POST['condo'];
$apartment = $_POST['apartment'];
//Applicable 
$applicable = $_POST['applicable'];

//Contetnt
$formcontent= "Customer Name: $name \n Address: $address \n Phone Number: $phone \n Email: $email \n Residence: $residence $house $condo $apartment \n Do they have roof access or a baclony facing south? (if applicable): $applicable";
$recipient = "gizmo@themvnt.com";
$subject = "DIRECTV Order - SpaceCommand";
$mailheader = "From: $email \r\n";
mail($recipient, $subject, $formcontent, $mailheader) or die("Error!");
echo "Thank You for contacting us. We'll get back to you as soon as possible." . " -" . "<a href='order.html' style='text-decoration:none;color:#ff0099;'> Return to SpaceCommand</a>";
?>

皆さんが私のためにコードを修正できれば、それは大歓迎です.

編集:var_dump($_POST)結果。

Array ( [name] => Test Name 
[Address] => Test Address 
[phone] => Tes Phome 
[Email] => Test Email 
[call] => House 
[Applicable] => 
Test ) Thank You for contacting us. We'll get back to you as soon as possible. - Return to SpaceCommand 
4

2 に答える 2

0

3 つを同時に選択できるようにする場合を除き、ラジオ ボタンには 3 つの同じ名前を付ける必要があります。

これも試してみてください

$formcontent= "Customer Name: {$name} \n Address: {$address} \n Phone Number: {$phone} \n Email: {$email} \n Residence: {$residence} $house {$condo} {$apartment} \n Do they have roof access or a baclony facing south? (if applicable): {$applicable}";

フォームをテストしたところ、すべての値が正しく渡されています。

于 2012-08-30T00:35:10.483 に答える
-1

$ _POSTキーの大文字と小文字は、コードの大文字とは異なります。

つまり、投稿ではEメールとして表示されますが、$ _POST['Email']ではなく$_POST['email']としてアクセスしています。

ただし、これは元の質問に投稿したhtmlコードとは一致しません。質問のhtmlコードが実行しているものと同じであると確信していますか?

[コメントでうまく印刷されなかった更新:] phpコードを印刷した結果に基づくと、次のようになります。

//Cusomer Name
$name = $_POST['name'];
//Address
$address = $_POST['Address'];
//Phone
$phone = $_POST['phone'];
//Email
$email = $_POST['Email'];
//Applicable 
$applicable = $_POST['Applicable'];
于 2012-08-30T01:00:20.330 に答える