0

メールを送信するために必要なのは非常に基本的でシンプルなフォームだけですが、機能していないようで、理由がわかりません。私はコードがあまり進んでおらず、おそらく「醜い」ように見えることを知っていますが、それは私が「必要とする」ためにそれを行うでしょう

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

    $full_name = $_POST['fullName'];
    $phone = $_POST['phoneNumber'];
    $adMessage = $_POST['emailMessage'];

    //send email
    $to = "info@lalalalala.co.uk";
    $from = $_POST['emailAddress'];
    $subject = $_POST['emailSubject'];

    $message = "Full name: " . $full_name . "\n";
    $message .= "Phone number: " . $phone . "\n";
    $message .= "Email Address: " . $from . "\n";
    $message .= "Additional Message: " . $adMessage;


    $headers = "From:" . $full_name;
    mail($to, $subject, $message, $headers);
}

HTML

<form action='' method='post'>

    <fieldset><label id="fullName">Full Name</label>
    <input type="text" name="fullName" value="Please Enter Your Full Name" onclick="this.value=''"  /></fieldset>

    <fieldset><label id="emailAddress">Email Address</label>
    <input type="text" name="emailAddress" value="Please Enter Your Email Address" onclick="this.value=''"  /></fieldset>

    <fieldset><label id="phoneNumber">Phone Number</label>
    <input type="text" name="phoneNumber" value="Please Enter Your Phone Number" onclick="this.value=''"  /></fieldset>

    <fieldset><label id="emailSubject">Email Subject</label>
    <input type="text" name="emailSubject" value="Please Enter Email Subject" onclick="this.value=''"  /></fieldset>

    <fieldset><label id="emailMessage">Your Message</label>
    <textarea cols="10" rows="20" name="emailMessage" onclick="this.value=''" >Please Enter Your Message</textarea></fieldset>

    <fieldset><input type="image" src="images/submit.png" id="submit" onclick="show_alert();" /></fieldset>
</form>

ありがとうございました :)

4

3 に答える 3

0

変化する

if (isset($_POST['email']))

if($_SERVER['REQUEST_METHOD'] == 'POST')

フォームには-という名前の要素がないため、そのブロックemailに入ることがありません。if置換は、要求メソッドがPOSTフォームであるかどうかをチェックします。

于 2012-07-26T12:36:47.300 に答える
0

。という名前の入力を設定していませんemail。最初の条件はtrueと評価されないため、以降のすべてをスキップします。

于 2012-07-26T12:36:55.980 に答える
0

あなたの状態で使用しているEメールinput fieldという名前のフォームには何も表示されません。

if (isset($_POST['email'])){....}

emailAddressという名前のフィールドがあるので、次を使用します。

if (isset($_POST['emailAddress'])){....}

お役に立てれば。

于 2012-07-26T12:37:11.580 に答える